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

Sprout from master 2003-07-16 21:33:31 UTC Darin Wright <darin> 'bug 40122 - NPE in TextEditorSelection.remove'
Delete:
    org.eclipse.debug.core/.classpath
    org.eclipse.debug.core/.cvsignore
    org.eclipse.debug.core/.options
    org.eclipse.debug.core/.project
    org.eclipse.debug.core/about.html
    org.eclipse.debug.core/build.properties
    org.eclipse.debug.core/buildnotes_platform-debug.html
    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/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/ILaunchesListener.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/IBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.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/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/ILaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.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/IStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.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/LineBreakpoint.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/variables/DefaultVariableExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ExpandVariableContext.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IContextLaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableInitializer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ISimpleLaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IVariableExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/LaunchVariableUtil.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/variables/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/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/ListenerList.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitorJob.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IContextVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableContext.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IValueVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerNameExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariableRegistry.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectNameExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/RefreshLaunchVariableRegistry.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceNameExpander.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariableRegistry.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceExpander.java
    org.eclipse.debug.core/doc/org_eclipse_debug_core.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_contextLaunchVariables.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationComparators.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationTypes.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launchDelegates.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launchModes.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_launchers.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_refreshLaunchVariables.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_simpleLaunchVariables.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceLocators.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_statusHandlers.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_changes.html
    org.eclipse.debug.core/schema/breakpoints.exsd
    org.eclipse.debug.core/schema/contextLaunchVariables.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/refreshLaunchVariables.exsd
    org.eclipse.debug.core/schema/simpleLaunchVariables.exsd
    org.eclipse.debug.core/schema/sourceLocators.exsd
    org.eclipse.debug.core/schema/statusHandlers.exsd
    org.eclipse.debug.core/scripts/exportplugin.xml
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.options
    org.eclipse.ui.externaltools/.project
    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/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/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/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/model/StringMatcher.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/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsContentProvider.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/MessageDialogWithToggle.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/BuildTypeExpander.java
    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/ctool16/external_tools.gif
    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
diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath
deleted file mode 100644
index 9760a44..0000000
--- a/org.eclipse.debug.core/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="core/"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/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 a3e35f6..0000000
--- a/org.eclipse.debug.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.debug.core/debug=true
\ 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 695da9c..0000000
--- a/org.eclipse.debug.core/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.debug.core</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.apache.xerces</project>
-		<project>org.eclipse.core.resources</project>
-	</projects>
-	<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/about.html b/org.eclipse.debug.core/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.debug.core/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties
deleted file mode 100644
index 5dea929..0000000
--- a/org.eclipse.debug.core/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-source.dtcore.jar = 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 4bf3d86..0000000
--- a/org.eclipse.debug.core/buildnotes_platform-debug.html
+++ /dev/null
@@ -1,208 +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>
-July , 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>
-
-<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 assocaited 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/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
deleted file mode 100644
index 557572d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 {
-	
-	/**
-	 * 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 3.0
-	 */
-	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 3.0
-	 */
-	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.getString("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.getString("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 3.0
-	 */
-	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 3.0
-	 */
-	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 4c6b74b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 {	
-	/**
-	 * 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 70fc36e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-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.IPluginDescriptor;
-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.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.variables.ILaunchVariableManager;
-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.RuntimeProcess;
-import org.eclipse.debug.internal.core.variables.LaunchVariableManager;
-
-/**
- * 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>debug event notification</li>
- * <li>status handlers</li>
- * </ul>
- * <p>
- * Clients may not instantiate or subclass this class.
- * </p>
- */
-public class DebugPlugin extends Plugin {
-
-	/**
-	 * 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>"simpleLaunchVariables"</code>) for the
-	 * simple launch variables extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_SIMPLE_LAUNCH_VARIABLES= "simpleLaunchVariables"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"contextLaunchVariables"</code>) for the
-	 * context launch variables extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_CONTEXT_LAUNCH_VARIABLES = "contextLaunchVariables"; //$NON-NLS-1$
-	/**
-	 * Simple identifier constant (value <code>"refreshLaunchVariables"</code>) for the
-	 * refresh launch variables extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_REFRESH_LAUNCH_VARIABLES = "refreshLaunchVariables"; //$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 Boolean indicating whether the program
-	 * should be relaunched with the default working directory.
-	 * </p>
-	 */
-	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115;
-	
-	/**
-	 * 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 launch variable manager.
-	 */
-	private ILaunchVariableManager fLaunchVariableManager;
-
-	/**
-	 * 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;
-	
-	/**
-	 * 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;
-	
-	/**
-	 * Mode constants for the event notifier
-	 */
-	private static final int NOTIFY_FILTERS = 0;
-	private static final int NOTIFY_EVENTS = 1;
-	
-			
-	/**
-	 * 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() {
-		if (getDefault() == null) {
-			// If the default instance is not yet initialized,
-			// return a static identifier. This identifier must
-			// match the plugin id defined in plugin.xml
-			return "org.eclipse.debug.core"; //$NON-NLS-1$
-		}
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	/**
-	 * 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>
-	 * 
-	 * @param pluginDescriptor the plug-in descriptor for the
-	 *   debug plug-in
-	 */
-	public DebugPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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;
-		getEventNotifier().dispatch(events);
-	}
-	
-	/**
-	 * 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) {
-		if (fRunnables == null) {
-			// initialize runnables and async job
-			fRunnables= new Vector(10);
-			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 launch variable manager
-	 * 
-	 * @return the launch variable manager
-	 */
-	public ILaunchVariableManager getLaunchVariableManager() {
-		if (fLaunchVariableManager == null) {
-			fLaunchVariableManager= new LaunchVariableManager();
-		}
-		return fLaunchVariableManager;
-	}
-	
-	/**
-	 * 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) {
-			try {
-				initializeStatusHandlers();
-			} catch (CoreException exception) {
-				log(exception);
-				return null;
-			}
-		}
-		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;
-				} else {
-					invalidStatusHandler(null, MessageFormat.format(DebugCoreMessages.getString("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);
-		}
-	}	
-
-	/**
-	 * Shuts down this debug plug-in and discards all plug-in state.
-	 * <p> 
-	 * This method will be automatically invoked by the platform when
-	 * the platform is shut down.
-	 * </p>
-	 * <b>Clients must never explicitly call this method.</b>
-	 *
-	 * @exception CoreException if this plug-in fails to shut down
-	 */
-	public void shutdown() throws CoreException {
-		setShuttingDown(true);
-		super.shutdown();
-		if (fAsynchJob != null) {
-			fAsynchJob.cancel();
-		}
-		if (fLaunchManager != null) {
-			fLaunchManager.shutdown();
-		}
-		if (fBreakpointManager != null) {
-			fBreakpointManager.shutdown();
-		}
-		if (fEventListeners != null) {
-			fEventListeners.removeAll();
-		}
-		setDefault(null);
-		ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
-	}
-	
-	/**
-	 * 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.
-	 *
-	 * @param launch the launch the process is conatined in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @return the process
-	 * @see IProcess
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label) {
-		return new RuntimeProcess(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.
-	 *
-	 * @param launch the launch the process is conatined in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param initial values for the attribute map
-	 * @return the process
-	 * @see IProcess
-	 * @since 2.1
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) {
-		return new RuntimeProcess(launch, process, label, attributes);
-	}	
-	
-	/**
-	 * 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.getString("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.getString("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.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private void initializeStatusHandlers() throws CoreException {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(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$
-			}
-		}			
-	}
-	
-	private void invalidStatusHandler(Exception e, String id) {
-		log(new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(), INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("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.getString("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 (fRunnables) {
-				v = fRunnables;
-				fRunnables = new Vector(5);
-			}
-			monitor.beginTask(DebugCoreMessages.getString("DebugPlugin.Debug_async_queue_1"), v.size()); //$NON-NLS-1$
-			Iterator iter = v.iterator();
-			while (iter.hasNext() && !fShuttingDown) {
-				if (monitor.isCanceled()) {
-					break;
-				}
-				Runnable r = (Runnable)iter.next();
-				try {
-					r.run();
-				} catch (Throwable t) {
-					log(t);
-				}
-				monitor.worked(1);
-			}
-			return Status.OK_STATUS;
-		}
-
-	}
-		
-	/**
-	 * Returns an event notifier.
-	 * 
-	 * @return an event notifier
-	 */
-	private EventNotifier getEventNotifier() {
-		return new EventNotifier();
-	}
-	
-	/**
-	 * 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.getString("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.getString("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 occurrs 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;			
-		}
-
-	}
-	
-}
-
-
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 050ac29..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 169a0f4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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);	
-	
-}
-
-
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 7879b01..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 8654fa1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 7b56fed..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 13a1e91..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 4575dfa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * 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);	
-		
-	/**
-	 * 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);	
-	
-}
-
-
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 d1039fa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 d7b8f4f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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
- */
-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 5d5984b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.
- * </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.
-	 * A new launch object is created and registered with the launch manager
-	 * before passing it to this configuration's delegate for contributions
-	 * (debug targets and processes).
-	 * 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).
-	 * 
-	 * @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>
-	 * @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;
-	
-	/**
-	 * Returns whether this 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 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.
-	 * 
-	 * @return the name of this launch configuration
-	 */
-	public String getName();
-		
-	/**
-	 * Returns the location of this launch configuration as a
-	 * path.
-	 * 
-	 * @return the location of this launch configuration as a
-	 *  path
-	 */
-	public IPath getLocation();
-	
-	/**
-	 * Returns whether this launch configuration's underlying
-	 * storage exists.
-	 * 
-	 * @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.
-	 * 
-	 * @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.
-	 * 
-	 * @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.
-	 * 
-	 * @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.
-	 * 
-	 * @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.
-	 * 
-	 * @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.
-	 *
-	 * @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 371b0c0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.
-	 * 
-	 * @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 cab83f9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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;
-
-/**
- * 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;
- *   &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>
- * </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);	
-		
-}
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 83286a0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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
-	 * @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
-	 * @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
-	 * @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
-	 * @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
-	 * @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
-	 * @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 5faa720..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 ff5ccfb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-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;
-
-/**
- * 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$	
-	
-	/**
-	 * 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 String[] getLaunchModes();
-	
-	/**
-	 * Returns the label for the given launch mode.
-	 * 
-	 * @param mode mode identifier
-	 * @return a label for the given launch mode
-	 * @since 3.0
-	 */
-	public String getLaunchModeLabel(String mode);	
-}
-
-
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 1e5b981..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
deleted file mode 100644
index fd7af0b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 c9bd1b7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 8a65274..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-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.
- * Many of the methods in this class that are part of the <code>ILaunch</code> interface 
- * are final. Clients that subclass this class are not intended to change the behavior
- * or implementation of the provided methods. Subclassing is only intended
- * to add additional information to a specific launch. For example, a client that
- * implements a launch object representing a Java launch might store a classpath
- * with the launch.
- * </p>
- * @see ILaunch
- * @see ILaunchManager
- */
-
-public class Launch extends PlatformObject implements ILaunch, IDisconnect {
-	
-	/**
-	 * 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;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public final 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 final Object[] getChildren() {
-		ArrayList children = new ArrayList(getDebugTargets0());
-		children.addAll(getProcesses0());
-		return children.toArray();
-	}
-
-	/**
-	 * @see ILaunch#getDebugTarget()
-	 */
-	public final 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 final 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 final ISourceLocator getSourceLocator() {
-		return fLocator;
-	}
-	
-	/**
-	 * @see ILaunch#setSourceLocator(ISourceLocator)
-	 */
-	public final void setSourceLocator(ISourceLocator sourceLocator) {
-		fLocator = sourceLocator;
-	}	
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public final 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 final void terminate() throws DebugException {
-		MultiStatus status= 
-			new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.getString("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]);
-		} else {
-			throw new DebugException(status);
-		}
-	}
-
-	/**
-	 * @see ILaunch#getLaunchMode()
-	 */
-	public final 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 final void addDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (!getDebugTargets0().contains(target)) {
-				getDebugTargets0().add(target);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeDebugTarget(IDebugTarget)
-	 */
-	public final void removeDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (getDebugTargets0().remove(target)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * @see ILaunch#addProcess(IProcess)
-	 */
-	public final void addProcess(IProcess process) {
-		if (process != null) {
-			if (!getProcesses0().contains(process)) {
-				getProcesses0().add(process);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeProcess(IProcess)
-	 */
-	public final 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)DebugPlugin.getDefault().getLaunchManager()).fireUpdate(this, LaunchManager.CHANGED);
-			((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.CHANGED);
-		}
-	}
-
-	/**
-	 * @see ILaunch#hasChildren()
-	 */
-	public boolean hasChildren() {
-		return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
-	public boolean canDisconnect() {
-		if (getDebugTargets0().size() == 1) {
-			return getDebugTarget().canDisconnect();
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
-	public void disconnect() throws DebugException {
-		if (getDebugTargets0().size() == 1) {
-			getDebugTarget().disconnect();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
-	public boolean isDisconnected() {
-		if (getDebugTargets0().size() == 1) {
-			getDebugTarget().isDisconnected();
-		}
-		return false;
-	}
-
-}
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 fe564da..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.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.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 {
-				
-	/**
-	 * 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 {
-		return getMarker().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, 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, 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, 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, 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, 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.getString("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());
-	}
-}
-
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 55f62cc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.breakpoint"</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 persist 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 de85d11..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
deleted file mode 100644
index d1e8db1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 f4eaf1a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
deleted file mode 100644
index 4dd4bc2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 experssion 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 e3aca39..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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
- */
-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 3999f63..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
deleted file mode 100644
index 7075565..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
deleted file mode 100644
index 0f53692..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
deleted file mode 100644
index 54d248c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.
- * 
- * @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/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
deleted file mode 100644
index 3efcb1a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
deleted file mode 100644
index 83f651d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 4ec6996..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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$		
-
-	/**
-	 * 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 6a2161b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.
- * 
- * @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 8c54c03..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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. 
- * 
- * @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 64de705..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 430c58d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 8cfe34d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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>
- * Clients may implement this interface.
- * </p>
- */
-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/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
deleted file mode 100644
index 5051a80..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 b2f53f7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
deleted file mode 100644
index e45952c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 bf8a445..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 a737419..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 ef16707..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 d04c5eb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 b67cbdc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 230435f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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. 
- * 
- * @since 3.0
- */
-public interface IWatchExpression extends IExpression {
-	
-	/**
-	 * 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 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 launch (<code>ILaunch</code>)</li>
-	 * <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(Object context);
-
-}
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 c43f355..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 236b565..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,97 +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 any implementations 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>
-
-<h5>Persistence</h5>
-
-<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>
-
-<h5>Change Notification</h5>
-
-<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>
-
-</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 d1a8b99..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,64 +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 any implementations 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 maintains 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 must
- 	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
- such that clients may define launch configurations specific to their debug architecture.
- A launch configuration is simply a set of attributes describing how to launch a program.
- The actual launching of an application is performed
- by an associated implementation of a launch configuration delegate, which is specifed 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>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/DefaultVariableExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/DefaultVariableExpander.java
deleted file mode 100644
index 1c8e2c6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/DefaultVariableExpander.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-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.internal.core.DebugCoreMessages;
-
-/**
- * Default variable expander implementation. Does nothing.
- * <p>
- * Clients implementing variable expanders should extend this class.
- * </p>
- * @since 3.0
- */
-public class DefaultVariableExpander implements IVariableExpander {
-
-	private static DefaultVariableExpander instance;
-
-	public static DefaultVariableExpander getDefault() {
-		if (instance == null) {
-			instance= new DefaultVariableExpander();
-		}
-		return instance;
-	}
-
-	/**
-	 * @see IVariableExpander#getResources(String, String, ExpandVariableContext)
-	 */
-	public IResource[] getResources(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		throwExpansionException(varTag, MessageFormat.format(DebugCoreMessages.getString("DefaultVariableExpander.0"), new String[] {varTag})); //$NON-NLS-1$
-		return null;
-	}
-
-	/**
-	 * @see IVariableExpander#getText(String, String, ExpandVariableContext)
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		throwExpansionException(varTag, MessageFormat.format(DebugCoreMessages.getString("DefaultVariableExpander.0"), new String[] {varTag})); //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Utility method which throws an exception that occurred for the given reason
-	 * while expanding the given variable tag.
-	 */
-	public static void throwExpansionException(String varTag, String reason) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, MessageFormat.format(DebugCoreMessages.getString("DefaultVariableExpander.2"), new String[] {varTag, reason}), null)); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ExpandVariableContext.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ExpandVariableContext.java
deleted file mode 100644
index 90c5163..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ExpandVariableContext.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Represents the context in which a variable will be expanded.
- * 
- * @since 3.0
- */
-public class ExpandVariableContext {
-	
-	private IResource selectedResource = null;
-	
-	/**
-	 * Create a context for a launch configuration running
-	 * with the given resource selected.
-	 * 
-	 * @param selectedResource the <code>IResource</code> selected
-	 * 		or <code>null</code> if none.
-	 */
-	public ExpandVariableContext(IResource selectedResource) {
-		super();
-		if (selectedResource != null) {
-			this.selectedResource = selectedResource;
-		}
-	}
-	
-	/**
-	 * Returns the resource selected at the time the tool
-	 * is run, or <code>null</code> if none selected.
-	 * 
-	 * @return the <code>IResource</code> selected, or <code>null</code> if none
-	 */
-	public IResource getSelectedResource() {
-		return selectedResource;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IContextLaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IContextLaunchVariable.java
deleted file mode 100644
index 87f4398..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IContextLaunchVariable.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-/**
- * A variable whose value is calculated dynamically by an expander.
- * The expander is given a resource context in which to expand
- * the variable, typically the resource selected in the UI.
- * Plug-ins that wish to contribute variables may do so using
- * the <code>org.eclipse.debug.core.contextLaunchVariables</code>
- * extension point.
- * <p>
- * Extenders must provide a name, expander class and description
- * for the variable.. The expander class, which must implement
- * <code>org.eclipse.debug.core.variables.IVariableExpander</code>,
- * will be queried to compute the variable's value.
- * <p>
- * For example, the following is a definition of a context launch variable that
- * expands to the name of the selected resource.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.contextLaunchVariables"&gt;
- *   &lt;variable 
- *      name="resource_name"
- *      expanderClass="com.example.ResourceNameExpander"
- *      description="The name of the selected resource"
- *   &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IContextLaunchVariable extends ILaunchVariable {
-	/**
-	 * Returns the object that can expand this variable.
-	 * 
-	 * @return variable expander
-	 */
-	public IVariableExpander getExpander();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariable.java
deleted file mode 100644
index 59f6321..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-/**
- * The common variable interface shared by <code>ISimpleLaunchVariable</code>s
- * and <code>IContextLaunchVariable</code>s.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * should implement either <code>IContextLaunchVariable</code> or
- * <code>ISimpleLaunchVariable</code>.
- * </p>
- * @since 3.0
- */
-public interface ILaunchVariable {
-	/**
-	 * Returns this variable's name.
-	 * 
-	 * @return variable name
-	 */
-	public String getName();
-
-	/**
-	 * Returns this variable's description.
-	 * 
-	 * @return variable description
-	 */
-	public String getDescription();
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableInitializer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableInitializer.java
deleted file mode 100644
index a5fa582..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableInitializer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-/**
- * Launch variable initializers compute an initial value for a simple launch
- * 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 launch variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.variables.ISimpleLaunchVariable
- * @since 3.0
- */
-public interface ILaunchVariableInitializer {
-	/**
-	 * Runs this initializer and returns the computed value.
-	 * 
-	 * @return the variable value computed by this initializer
-	 */
-	public String getText();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableManager.java
deleted file mode 100644
index cfccb42..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ILaunchVariableManager.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-/**
- * The launch variable manager provides access to registered simple,
- * context, and refresh launch variables. Simple variables are loaded
- * via extensions, added programatically, and persisted in the preferences.
- * Context and refresh variables are loaded via extensions.
- * <p>
- * The singleton instance of the launch variable manager is accessible
- * from <code>org.eclipse.debug.core.DebugPlugin</code>.
- * <p>
- * Clients are not intended to implement this interface.
- * <p>
- * @since 3.0
- * @see org.eclipse.debug.core.variables.ISimpleLaunchVariable
- * @see org.eclipse.debug.core.variables.IContextLaunchVariable
- */
-public interface ILaunchVariableManager {
-	
-	/**
-	 * Variable that expands to the absolute path on the system's hard drive
-	 * to the workspace directory (value <code>workspace_loc</code>).
-	 */
-	public static final String VAR_WORKSPACE_LOC = "workspace_loc"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the absolute path on the system's hard drive
-	 * to a project's directory (value <code>project_loc</code>).
-	 */
-	public static final String VAR_PROJECT_LOC = "project_loc"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the full path, relative to the workspace root,
-	 * of a project (value <code>project_path</code>).
-	 */
-	public static final String VAR_PROJECT_PATH = "project_path"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the name of a project (value <code>project_name</code>).
-	 */
-	public static final String VAR_PROJECT_NAME = "project_name"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the absolute path on the system's hard drive
-	 * to a resource's location (value <code>resource_loc</code>).
-	 */
-	public static final String VAR_RESOURCE_LOC = "resource_loc"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the full path, relative to the workspace root,
-	 * of a resource (value <code>resource_path</code>).
-	 */
-	public static final String VAR_RESOURCE_PATH = "resource_path"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the name of a resource (value <code>resource_name</code>).
-	 */
-	public static final String VAR_RESOURCE_NAME = "resource_name"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the absolute path on the system's hard drive
-	 * to a resource's containing directory (value <code>container_loc</code>).
-	 */
-	public static final String VAR_CONTAINER_LOC = "container_loc"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the full path, relative to the workspace root,
-	 * of a resource's parent (value <code>container_path</code>).
-	 */
-	public static final String VAR_CONTAINER_PATH = "container_path"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the name of a resource's parent (value <code>container_name</code>).
-	 */
-	public static final String VAR_CONTAINER_NAME = "container_name"; //$NON-NLS-1$
-		
-	/**
-	 * Returns the context variable with the given name or <code>null</code>
-	 * if no such variable exists. If multiple context variables with the given name
-	 * have been added to this registry, returns the most recently added variable
-	 * with that name.
-	 * 
-	 * @param name the name of the context variable
-	 * @return the context launch configuration variable with the given name or
-	 * <code>null</code> if no such variable exists.
-	 */
-	public IContextLaunchVariable getContextVariable(String name);
-	/**
-	 * Returns all the context variables in the registry.
-	 * 
-	 * @return the context launch variables in this registry
-	 */
-	public IContextLaunchVariable[] getContextVariables();
-	/**
-	 * Returns the refresh variable with the given name or <code>null</code>
-	 * if no such variable exists. If multiple refresh variables with the given name
-	 * have been added to this registry, returns the most recently added variable
-	 * with that name.
-	 * 
-	 * @param name the name of the refresh variable
-	 * @return the refresh launch configuration variable with the given name or
-	 * <code>null</code> if no such variable exists.
-	 */
-	public IContextLaunchVariable getRefreshVariable(String name);
-	/**
-	 * Returns all the refresh variables in the registry.
-	 * 
-	 * @return the refresh launch variables in this registry
-	 */
-	public IContextLaunchVariable[] getRefreshVariables();
-	/**
-	 * Adds the given simple variables to this variable registry
-	 * 
-	 * @param variables the simple launch variables to add
-	 */
-	public void addSimpleVariables(ISimpleLaunchVariable[] variables);
-	/**
-	 * Removes the given simple variables from this registry. Has no effect
-	 * if any of the given variables are not in this registry.
-	 * 
-	 * @param variables the simple launch variables to remove
-	 */
-	public void removeSimpleVariables(ISimpleLaunchVariable[] variables);
-	/**
-	 * Returns the simple variable with the given name or <code>null</code>
-	 * if no such variable exists. If multiple variables with the given name have
-	 * been added to this registry, returns the most recently added variable
-	 * with that name.
-	 * 
-	 * @param name the name of the variable
-	 * @return the simple launch variable with the given name or
-	 * <code>null</code> if no such variable exists.
-	 */
-	public ISimpleLaunchVariable getSimpleVariable(String name);
-	/**
-	 * Returns all the simple variables contained in this registry
-	 * 
-	 * @return the simple launch variables in this registry.
-	 */
-	public ISimpleLaunchVariable[] getSimpleVariables();
-	
-	/**
-	 * Creates and returns a new simple launch variable with the given name,
-	 * description, and value. The variable is <b>not</b> registered with the
-	 * launch variable manager.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param value variable value, may be <code>null</code>
-	 * @param description variable description, may be <code>null</code>
-	 * @return launch variable
-	 */
-	public ISimpleLaunchVariable newSimpleVariable(String name, String value, String description);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ISimpleLaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ISimpleLaunchVariable.java
deleted file mode 100644
index 1aa402d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/ISimpleLaunchVariable.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-/**
- * A variable that can be assigned a value. Simple variables are
- * key/value pairs that are typically created and managed by the
- * user. Plug-ins that wish to contribute variables may do so using
- * the <code>org.eclipse.debug.core.simpleLaunchVariables</code>
- * extension point.
- * <p>
- * Extenders may provide an initial value, or an initializer class, or
- * neither. The initializer class, which must implement
- * <code>org.eclipse.debug.core.variables.ILaunchVariableInitializer</code>,
- * will be queried for a value if the variable is queried before a value has been set.
- * <p>
- * For example, the following is a definition of a simple launch variable with
- * an initializer.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.simpleLaunchVariables"&gt;
- *   &lt;variable 
- *      name="FOO_HOME"
- *      initializerClass="com.example.FooInitializer"
- *   &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * The following is a definition of a simple launch variable with
- * an initial value.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.simpleLaunchVariables"&gt;
- *   &lt;variable 
- *      name="FOO_HOME"
- *      initialValue="/usr/local/foo"
- *   &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ISimpleLaunchVariable extends ILaunchVariable {
-	/**
-	 * Returns the value of this variable. If no value has been assigned
-	 * to this variable, it will attempt to use the variable's initializer if
-	 * one is defined. If no value is assigned and no initializer can set
-	 * the variable's value, returns <code>null</code>.
-	 * @return the variable's value or <code>null</code> if none can be
-	 * determined
-	 */
-	public String getValue();
-	/**
-	 * Sets the text value of this variable.
-	 * @param value the value to assign to this variable
-	 */
-	public void setValue(String value);
-	/**
-	 * Sets the description of this variable.
-	 * @param description the description to assign to this variable
-	 */
-	public void setDescription(String description);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IVariableExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IVariableExpander.java
deleted file mode 100644
index b802e2b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/IVariableExpander.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A Variable expander provides a value for a context launch variable.
- * An expander is provided for a variable via extension and
- * is automatically instantiated and queried by the platform to compute
- * the variable's value when required.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.variables.IContextLaunchVariable
- * @since 3.0
- */
-public interface IVariableExpander {
-	/**
-	 * Returns the <code>IResource</code> list
-	 * for the given variable tag and value.
-	 * 
-	 * @param varTag the variable tag name
-	 * @param varValue the value for the variable
-	 * @param context the context the variable should use to expand itself
-	 * @return the list of <code>IResource</code> or <code>null</code> if not
-	 * @throws CoreException if the given variable could not be expanded
-	 */
-	public IResource[] getResources(String varTag, String varValue, ExpandVariableContext context) throws CoreException;
-	/**
-	 * Returns the expanded text for the given variable
-	 * tag and value.
-	 * 
-	 * @param varTag the variable tag name
-	 * @param varValue the value for the variable
-	 * @param context the context the variable should use to expand itself
-	 * @return the text of the expanded variable
-	 * @throws CoreException if the given variable could not be expanded
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/LaunchVariableUtil.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/LaunchVariableUtil.java
deleted file mode 100644
index 3edaa9b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/LaunchVariableUtil.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Tomasz Stanczak - Fix for Bug 29504
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243)
- *******************************************************************************/
-package org.eclipse.debug.core.variables;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Utility for dealing with launch variables.
- * 
- * @since 3.0
- */
-public class LaunchVariableUtil {
-	/**
-	 * Variable tag indentifiers
-	 */
-	private static final char VAR_TAG_START_CHAR1 = '$'; //$NON-NLS-1$
-	private static final char VAR_TAG_START_CHAR2 = '{'; //$NON-NLS-1$
-	private static final char VAR_TAG_END_CHAR1 = '}'; //$NON-NLS-1$
-	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$
-	/**
-	 * Argument parsing constants
-	 */
-	private static final char ARG_DELIMITER = ' '; //$NON-NLS-1$
-	private static final char ARG_DBL_QUOTE = '"'; //$NON-NLS-1$
-	/**
-	 * Launch configuration attribute - a map of variables passed into
-	 * Runtime.exec(...) when a launch configuration is launched.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".environmentVariables"; //$NON-NLS-1$
-
-	/**
-	 * Boolean attribute indicating if a refresh scope is recursive. Default
-	 * value is <code>false</code>.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_REFRESH_RECURSIVE = DebugPlugin.getUniqueIdentifier() + ".ATTR_REFRESH_RECURSIVE"; //$NON-NLS-1$
-
-	/**
-	 * String attribute identifying the scope of resources that should be
-	 * refreshed after an external tool is run. The value is either a refresh
-	 * variable or the default value, <code>null</code>, indicating no refresh.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_REFRESH_SCOPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_REFRESH_SCOPE"; //$NON-NLS-1$
-	
-	/**
-	 * 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();
-		}
-	}
-	
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * Returns an expression referencing the given variable and argument.
-	 * 
-	 * @param varName the name of a variable
-	 * @param argument an optional argument for the variable, <code>null</code> if none
-	 * @return an expression referencing the given variable and argument
-	 */
-	public static String newVariableExpression(String varName, String argument) {
-		StringBuffer buf = new StringBuffer();
-		appendVariableExpression(varName,argument, buf);
-		return buf.toString();
-	}
-	
-	/**
-	 * Builds and appends a variable expression referencing the given variable and
-	 * argument, to the given String buffer.
-	 * 
-	 * @param varName the name of a variable
-	 * @param argument an optional argument for the variable, <code>null</code> if none
-	 * @param buffer the buffer to append the expression to
-	 */
-	private static void appendVariableExpression(String varName, String argument, StringBuffer buffer) {
-		buffer.append(VAR_TAG_START);
-		buffer.append(varName);
-		if (argument != null && argument.length() > 0) {
-			buffer.append(VAR_TAG_SEP);
-			buffer.append(argument);
-		}
-		buffer.append(VAR_TAG_END);
-	}
-
-	/**
-	 * Expands all the variables found in the given string.
-	 * 
-	 * @param argument the string whose variables should be expanded
-	 * @param context the context to use for expanding variables or
-	 * <code>null</code> if none.
-	 * @param status multi status to report any problems expanding variables or
-	 * <code>null</code> if none.
-	 * @return the argument text with all variables expanded, or <code>null</code> if not possible
-	 */
-	public static String expandVariables(String argument, MultiStatus status, ExpandVariableContext context) {
-		StringBuffer buffer = new StringBuffer();
-		int start = 0;
-		VariableDefinition varDef= extractVariableDefinition(argument, start);
-		while (varDef.start > -1) {
-			if (varDef.end == -1 || varDef.name == null || varDef.name.length() == 0) {
-				// Invalid variable format
-				if (status != null) {
-					status.merge(newErrorStatus(MessageFormat.format(DebugCoreMessages.getString("VariableUtil.4"), new String[] {argument.substring(varDef.start)}), null)); //$NON-NLS-1$
-				}
-				return null;
-			}
-			// Copy text between start and variable.			
-			if (varDef.start > start) {
-				buffer.append(argument.substring(start, varDef.start));
-			}
-			start = varDef.end;
-			// Look up the context variable if it exists
-			ILaunchVariableManager manager = DebugPlugin.getDefault().getLaunchVariableManager();
-			IContextLaunchVariable contextVariable = manager.getContextVariable(varDef.name);
-			if (contextVariable != null) {
-				String text = null;
-				if (context == null) {
-					context= new ExpandVariableContext(null);
-				}
-				try {
-					text= contextVariable.getExpander().getText(varDef.name, varDef.argument, context);
-				} catch (CoreException exception) {
-					if (status != null) {
-						status.merge(exception.getStatus());
-					}
-					return null;
-				}
-				buffer.append(text);
-			} else {
-				// If no context variable found, look up a simple variable
-				ISimpleLaunchVariable simpleVariable= manager.getSimpleVariable(varDef.name);
-				if (simpleVariable == null) {
-					if (status != null) {
-						status.merge(newErrorStatus(MessageFormat.format(DebugCoreMessages.getString("VariableUtil.5"), new Object[] {varDef.name}), null)); //$NON-NLS-1$
-					}
-					return null;
-				}
-				buffer.append(simpleVariable.getValue());
-			}
-			varDef = extractVariableDefinition(argument, start);
-		}
-		// No more variables
-		if (start == 0) {
-			buffer.append(argument);
-		} else {
-			buffer.append(argument.substring(start));
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Return a list of all the environment variables (suitable for passing to
-	 * Process.exec) in which variable expansion has been performed.
-	 * 
-	 * @param envMap Map of all the environment variables (key=name,value=value)
-	 * @param context the context used to expand the variable or <code>null</code>
-	 * if none.
-	 * @param status multi status to report any problems expanding variables
-	 * @return String[] the list of variables in "variable=value" form
-	 */
-	public static String[] expandEnvironment(Map envMap, MultiStatus status, ExpandVariableContext context) {
-		String[] vars = null;
-		if (envMap != null && envMap.size() > 0) {
-			Map.Entry e;
-			Iterator iter = envMap.entrySet().iterator();
-			vars = new String[envMap.size()];
-			int i = 0;
-			while (iter.hasNext()) {
-				e = (Map.Entry) iter.next();
-				vars[i++] = (String) e.getKey() + '=' + expandVariables((String) e.getValue(), status, context);
-			}
-		}
-		return vars;
-	}
-
-	/**
-	 * Returns a list of individual strings where all
-	 * variables have been expanded. The given string
-	 * is separated into individual strings based on whitespace
-	 * deliniation.
-	 * 
-	 * @param sourceString the source string with leading and trailing
-	 * 		spaces already removed.
-	 * @param context the context used to expand the variable(s)
-	 * @param status multi status to report any problems expanding variables or
-	 * 		<code>null</code> if none.
-	 * @return the list of individual arguments where some elements in the
-	 * 		list maybe <code>null</code> if problems expanding variable(s).
-	 */
-	public static String[] expandStrings(String sourceString, MultiStatus status, ExpandVariableContext context) {
-		if (sourceString == null || sourceString.length() == 0) {
-			return new String[0];
-		}
-	
-		String[] argList = parseStringIntoList(sourceString);
-		for (int i = 0; i < argList.length; i++) {
-			argList[i] = expandVariables(argList[i], status, context);
-		}
-		
-		return argList;
-	}
-
-	/**
-	 * 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. Variables are treated as
-	 * a single unit and therefore spaces and double quotes
-	 * inside a variable are copied as is and not parsed.
-	 * 
-	 * @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];
-		}
-		
-		List list = new ArrayList(10);
-		boolean inQuotes = false;
-		boolean inVar = false;
-		int start = 0;
-		int end = arguments.length();
-		StringBuffer buffer = new StringBuffer(end);
-		
-		while (start < end) {
-			char ch = arguments.charAt(start);
-			start++;
-			
-			switch (ch) {
-				case ARG_DELIMITER :
-					if (inQuotes || inVar) {
-						buffer.append(ch);
-					} else {
-						if (buffer.length() > 0) {
-							list.add(buffer.toString());
-							buffer.setLength(0);
-						}
-					}
-					break;
-	
-				case ARG_DBL_QUOTE :
-					if (inVar) {
-						buffer.append(ch);
-					} else {
-						if (start < end) {
-							if (arguments.charAt(start) == ARG_DBL_QUOTE) {
-								// Two quotes together represents one quote
-								buffer.append(ch);
-								start++;
-							} else {
-								inQuotes = !inQuotes;
-							}
-						} else {
-							// A lone quote at the end, just drop it.
-							inQuotes = false;
-						}
-					}
-					break;
-					
-				case VAR_TAG_START_CHAR1 :
-					buffer.append(ch);
-					if (!inVar && start < end) {
-						if (arguments.charAt(start) == VAR_TAG_START_CHAR2) {
-							buffer.append(VAR_TAG_START_CHAR2);
-							inVar = true;
-							start++;
-						}
-					}
-					break;
-	
-				case VAR_TAG_END_CHAR1 :
-					buffer.append(ch);
-					inVar = false;
-					break;
-	
-				default :
-					buffer.append(ch);
-					break;
-			}
-			
-		}
-		
-		if (buffer.length() > 0) {
-			list.add(buffer.toString());
-		}
-			
-		String[] results = new String[list.size()];
-		list.toArray(results);
-		return results;
-	}
-
-	/** 
-	 * Returns an array of (expanded) environment variables to be used when
-	 * running the launch configuration or <code>null</code> if unspecified
-	 * 
-	 * @param configuration launch configuration
-	 * @param context context used to expand environment variable values
-	 * or <code>null</code> if none
-	 * @return String[] the array of "variable=value" pairs, suitable for
-	 * passing to Runtime.exec(...)
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 */
-	public static String[] getEnvironment(ILaunchConfiguration configuration, ExpandVariableContext context) throws CoreException {
-		Map envMap = configuration.getAttribute(ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-		if (envMap != null) {
-			MultiStatus status = new MultiStatus(DebugPlugin.getUniqueIdentifier(), 0, DebugCoreMessages.getString("VariableUtil.6"), null); //$NON-NLS-1$
-			String[] expandedEnvironment = LaunchVariableUtil.expandEnvironment(envMap, status, context);
-			if (status.isOK()) {
-				if (expandedEnvironment != null && expandedEnvironment.length > 0) {
-					return expandedEnvironment;
-				} else {
-					String message = MessageFormat.format(DebugCoreMessages.getString("VariableUtil.7"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-					throw new CoreException(newErrorStatus(message, null));
-				}
-			} else {
-				throw new CoreException(status);
-			}
-		}
-		return null;
-	}
-	
-	private static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-	}
-
-	/**
-	 * Returns the refresh scope specified by the given launch configuration or
-	 * <code>null</code> if none.
-	 * 
-	 * @param configuration
-	 * @return refresh scope
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String getRefreshScope(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(LaunchVariableUtil.ATTR_REFRESH_SCOPE, (String) null);
-	}
-
-	/**
-	 * Returns whether the refresh scope specified by the given launch
-	 * configuration is recursive.
-	 * 
-	 * @param configuration
-	 * @return whether the refresh scope is recursive
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isRefreshRecursive(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(LaunchVariableUtil.ATTR_REFRESH_RECURSIVE, true);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/package.html
deleted file mode 100644
index e7bbde1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/variables/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 [org.eclipse.debug.core.variables]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for launch variable elements.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces which support variable definition
-  and management. These variables are intended to be used in launch
-  configurations as a means of easing configuration management and making
-  configurations more portable.</p>
-
-<h4>Simple Launch Variables</h4>
-
-<p>Simple variables are simple key/value pairs typically created and managed by the user
-  via a preference page provided by the UI. Plug-in providers can also contribute simple
-  launch variables via the simpleLaunchVariables extension, optionally supplying an initial
-  value or a class which will generate the initial value.</p>
-
-<h4>Context Launch Variables</h4>
-
-<p>Context launch variables are variables whose value is computed dynamically, given
-  a resource context. Typically, this context is determined by the user's selection in the UI.
-  Context launch variables are contributed via the contextLaunchVariables extension.</p>
-
-</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 bfdae70..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,853 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.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.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$	
-
-	/**
-	 * 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;
-
-	/**
-	 * 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
-	 */
-	private void loadBreakpoints(IResource resource) 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()]));
-	}
-	
-	/**
-	 * 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()) {
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) throws CoreException {
-					ResourcesPlugin.getWorkspace().deleteMarkers((IMarker[])delete.toArray(new IMarker[delete.size()]));
-				}
-			};
-			fork(wr);
-		}
-		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= DebugPlugin.getDefault().getDescriptor().getExtensionPoint(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.getString("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.getString("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());
-			getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_AUTO_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);
-		}
-	}	
-	
-	/**
-	 * 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.getString("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.getString("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 {
-		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()) {
-					added.add(breakpoint);
-					getBreakpoints0().add(breakpoint);
-					fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
-				} else {
-					// need to update the 'registered' attribute
-					update.add(breakpoint);
-				}
-			}	
-		}
-		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);
-			fSuppressChange.removeAll(update);
-			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.getString("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 {
-						getWorkspace().deleteMarkers((IMarker[])fMoved.toArray(new IMarker[fMoved.size()]));
-					}
-				};
-				try {
-					getWorkspace().run(wRunnable, 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)) {
-				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(), markerDelta);
-							break;
-						case IResourceDelta.REMOVED :
-							handleRemoveBreakpoint(markerDelta.getMarker(), markerDelta);
-							break;
-						case IResourceDelta.CHANGED :
-							handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);
-							break;
-					}
-				}
-			}
-
-			return true;
-		}		
-
-		/**
-		 * Wrapper for handling adds
-		 */
-		protected void handleAddBreakpoint(IResourceDelta rDelta, final IMarker marker, IMarkerDelta mDelta) {
-			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.
-				fMoved.add(marker);
-			} else {
-				// do nothing - we do not add until explicitly added
-			}
-		}
-		
-		/**
-		 * Wrapper for handling removes
-		 */
-		protected void handleRemoveBreakpoint(IMarker marker, IMarkerDelta delta) {
-			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;
-			} else {
-				try {
-					loadBreakpoints(project);
-				} 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;
-	}
-	
-	protected void fork(final IWorkspaceRunnable wRunnable) {
-		Runnable runnable= new Runnable() {
-			public void run() {
-				try {
-					getWorkspace().run(wRunnable, null);
-				} catch (CoreException ce) {
-					DebugPlugin.log(ce);
-				}
-			}
-		};
-		new Thread(runnable).start();
-	}		
-
-	/**
-	 * @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.getString("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[] fBreakpoints;
-		
-		/**
-		 * @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.getString("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(fBreakpoints);
-					break;
-				case REMOVED:
-					fListener.breakpointsRemoved(fBreakpoints, fDeltas);
-					break;
-				case CHANGED:
-					fListener.breakpointsChanged(fBreakpoints, 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;
-			fBreakpoints = breakpoints;
-			fDeltas = deltas;
-			Object[] copiedListeners = fBreakpointsListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointsListener)copiedListeners[i];
-				Platform.run(this);
-			}
-			fDeltas = null;
-			fBreakpoints = null;
-			fListener = null;
-		}
-	}	
-}
-
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 2601435..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-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);
-			}
-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fModes = new HashSet(tokenizer.countTokens());
-			while (tokenizer.hasMoreTokens()) {
-				fModes.add(tokenizer.nextToken().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.getString("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$
-	}	
-}
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 f5fa326..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugCoreMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DebugCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
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 dec8f93..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,88 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM 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.
-
-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.
-
-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
-
-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
-
-LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1=Exception occurred while reading launch configuration file: {0}.
-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.27=Invalid launch mode extension defined by plug-in {0} - mode not specified
-LaunchManager.28=Invalid launch mode extension defined by plug-in {0} - label not specified
-LaunchManager.30=Unable to retrieve shared launch configuration file for {0}
-LaunchManager.31=Unable to restore launch configuration \"{0}\". Probable cause: missing plug-in that defines launch configuration type.
-
-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}
-
-DefaultVariableExpander.0=No expander class defined for the variable {0}
-DefaultVariableExpander.2=An error occurred attempting to expand the variable {0}. {1}
-VariableUtil.4=Invalid variable format: {0}
-VariableUtil.5=The variable named \"{0}\" does not exist.
-VariableUtil.6=Could not resolve environment.
-VariableUtil.7=Invalid environment specified for the launch configuration named {0}.
-
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 9582167..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-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.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;
-
-/**
- * The expression manager manages all registered expressions
- * for the debug plugin. It is instantiated by the debug plugin
- * at startup.
- * 
- * [XXX: expression persistence not yet implemented]
- *
- * @see IExpressionManager
- */
-public class ExpressionManager 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;	
-	
-	// Constants for add/remove/change notification
-	private static final int ADDED = 1;
-	private static final int CHANGED = 2;
-	private static final int REMOVED = 3;
-	
-	/**
-	 * @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 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 (wasEmpty) {
-			DebugPlugin.getDefault().addDebugEventListener(this);	
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), ADDED);
-		}
-	}	
-
-	/**
-	 * @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);
-		}
-	}	
-	
-	/**
-	 * @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) {
-		for (int i = 0; i < events.length; i++) {
-			List changed = null;
-			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);
-			}
-		}
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * @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.getString("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[] fExpressions;
-		
-		/**
-		 * @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.getString("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(fExpressions);
-					break;
-				case REMOVED:
-					fListener.expressionsRemoved(fExpressions);
-					break;
-				case CHANGED:
-					fListener.expressionsChanged(fExpressions);		
-					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) { 
-				fExpressions = expressions;
-				fType = update;
-				Object[] copiedListeners = fExpressionsListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionsListener)copiedListeners[i];
-					Platform.run(this);
-				}
-			}	
-			fExpressions = 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 e2a6926..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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;
-	
-	/**
-	 * 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.getString("InputStreamMonitor.label")); //$NON-NLS-1$
-			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();
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Write the text in the queue to the stream.
-	 */
-	protected void writeNext() {
-		while (!fQueue.isEmpty()) {
-			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) {
-		}
-	}
-}
-
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 4357f99..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-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.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.IPersistableSourceLocator;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * 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 occurrs reading the memento
-	 */
-	protected LaunchConfiguration(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			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.getString("LaunchConfiguration.Invalid_launch_configuration_memento__missing_path_attribute_3"); //$NON-NLS-1$
-			} else if (localString == null) {
-				message = DebugCoreMessages.getString("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.getString("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.getString("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 {
-		// bug 28245 - force the delegate to load in case it is interested in launch notifications
-		ILaunchConfigurationDelegate delegate= getDelegate(mode);
-		
-		ILaunch launch = new Launch(this, mode, null);
-		getLaunchManager().addLaunch(launch);
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		try {
-			initializeSourceLocator(launch);
-			delegate.launch(this, mode, launch, monitor);
-		} 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;
-	}
-	
-	/**
-	 * 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) {
-				IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);
-				String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-				if (memento == null) {
-					locator.initializeDefaults(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();
-		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.getString("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.getString("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();
-		}
-		
-		Document doc = new DocumentImpl();
-		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$
-		
-		try {
-			return LaunchManager.serializeDocument(doc);
-		} catch (IOException e) {
-			IStatus status = newStatus(DebugCoreMessages.getString("LaunchConfiguration.Exception_occurred_creating_launch_configuration_memento_9"), DebugException.INTERNAL_ERROR,  e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getFile()
-	 */	
-	public IFile getFile() {
-		if (isLocal()) {
-			return null;
-		}
-		return ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(getLocation());
-	}
-
-	/**
-	 * @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();
-	}
-
-}
-
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 2032315..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 3290d13..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,566 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 org.apache.xerces.dom.DocumentImpl;
-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
-	 * @exception 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;
-			} else {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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
-	 * @exception 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();
-			} else {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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
-	 * @exception 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();
-			} else {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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
-	 * @exception 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;
-			} else {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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
-	 * @exception 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;
-			} else {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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 attriubte 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 attribuet 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
-	 * @exception IOException if an exception occurs creating the XML
-	 */
-	protected String getAsXML() throws IOException {
-
-		Document doc = new DocumentImpl();
-		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();
-			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();
-		} else {
-			ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
-			if (type == null) {
-				String message= MessageFormat.format(DebugCoreMessages.getString("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 type = node.getNodeType();
-			if (type == 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.getString("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 eb1eb1e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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;
-
-/**
- * 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#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)
-		throws CoreException {
-			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.
-	 * 
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 */
-	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.getString("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;
-				} else {
-					throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationType.Launch_delegate_for_{0}_does_not_implement_required_interface_ILaunchConfigurationDelegate._1"), new String[]{getName()}), null)); //$NON-NLS-1$
-				}
-			} else {
-				// 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 = (ILaunchConfigurationDelegate)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.getString("LaunchConfigurationType.10"), new String[] {getIdentifier(), mode}), null)); //$NON-NLS-1$
-	}
-
-}
-
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 674f8c3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,515 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.text.MessageFormat;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-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.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()) {
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) 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);
-					}
-					// write the new file
-					writeNewFile();
-					// delete the old file if this is not a new configuration
-					// or the file was renamed/moved
-					if (moved) {
-						getOriginal().delete();
-					}
-					resetDirty();
-				}
-			};
-			
-			ResourcesPlugin.getWorkspace().run(wr, null);
-			getLaunchManager().setMovedFromTo(null, null);
-		}
-		
-		return new LaunchConfiguration(getLocation());		
-	}
-	
-	/**
-	 * Writes the new configuration information to a file.
-	 * 
-	 * @exception CoreException if writing the file fails
-	 */
-	protected void writeNewFile() throws CoreException {
-		String xml = null;
-		try {
-			xml = getInfo().getAsXML();
-		} catch (IOException e) {
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("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 e) {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1"), new String[]{e.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.getString("LaunchConfigurationWorkingCopy.Specified_container_for_launch_configuration_does_not_exist_2"), null //$NON-NLS-1$
-					)
-				);				
-			}
-			ByteArrayInputStream stream = new ByteArrayInputStream(xml.getBytes());
-			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 originl 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;
-		} else {
-			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);
-		} else {
-			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 c75af78..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,1526 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-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.OutputStreamWriter;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-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.ParserConfigurationException;
-import org.apache.xml.serialize.Method;
-import org.apache.xml.serialize.OutputFormat;
-import org.apache.xml.serialize.Serializer;
-import org.apache.xml.serialize.SerializerFactory;
-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.IPluginDescriptor;
-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.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.ILaunchesListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-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;
-
-/**
- * Manages launch configurations, launch configuration types, and registered launches.
- *
- * @see ILaunchManager
- */
-public class LaunchManager 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.
-	 */
-	private String[] fLaunchModes = null;
-	
-	/**
-	 * Map of mode ids to labels
-	 */
-	private HashMap fLaunchModeLabels = 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;
-
-	/**
-	 * Collection of launches
-	 */
-	private Vector fLaunches= new Vector(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 IResourceDeltaVisitor fgVisitor;
-	
-	/**
-	 * 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$
-		
-	/**
-	 * 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
-	 */
-	public static String serializeDocument(Document doc) throws IOException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		OutputFormat format = new OutputFormat();
-		format.setIndenting(true);
-		format.setLineSeparator(System.getProperty("line.separator"));  //$NON-NLS-1$
-		
-		Serializer serializer =
-			SerializerFactory.getSerializerFactory(Method.XML).makeSerializer(
-				new OutputStreamWriter(s, "UTF8"), //$NON-NLS-1$
-				format);
-		serializer.asDOMSerializer().serialize(doc);
-		return s.toString("UTF8"); //$NON-NLS-1$		
-	}	
-			
-	/**
-	 * @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() throws CoreException {
-		if (fLaunchConfigurationIndex == null) {
-			try {			
-				fLaunchConfigurationIndex = new ArrayList(20);
-				List configs = findLocalLaunchConfigurations();
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-				configs = findLaunchConfigurations(getWorkspaceRoot());
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-			} finally {
-				getWorkspace().addResourceChangeListener(this);				
-			}
-		}
-		return fLaunchConfigurationIndex;
-	}
-	
-	/**
-	 * 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) {
-				// just make it a warning without an exception
-				IStatus status = new Status(IStatus.WARNING, DebugPlugin.getUniqueIdentifier(), DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, 
-					MessageFormat.format(DebugCoreMessages.getString("LaunchManager.31"), new String[]{config.getName()}), null); //$NON-NLS-1$
-				DebugPlugin.log(status);
-			} else {
-				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;
-		}
-		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);
-	}	
-	
-	/**
-	 * Returns whether the given launch is currently registered.
-	 * 
-	 * @param launch a launch
-	 * @return whether the given launch is currently registered
-	 */
-	protected boolean isRegistered(ILaunch launch) {
-		return fLaunches.contains(launch);
-	}
-
-	/**
-	 * @see ILaunchManager#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		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() {
-		return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);
-	}
-
-	/**
-	 * @see ILaunchManager#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		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) {
-		if (fLaunches.contains(launch)) {
-			return false;
-		}
-		fLaunches.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();
-		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() throws CoreException {
-		fListeners.removeAll();
-		ILaunch[] launches = getLaunches();
-		for (int i= 0; i < launches.length; i++) {
-			ILaunch launch= launches[i];
-			try {
-				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.getString("LaunchManager.30"), new String[] {config.getName()}), null); //$NON-NLS-1$
-						}
-						stream = file.getContents();
-					}
-					info = createInfoFromXML(stream);
-					fLaunchConfigurations.put(config, info);
-				} catch (FileNotFoundException e) {
-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					
-				} catch (SAXException e) {
-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					
-				} catch (ParserConfigurationException e) {
-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					
-				} catch (IOException e) {
-					throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					
-				} finally {
-					if (stream != null) {
-						try {
-							stream.close();
-						} catch (IOException e) {
-							throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file._1"), new String[]{e.toString()}), e); //$NON-NLS-1$					
-						}
-					}
-				}
-		
-			} else {
-				throw createDebugException(
-					MessageFormat.format(DebugCoreMessages.getString("LaunchManager.does_not_exist"), new String[]{config.getName(), config.getLocation().toOSString()}), null); //$NON-NLS-1$
-			}
-		}
-		return info;
-	}	
-	
-	/**
-	 * 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() throws CoreException {
-		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) throws CoreException {
-		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() throws CoreException {
-		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) {
-		getWorkspace().addResourceChangeListener(this);				
-		return new LaunchConfiguration(file.getLocation());
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {
-		getWorkspace().addResourceChangeListener(this);
-		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() {
-		if (fLaunchConfigurationTypes == null) {
-			getWorkspace().addResourceChangeListener(this);
-			initializeLaunchConfigurationTypes();
-		}
-		return fLaunchConfigurationTypes;
-	}
-	
-	private void initializeLaunchConfigurationTypes() {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(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 void initializeContributedDelegates() {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(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() {
-		if (fContributedDelegates == null) {
-			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) throws CoreException {
-		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) throws CoreException {
-		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)) {
-			try {
-				// 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);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-			getConfigurationNotifier().notify(config, CHANGED);
-		} else {
-			try {
-				launchConfigurationDeleted(config);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}								
-	}
-	
-	/**
-	 * @see ILaunchManager#isExistingLaunchConfigurationName(String)
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) throws CoreException {
-		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;
-		try {
-			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();		
-			}		
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-		}
-		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() throws CoreException {
-		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() throws CoreException {
-		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) throws CoreException {
-		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) {
-			try {
-				if (fgVisitor == null) {
-					fgVisitor= new LaunchManagerVisitor();
-				}
-				delta.accept(fgVisitor);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-	
-	/**
-	 * 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.getString("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) throws CoreException {
-		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) throws CoreException {
-		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 {
-		/**
-		 * @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();
-					try {
-						if (project.isOpen()) {
-							LaunchManager.this.projectOpened(project);
-						} else { 
-						    LaunchManager.this.projectClosed(project);
-						}
-					} catch (CoreException e) {
-						DebugPlugin.log(e);
-					}
-				}
-				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();
-					// If the file has already been deleted, reconstruct the full
-					// filesystem path
-					if (configPath == null) {
-						IPath workspaceRelativePath = delta.getFullPath();
-						configPath = getWorkspaceRoot().getLocation().append(workspaceRelativePath);
-					}
-					ILaunchConfiguration handle = new LaunchConfiguration(configPath);
-					try {
-						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;
-						}					
-					} catch (CoreException e) {
-						DebugPlugin.log(e);
-					}
-				}
-				return false;
-			} else if (resource instanceof IContainer) {
-				return true;
-			}
-			return true;
-		}		
-	}
-	
-	/**
-	 * @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 occurrs reading
-	 *  the extensions
-	 */
-	private void initializeSourceLocators() throws CoreException {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(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.getString("LaunchManager.Invalid_source_locator_extentsion_defined_by_plug-in___{0}______id___not_specified_12"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()} ), null);  //$NON-NLS-1$
-				DebugPlugin.log(s);
-			}
-		}			
-	}
-	
-	
-	/**
-	 * Load comparator extensions.
-	 * 
-	 * @exception CoreException if an exception occurrs reading
-	 *  the extensions
-	 */
-	private void initializeComparators() {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(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.getString("LaunchManager.Invalid_launch_configuration_comparator_extension_defined_by_plug-in_{0}_-_attribute_not_specified_1"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()}), null); //$NON-NLS-1$
-				DebugPlugin.log(s);
-			}
-		}			
-	}
-		
-	/**
-	 * @see ILaunchManager#newSourceLocator(String)
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {
-		if (fSourceLocators == null) {
-			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.getString("LaunchManager.Source_locator_does_not_exist__{0}_13"), new String[] {identifier} ), null)); //$NON-NLS-1$
-		} else {
-			return (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		
-	}
-
-	/**
-	 * 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() {
-		if (fComparators == null) {
-			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) throws CoreException {
-			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.getString("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[] fLaunches;
-		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.getString("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(fLaunches);
-					break;
-				case REMOVED:
-					fListener.launchesRemoved(fLaunches);
-					break;
-				case CHANGED:
-					if (fRegistered == null) {
-						List registered = null;
-						for (int j = 0; j < fLaunches.length; j++) {
-							if (isRegistered(fLaunches[j])) {
-								if (registered != null) {
-									registered.add(fLaunches[j]);
-								} 
-							} else {
-								if (registered == null) {
-									registered = new ArrayList(fLaunches.length);
-									for (int k = 0; k < j; k++) {
-										registered.add(fLaunches[k]);
-									}
-								}
-							}
-						}
-						if (registered == null) {
-							fRegistered = fLaunches;
-						} else {
-							fRegistered = (ILaunch[])registered.toArray(new ILaunch[registered.size()]);
-						}
-					}
-					if (fRegistered.length > 0) {
-						fListener.launchesChanged(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) {
-			fLaunches = launches;
-			fType = update;
-			fRegistered = null;
-			Object[] copiedListeners= fLaunchesListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchesListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fLaunches = 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.getString("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;			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchModes()
-	 */
-	public String[] getLaunchModes() {
-		if (fLaunchModes == null) {
-			initializeLaunchModes();
-		}
-		return fLaunchModes;
-	}	
-	
-	/**
-	 * Load comparator extensions.
-	 * 
-	 * @exception CoreException if an exception occurrs reading
-	 *  the extensions
-	 */
-	private void initializeLaunchModes() {
-		IPluginDescriptor descriptor= DebugPlugin.getDefault().getDescriptor();
-		IExtensionPoint extensionPoint= descriptor.getExtensionPoint(DebugPlugin.EXTENSION_POINT_LAUNCH_MODES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fLaunchModes = new String[infos.length];
-		fLaunchModeLabels = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String mode = configurationElement.getAttribute("mode"); //$NON-NLS-1$
-			String label = configurationElement.getAttribute("label"); //$NON-NLS-1$
-			if (mode != null && label != null) {
-				fLaunchModes[i]= mode;
-				fLaunchModeLabels.put(mode, label);
-			} else {
-				// invalid lauch mode
-				if (mode == null) {
-					IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-					MessageFormat.format(DebugCoreMessages.getString("LaunchManager.27"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()}), null); //$NON-NLS-1$
-					DebugPlugin.log(s);
-				}
-				if (label == null) {
-					IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-					MessageFormat.format(DebugCoreMessages.getString("LaunchManager.28"), new String[] {configurationElement.getDeclaringExtension().getDeclaringPluginDescriptor().getUniqueIdentifier()}), null); //$NON-NLS-1$
-					DebugPlugin.log(s);					
-				}
-			}
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchModeLabel(java.lang.String)
-	 */
-	public String getLaunchModeLabel(String mode) {
-		getLaunchModes();
-		return (String)fLaunchModeLabels.get(mode);
-	}
-}
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 df8bb50..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 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/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
deleted file mode 100644
index 6b66cae..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-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;
-	
-	/**
-	 * Creates an output stream monitor on the
-	 * given stream (connected to system out or err).
-	 */
-	public OutputStreamMonitor(InputStream stream) {
-		fStream= stream;
-		fContents= new StringBuffer();
-	}
-
-	/**
-	 * @see IStreamMonitor#addListener(IStreamListener)
-	 */
-	public 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);
-	}
-
-	/**
-	 * @see IStreamMonitor#getContents()
-	 */
-	public 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() {
-		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);
-					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;
-			}
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	protected void kill() {
-		fKilled= true;
-	}
-
-	/**
-	 * @see IStreamMonitor#removeListener(IStreamListener)
-	 */
-	public 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.getString("OutputStreamMonitor.label")); //$NON-NLS-1$
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
-	 */
-	public void setBuffered(boolean buffer) {
-		fBuffered = buffer;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
-	 */
-	public void flushContents() {
-		fContents.setLength(0);
-	}
-	
-	/**
-	 * @see IFlushableStreamMonitor#isBuffered()
-	 */
-	public 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) {
-		}
-
-		/**
-		 * @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/ProcessMonitorJob.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitorJob.java
deleted file mode 100644
index 745883f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ProcessMonitorJob.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-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;
-
-/**
- * Monitors a system process, waiting for it to terminate, and
- * then notifies the associated runtime process.
- */
-public class ProcessMonitorJob extends Job {
-	/**
-	 * 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 fProcess;
-
-	/**
-	 * The <code>Thread</code> which is monitoring the underlying process.
-	 */
-	protected Thread fThread;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-		fThread = Thread.currentThread();
-		while (fOSProcess != null) {
-			try {
-				fOSProcess.waitFor();
-			} catch (InterruptedException ie) {
-				// clear interrupted state
-				Thread.interrupted();
-			} finally {
-				fOSProcess = null;
-				fProcess.terminated();
-			}
-		}
-		fThread = null;
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * Creates a new process monitor and starts monitoring the process
-	 * for termination.
-	 */
-	public ProcessMonitorJob(RuntimeProcess process) {
-		super(DebugCoreMessages.getString("ProcessMonitorJob.0")); //$NON-NLS-1$
-		setPriority(Job.INTERACTIVE);
-		setSystem(true);
-		fProcess= process;
-		fOSProcess= process.getSystemProcess();
-		schedule();
-	}
-
-	/**
-	 * 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 killJob() {
-		if (fThread == null) {
-			cancel();
-		} else {
-			fThread.interrupt();
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
deleted file mode 100644
index 0da2fad..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RuntimeProcess.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-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.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-
-
-/**
- * A runtime process is a wrapper for a non-debuggable
- * system process. The process will appear in the debug UI with
- * console and termination support. The process creates a streams
- * proxy for itself, and a process monitor that monitors the
- * underlying system process for terminataion.
- */
-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
-	 */
-	private Process fProcess;
-	
-	/**
-	 * The exit value
-	 */
-	private int fExitValue;
-	
-	/**
-	 * The monitor which listens for this runtime process' system process
-	 * to terminate.
-	 */
-	private ProcessMonitorJob fMonitor;
-	
-	/**
-	 * The streams proxy for this process
-	 */
-	private StreamsProxy 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;
-
-	/**
-	 * Constructs a RuntimeProcess on the given system process
-	 * with the given name, adding this process to the given
-	 * launch.
-	 */
-	public RuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
-		setLaunch(launch);
-		fAttributes = attributes;
-		fProcess= process;
-		fName= name;
-		fTerminated= true;
-		try {
-			process.exitValue();
-		} catch (IllegalThreadStateException e) {
-			fTerminated= false;
-		}
-		fStreamsProxy = new StreamsProxy(this);
-		fMonitor = new ProcessMonitorJob(this);
-		launch.addProcess(this);
-		fireCreationEvent();
-	}
-
-	/**
-	 * @see ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !fTerminated;
-	}
-
-	/**
-	 * Returns the error stream of the underlying system process (connected
-	 * to the standard error of the process).
-	 */
-	protected InputStream getErrorStream() {
-		return fProcess.getErrorStream();
-	}
-
-	/**
-	 * Returns the input stream of the underlying system process (connected
-	 * to the standard out of the process).
-	 */
-	protected InputStream getInputStream() {
-		return fProcess.getInputStream();
-	}
-
-	/**
-	 * Returns the output stream of the underlying system process (connected
-	 * to the standard in of the process).
-	 */
-	protected OutputStream getOutputStream() {
-		return fProcess.getOutputStream();
-	}
-	
-	/**
-	 * @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
-	 */
-	private void setLaunch(ILaunch launch) {
-		fLaunch = launch;
-	}
-
-	/**
-	 * @see IProcess#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-
-	/**
-	 * Returns the underlying 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()) {
-			fProcess.destroy();
-			fStreamsProxy.kill();
-			int attempts = 0;
-			while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {
-				try {
-					if (fProcess != null) {
-						fExitValue = fProcess.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
-			fMonitor.killJob();
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("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() {
-		fStreamsProxy.close();
-		fTerminated= true;
-		try {
-			fExitValue = fProcess.exitValue();
-		} catch (IllegalThreadStateException ie) {
-		}
-		fProcess= null;
-		fireTerminateEvent();
-	}
-		
-	/**
-	 * @see IProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-		return fStreamsProxy;
-	}
-	
-	/**
-	 * Fire a debug event marking the creation of this element.
-	 */
-	private void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-
-	/**
-	 * Fire a debug event
-	 */
-	private void fireEvent(DebugEvent event) {
-		DebugPlugin manager= DebugPlugin.getDefault();
-		if (manager != null) {
-			manager.fireDebugEventSet(new DebugEvent[]{event});
-		}
-	}
-
-	/**
-	 * Fire a debug event marking the termination of this process.
-	 */
-	private void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}
-
-	/**
-	 * @see IProcess#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		fAttributes.put(key, value);
-	}
-	
-	/**
-	 * @see IProcess#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-	
-	/**
-	 * @see IAdaptable#getAdapter(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;
-		} else {
-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("RuntimeProcess.Exit_value_not_available_until_process_terminates._1"), null)); //$NON-NLS-1$
-		}
-	}
-
-}
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 6567b45..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import java.io.IOException;
-
-public class StreamsProxy implements IStreamsProxy {
-	/**
-	 * 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 <code>IProcess</code>.
-	 */
-	public StreamsProxy(RuntimeProcess 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.
-	 */
-	protected 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.
-	 */	
-	protected 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();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IContextVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IContextVariable.java
deleted file mode 100644
index 0d8ca4d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IContextVariable.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A context variable is a variable whose value is determined by the context
- * that it is referenced in, and optionally accepts an argument. A context
- * variable is contributed by an extension.
- * 
- * @since 3.0
- */
-public interface IContextVariable 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;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariable.java
deleted file mode 100644
index 60ab4f9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via there 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</li>
- * <li><code>IContextVariable</code> - variables whose value is determined by a combination of
- *       the context in which they are referenced and optionally accept an argument.
- * </ul>
- * </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.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableContext.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableContext.java
deleted file mode 100644
index a78357e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableContext.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-/**
- * A context to assist in variable resolution. If a contributed variable requires
- * context to assist in its resolution, the context may be registered and retrieved
- * from the variable manager.
- * <p>
- * A context may be contributed programmatically or via an extension.
- * </p>
- * 
- * @since 3.0
- */
-public interface IStringVariableContext {
-
-	/**
-	 * Returns an application defined context.
-	 *   
-	 * @return context
-	 */
-	public Object getContext();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableManager.java
deleted file mode 100644
index 10451f6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableManager.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Regisitry for string variables and contexts.
- * 
- * @since 3.0
- */
-public interface IStringVariableManager {
-
-	/**
-	 * 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 all registered context variables.
-	 * 
-	 * @return a collection of all registered context variables
-	 */
-	public IContextVariable[] getContextVariables();	
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values.
-	 * 
-	 * @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;
-	
-	/**
-	 * 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 newVariable(String name, String description) throws CoreException;
-	
-	/**
-	 * 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);
-	
-	/**
-	 * Returns the context with the given identifier or <code>null</code> if none.
-	 * 
-	 * @param id context identifier
-	 * @return the context with the given identifier of <code>null</code> if none
-	 */
-	public IStringVariableContext getContext(String id);
-	
-	/**
-	 * Sets the variable context for the given identifier. A variable
-	 * context of <code>null</code> indicates that the context is no longer
-	 * defined. 
-	 * 
-	 * @param id context identifier
-	 * @param context variable context
-	 */
-	public void setContext(String id, IStringVariableContext context);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableResolver.java
deleted file mode 100644
index 715de89..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IStringVariableResolver.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a string variable. A variable extension contributes
- * a resolver for context sensitive variables, which must implement this
- * interface.
- * 
- * @since 3.0
- */
-public interface IStringVariableResolver {
-
-	/**
-	 * 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(IStringVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IValueVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IValueVariable.java
deleted file mode 100644
index fe648c1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/stringsubstitution/IValueVariable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.stringsubstitution;
-
-/**
- * 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.
- * 
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given String. 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();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerExpander.java
deleted file mode 100644
index 5ab8424..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerExpander.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Expands a resource's container type variable into the desired
- * result format.
- * @since 3.0
- */
-public class ContainerExpander extends ResourceExpander {
-
-	/**
-	 * Create an instance
-	 */
-	public ContainerExpander() {
-		super();
-	}
-
-	/**
-	 * @see ResourceExpander#expand(String, ExpandVariableContext)
-	 */
-	protected IResource expand(String varValue, ExpandVariableContext context) {
-		IResource resource = super.expand(varValue, context);
-		if (resource != null) {
-			return resource.getParent();
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerNameExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerNameExpander.java
deleted file mode 100644
index af308ff..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerNameExpander.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Extracts the container name from a variable context.
- * @since 3.0
- */
-public class ContainerNameExpander extends ContainerExpander {
-
-	/**
-	 * @see IVariableTextExpander#getText(String, String, ExpandVariableContext)
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IResource resource= expand(varValue, context);
-		if (resource != null) {
-			return resource.getName();
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ContainerNameExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariable.java
deleted file mode 100644
index 372fe7b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariable.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.variables.DefaultVariableExpander;
-import org.eclipse.debug.core.variables.IContextLaunchVariable;
-import org.eclipse.debug.core.variables.IVariableExpander;
-
-/**
- * Abstract representation of launch configuration variables.
- * @since 3.0
- */
-public class ContextLaunchVariable extends LaunchVariable implements IContextLaunchVariable {
-	
-	private IVariableExpander expander;
-
-	/**
-	 * Creates an variable definition
-	 * 
-	 * @param name the variable name
-	 * @param description a short description of what the variable will expand to
-	 * @param element the configuration element
-	 */
-	public ContextLaunchVariable(String name, String description, IConfigurationElement element) {
-		super(name, description, element);
-	}
-	
-	/**
-	 * @see IContextLaunchVariable
-	 */
-	public IVariableExpander getExpander() {
-		if (expander == null) {
-			try {
-				expander = (IVariableExpander) createObject(ContextLaunchVariableRegistry.TAG_EXPANDER_CLASS);
-			} catch (ClassCastException exception) {
-			}
-			if (expander == null) {
-				return DefaultVariableExpander.getDefault();
-			}
-		}
-		return expander;
-	}
-	
-	/**
-	 * Creates an instance of the class specified by
-	 * the given element attribute name. Can return
-	 * <code>null</code> if none or if problems creating
-	 * the instance.
-	 */
-	protected final Object createObject(String attributeName) {
-		try {
-			return getConfigurationElement().createExecutableExtension(attributeName);
-		} catch (CoreException e) {
-			DebugPlugin.log(e.getStatus());
-			return null;
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariableRegistry.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariableRegistry.java
deleted file mode 100644
index 0a0dca1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContextLaunchVariableRegistry.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginRegistry;
-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.variables.IContextLaunchVariable;
-
-/**
- * Registry for context launch variables.
- * 
- * @since 3.0
- */
-public class ContextLaunchVariableRegistry {
-	// Format of the variable extension points
-	// <extension point="org.eclipse.debug.ui.launchConfigurationVariables>
-	//		<variable
-	//			tag={string}
-	//			description={string}
-	//			componentClass={string:IVariableComponent}
-	//			expanderClass={string:IVariableExpander}>
-	//		</variable>
-	// </extension>
-	//
-	
-	/**
-	 * Element and attribute tags of a variable extension.
-	 */
-	protected static final String TAG_VARIABLE = "variable"; //$NON-NLS-1$
-	protected static final String TAG_NAME = "name"; //$NON-NLS-1$
-	protected static final String TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-	protected static final String TAG_EXPANDER_CLASS = "expanderClass"; //$NON-NLS-1$
-
-	/**
-	 * Sorted map of variables where the key is the variable tag
-	 * and the value is the corresponding variable.
-	 */
-	private SortedMap variables;
-	
-	/**
-	 * The extension point id to read the variables from
-	 */
-	protected String extensionPointId;
-	
-	public ContextLaunchVariableRegistry() {
-		this(DebugPlugin.EXTENSION_POINT_CONTEXT_LAUNCH_VARIABLES);
-	}
-	
-	/**
-	 * Creates a new registry and loads the variables.
-	 */
-	protected ContextLaunchVariableRegistry(String extensionPointId) {
-		this.extensionPointId = extensionPointId;
-		loadVariables();
-	}
-
-	/**
-	 * Returns the variable for the specified tag, or
-	 * <code>null</code> if none found.
-	 */
-	private final IContextLaunchVariable findVariable(String tag) {
-		return (IContextLaunchVariable) variables.get(tag);
-	}
-
-	/**
-	 * Returns the number of variables in the registry.
-	 */
-	private final int getVariableCount() {
-		return variables.size();
-	}
-	
-	/**
-	 * Returns the variable with the given name or <code>null</code>
-	 * if no such variable exists. If multiple variables with the given name have
-	 * been added to this registry, returns the most recently added variable
-	 * with that name.
-	 * 
-	 * @param name the name of the variable
-	 * @return the launch configuration variable with the given name or
-	 * <code>null</code> if no such variable exists.
-	 */
-	public IContextLaunchVariable getVariable(String tag) {
-		return findVariable(tag);
-	}
-	
-	/**
-	 * Returns all the context variables in the registry.
-	 * 
-	 * @return the variables in this registry
-	 */
-	public IContextLaunchVariable[] getVariables() {
-		IContextLaunchVariable[] results = new ContextLaunchVariable[getVariableCount()];
-		variables.values().toArray(results);
-		return results;
-	}
-	
-	/**
-	 * Load the available variables
-	 */
-	private void loadVariables() {
-		variables = new TreeMap();
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IExtensionPoint point = registry.getExtensionPoint(DebugPlugin.getUniqueIdentifier(), extensionPointId);
-		if (point != null) {
-			IExtension[] extensions = point.getExtensions();
-			for (int i = 0; i < extensions.length; i++) {
-				IConfigurationElement[] elements = extensions[i].getConfigurationElements();
-				for (int j = 0; j < elements.length; j++) {
-					IConfigurationElement element = elements[j];
-					if (element.getName().equals(TAG_VARIABLE)) {
-						String tag = element.getAttribute(TAG_NAME);
-						String description = element.getAttribute(TAG_DESCRIPTION);
-						String className = element.getAttribute(TAG_EXPANDER_CLASS);
-						
-						boolean valid = true;
-						if (tag == null || tag.length() == 0) {
-							valid = false;
-							DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, "Missing tag attribute value for variable element.", null)); //$NON-NLS-1$
-						}
-						if (description == null || description.length() == 0) {
-							valid = false;
-							DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, "Missing description attribute value for variable element.", null)); //$NON-NLS-1$
-						}
-						if (className == null || className.length() == 0) {
-							valid = false;
-							DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, "Missing expander class attribute value for variable element.", null)); //$NON-NLS-1$
-						}
-
-						if (valid)
-							variables.put(tag, newVariable(tag, description, element));
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Creates a new variable from the specified information.
-	 */
-	private IContextLaunchVariable newVariable(String tag, String description, IConfigurationElement element) {
-		return new ContextLaunchVariable(tag, description, element);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariable.java
deleted file mode 100644
index 9a1beb8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariable.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.variables.ILaunchVariable;
-
-/**
- * Abstract implementation of launch variable. Common function for simple
- * and context launch variables.
- * 
- * @since 3.0
- */
-public abstract class LaunchVariable implements ILaunchVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Configuration element from plug-in XML, or <code>null</code> if none
-	 */
-	private IConfigurationElement fElement;
-	
-	/**
-	 * Variable description or <code>null</code> if none
-	 */
-	protected String fDescription;
-			
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ILaunchVariable) {
-			return getName().equals(((ILaunchVariable)obj).getName());
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.variables.ILaunchVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription != null ? fDescription : ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.variables.ILaunchVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * Constructs a new launch variable with the given name, description, and
-	 * configuration element.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @param element configuration element, or <code>null</code>
-	 */
-	public LaunchVariable(String name, String description, IConfigurationElement element) {
-		fName = name;
-		fDescription = description;
-		fElement = element;
-	}
-		
-	/**
-	 * Returns the configuration element for this variable, or <code>null</code> if none.
-	 * 
-	 * @return the configuration element for this variable, or <code>null</code> if none
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fElement;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableManager.java
deleted file mode 100644
index 079f75d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableManager.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.debug.core.variables.IContextLaunchVariable;
-import org.eclipse.debug.core.variables.ILaunchVariableManager;
-import org.eclipse.debug.core.variables.ISimpleLaunchVariable;
-
-/**
- * Implementation of the debug platform's launch variable manager.
- * 
- * @see LaunchVariableManager
- */
-public class LaunchVariableManager implements ILaunchVariableManager {
-	
-	private static SimpleLaunchVariableRegistry fgSimpleVariableRegistry= new SimpleLaunchVariableRegistry();
-	private static ContextLaunchVariableRegistry fgContextVariableRegistry= new ContextLaunchVariableRegistry();
-	private static RefreshLaunchVariableRegistry fgRefreshVariableRegistry= new RefreshLaunchVariableRegistry();
-
-	/**
-	 * @see ILaunchVariableManager#getContextVariable(String)
-	 */
-	public IContextLaunchVariable getContextVariable(String name) {
-		return fgContextVariableRegistry.getVariable(name);
-	}
-	
-	/**
-	 * @see ILaunchVariableManager#getContextVariables()
-	 */
-	public IContextLaunchVariable[] getContextVariables() {
-		return fgContextVariableRegistry.getVariables();
-	}
-
-	/**
-	 * @see ILaunchVariableManager#getRefreshVariable(String)
-	 */
-	public IContextLaunchVariable getRefreshVariable(String name) {
-		return fgRefreshVariableRegistry.getVariable(name);
-	}
-
-	/**
-	 * @see ILaunchVariableManager#getRefreshVariables()
-	 */
-	public IContextLaunchVariable[] getRefreshVariables() {
-		return fgRefreshVariableRegistry.getVariables();
-	}
-
-	/**
-	 * @see ILaunchVariableManager#addSimpleVariables(ISimpleLaunchVariable[])
-	 */
-	public void addSimpleVariables(ISimpleLaunchVariable[] variables) {
-		fgSimpleVariableRegistry.addVariables(variables);
-	}
-
-	/**
-	 * @see ILaunchVariableManager#removeSimpleVariables(ISimpleLaunchVariable[])
-	 */
-	public void removeSimpleVariables(ISimpleLaunchVariable[] variables) {
-		fgSimpleVariableRegistry.removeVariables(variables);
-	}
-
-	/**
-	 * @see ILaunchVariableManager#getSimpleVariable(String)
-	 */
-	public ISimpleLaunchVariable getSimpleVariable(String name) {
-		if (fgSimpleVariableRegistry == null) {
-			// happens when registry is being initialized
-			return null;
-		}
-		return fgSimpleVariableRegistry.getVariable(name);
-	}
-
-	/**
-	 * @see ILaunchVariableManager#getSimpleVariables()
-	 */
-	public ISimpleLaunchVariable[] getSimpleVariables() {
-		return fgSimpleVariableRegistry.getVariables();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.variables.ILaunchVariableManager#newSimpleVariable(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public ISimpleLaunchVariable newSimpleVariable(String name, String value, String description) {
-		return new SimpleLaunchVariable(name, value, description, null);
-	}
-	
-	/**
-	 * The value of a simple launch variable has changed - persist its value if
-	 * registered.
-	 * 
-	 * @param variable changed variable
-	 */
-	protected void simpleLaunchVariableChanged(ISimpleLaunchVariable variable) {
-		ISimpleLaunchVariable simpleLaunchVariable = getSimpleVariable(variable.getName());
-		if (simpleLaunchVariable != null) {
-			fgSimpleVariableRegistry.storeVariables();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.java
deleted file mode 100644
index d9ea65e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author jburns
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class LaunchVariableMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.variables.LaunchVariableMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private LaunchVariableMessages() {
-
-		// TODO Auto-generated constructor stub
-	}
-	public static String getString(String key) {
-		// TODO Auto-generated method stub
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.properties
deleted file mode 100644
index 7a553b4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/LaunchVariableMessages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ResourceExpander.0=No resource selected.
-ContainerNameExpander.0=No resource selected.
-ProjectNameExpander.0=No resource selected.
-ResourceNameExpander.0=No resource selected.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectExpander.java
deleted file mode 100644
index cabfb37..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectExpander.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Expands a resource's project type variable into the desired
- * result format.
- */
-public class ProjectExpander extends ResourceExpander {
-
-	/**
-	 * Create an instance
-	 */
-	public ProjectExpander() {
-		super();
-	}
-
-	/**
-	 * @see ResourceExpander#expandUsingContext(ExpandVariableContext)
-	 */
-	protected IResource expandUsingContext(ExpandVariableContext context) {
-		IResource resource = context.getSelectedResource();
-		if (resource != null) {
-			return resource.getProject();
-		}
-		return null;
-	}
-	
-	/**
-	 * @see ResourceExpander#expandToMember(String)
-	 */
-	protected IResource expandToMember(String varValue) {
-		IResource member = super.expandToMember(varValue);
-		if (member != null) {
-			return member.getProject();
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectNameExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectNameExpander.java
deleted file mode 100644
index 41d3229..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectNameExpander.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Extracts the project name from a variable context
- */
-public class ProjectNameExpander extends ProjectExpander {
-
-	/**
-	 * Returns the name of the project in the given context or
-	 * <code>null</code> if there is no project in the context.
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IResource resource= expand(varValue, context);
-		if (resource != null) {
-			return resource.getName();
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ProjectNameExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/RefreshLaunchVariableRegistry.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/RefreshLaunchVariableRegistry.java
deleted file mode 100644
index 532c83d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/RefreshLaunchVariableRegistry.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Registry of all available refresh scope variables.
- */
-public class RefreshLaunchVariableRegistry extends ContextLaunchVariableRegistry {
-
-	/**
-	 * Creates the registry and loads the variables.
-	 */
-	public RefreshLaunchVariableRegistry() {
-		super(DebugPlugin.EXTENSION_POINT_REFRESH_LAUNCH_VARIABLES);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceExpander.java
deleted file mode 100644
index 9c4f37e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceExpander.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-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.debug.core.variables.*;
-import org.eclipse.debug.core.variables.DefaultVariableExpander;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Expands a resource type variable into the desired
- * result format.
- * <p>
- * This class is not intended to be extended by clients.
- * </p>
- */
-public class ResourceExpander extends DefaultVariableExpander {
-
-	/**
-	 * Expands the variable to a resource.
-	 */
-	protected IResource expand(String varValue, ExpandVariableContext context) {
-		if (varValue != null && varValue.length() > 0) {
-			return expandToMember(varValue);
-		} else {
-			return expandUsingContext(context);
-		}
-	}
-	
-	/**
-	 * Expands using the current context information.
-	 * By default, return the selected resource of the
-	 * context.
-	 */
-	protected IResource expandUsingContext(ExpandVariableContext context) {
-		return context.getSelectedResource();
-	}
-	
-	/**
-	 * Expands the variable value to a resource. The value
-	 * will not be <code>null</code> nor empty. By default,
-	 * lookup the member from the workspace root.
-	 */
-	protected IResource expandToMember(String varValue) {
-		return getWorkspaceRoot().findMember(varValue);
-	}
-	
-	/**
-	 * @see IVariableExpander#getPath(String, String, ExpandVariableContext)
-	 */
-	public IPath getPath(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IResource resource = expand(varValue, context);
-		if (resource != null) {
-			if (isPathVariable(varTag)) {
-				return resource.getFullPath();
-			} else {
-				return resource.getLocation();
-			}
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ResourceExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Returns whether the given variable tag is a known path
-	 * variable tag. Path variable tags represent variables that
-	 * expand to paths relative to the workspace root.
-	 */
-	private boolean isPathVariable(String varTag) {
-		return varTag.equals(ILaunchVariableManager.VAR_CONTAINER_PATH) ||
-				varTag.equals(ILaunchVariableManager.VAR_PROJECT_PATH) ||
-				varTag.equals(ILaunchVariableManager.VAR_RESOURCE_PATH);
-	}
-
-	/**
-	 * @see IVariableExpander#getResources(String, String, ExpandVariableContext)
-	 */
-	public IResource[] getResources(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IResource resource = expand(varValue, context);
-		if (resource != null) {
-			return new IResource[] {resource};
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ResourceExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Returns the workspace root resource.
-	 */
-	protected final IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * Returns a string representation of the path to a file or directory
-	 * for the given variable tag and value or <code>null</code>.
-	 * 
-	 * @see IVariableExpander#getText(String, String, ExpandVariableContext)
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IPath path= getPath(varTag, varValue, context);
-		if (path != null) {
-			return path.toOSString();
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ResourceExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceNameExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceNameExpander.java
deleted file mode 100644
index 561be18..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceNameExpander.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Extracts the resource name from a variable context
- */
-public class ResourceNameExpander extends ResourceExpander {
-
-	/**
-	 * @see IVariableExpander#getText(String, String, ExpandVariableContext)
-	 */
-	public String getText(String varTag, String varValue, ExpandVariableContext context) throws CoreException {
-		IResource resource= expand(varValue, context);
-		if (resource != null) {
-			return resource.getName();
-		}
-		throwExpansionException(varTag, LaunchVariableMessages.getString("ResourceNameExpander.0")); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariable.java
deleted file mode 100644
index aaa6ca5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariable.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.variables.ILaunchVariableInitializer;
-import org.eclipse.debug.core.variables.ISimpleLaunchVariable;
-
-/**
- * Implementation of a simple launch variable.
- * 
- * @since 3.0
- */
-
-public class SimpleLaunchVariable extends LaunchVariable implements ISimpleLaunchVariable {
-	
-	private ILaunchVariableInitializer fVariableInitializer= null;
-	private String fValue= null;
-	
-	/**
-	 * Creates a new launch configuration variable with the given initializer or <code>null</code>
-	 * if none is available.
-	 * @param initialValue the variable's initial value or <code>null</code> if no initial value
-	 * should be set.
-	 * @param description the variable's description or <code>null</code> if no
-	 * description is specified.
-	 * @param element configuration element if this variable was defined by an extension point,
-	 * 	otherwise <code>null</code>
-	 */
-	public SimpleLaunchVariable(String name, String initialValue, String description, IConfigurationElement element) {
-		super(name, description, element);
-		fValue= initialValue;
-	}
-	
-	/**
-	 * Creates a new launch configuration varible with the given name.
-	 * @param name
-	 */
-	public SimpleLaunchVariable(String name) {
-		this(name, null, null, null);
-	}
-	
-	/**
-	 * Instantiates and returns this variable's initializer, if any.
-	 * 
-	 * @return variable initializer or <code>null</code> if none.
-	 */
-	public ILaunchVariableInitializer getInitializer() {
-		if (hasInitializer()) {
-			if (fVariableInitializer == null) {
-				try {
-					fVariableInitializer = (ILaunchVariableInitializer) getConfigurationElement().createExecutableExtension(SimpleLaunchVariableRegistry.ATTR_INITIALIZER_CLASS);
-				} catch (CoreException e) {
-					DebugPlugin.logMessage(MessageFormat.format("Failed to load launch variable initializer: {0}", new String[] {getConfigurationElement().getAttribute(SimpleLaunchVariableRegistry.ATTR_INITIALIZER_CLASS)}), e); //$NON-NLS-1$
-				}
-			}
-		}
-		return fVariableInitializer;
-	}
-	
-	/**
-	 * Returns whehter this variable has an initializer.
-	 * 
-	 * @return whehter this variable has an initializer
-	 */
-	protected boolean hasInitializer() {
-		return getConfigurationElement() != null && getConfigurationElement().getAttribute(SimpleLaunchVariableRegistry.ATTR_INITIALIZER_CLASS) != null;	
-	}
-
-	/**
-	 * @see ISimpleLaunchVariable#getText()
-	 */
-	public String getValue() {
-		if (fValue == null && hasInitializer()) {
-			fValue= getInitializer().getText();
-		}
-		return fValue;
-	}
-
-	/**
-	 * @see ISimpleLaunchVariable#setText(String)
-	 */
-	public void setValue(String value) {
-		fValue= value;
-		fireSimpleVariableChanged();
-	}
-
-	/**
-	 * @see ISimpleLaunchVariable#setDescription(String)
-	 */
-	public void setDescription(String description) {
-		fDescription= description;
-		fireSimpleVariableChanged();
-	}
-	
-	/**
-	 * Fires notification that this variable has changed.
-	 */
-	private void fireSimpleVariableChanged() {
-		LaunchVariableManager manager = (LaunchVariableManager)DebugPlugin.getDefault().getLaunchVariableManager();
-		manager.simpleLaunchVariableChanged(this);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariableRegistry.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariableRegistry.java
deleted file mode 100644
index 0e45c42..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/SimpleLaunchVariableRegistry.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xerces.dom.DocumentImpl;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.variables.ISimpleLaunchVariable;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A registry of simple variables, used for retrieving launch configuration
- * variable objects based on their names.
- */
-public class SimpleLaunchVariableRegistry {
-	
-	private static final String PREF_SIMPLE_VARIABLES="simpleVariables"; //$NON-NLS-1$
-	// Variable extension point constants
-	private static final String ELEMENT_VARIABLE="variable"; //$NON-NLS-1$
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_INITIAL_VALUE= "initialValue"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$
-	protected static final String ATTR_INITIALIZER_CLASS= "initializerClass"; //$NON-NLS-1$
-	// Persisted variable XML constants
-	private static final String SIMPLE_VARIABLES_TAG= "simpleVariables"; //$NON-NLS-1$
-	private static final String VARIABLE_TAG= "variable"; //$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 Map fVariables= new HashMap(); 
-	
-	public SimpleLaunchVariableRegistry() {
-		loadExtensions();
-		loadVariables();
-	}
-	
-	/**
-	 * Adds the given variables to this variable registry
-	 * 
-	 * @param variables the variables to add
-	 */
-	public void addVariables(ISimpleLaunchVariable[] variables) {
-		for (int i = 0; i < variables.length; i++) {
-			fVariables.put(variables[i].getName(), variables[i]);
-		}
-		storeVariables();
-	}
-	
-	/**
-	 * Removes the given variables from this registry. Has no effect
-	 * if any of the given variables are not in this registry.
-	 * 
-	 * @param variables the variables to remove
-	 */
-	public void removeVariables(ISimpleLaunchVariable[] variables) {
-		for (int i = 0; i < variables.length; i++) {
-			fVariables.remove(variables[i].getName());
-		}
-		storeVariables();
-	}
-	
-	/**
-	 * Returns the variable with the given name or <code>null</code>
-	 * if no such variable exists. If multiple variables with the given name have
-	 * been added to this registry, returns the most recently added variable
-	 * with that name.
-	 * 
-	 * @param name the name of the variable
-	 * @return the launch configuration variable with the given name or
-	 * <code>null</code> if no such variable exists.
-	 */
-	public ISimpleLaunchVariable getVariable(String name) {
-		return (ISimpleLaunchVariable) fVariables.get(name);
-	}
-	
-	/**
-	 * Returns all the variables contained in this registry
-	 * 
-	 * @return the variables in this registry.
-	 */
-	public ISimpleLaunchVariable[] getVariables() {
-		return (ISimpleLaunchVariable[]) fVariables.values().toArray(new ISimpleLaunchVariable[0]);
-	}
-	
-	/**
-	 * Loads the variables contributed via extension.
-	 */
-	public void loadExtensions() {
-		IExtensionPoint point= DebugPlugin.getDefault().getDescriptor().getExtensionPoint(DebugPlugin.EXTENSION_POINT_SIMPLE_LAUNCH_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			if (!element.getName().equals(ELEMENT_VARIABLE)) {
-				DebugPlugin.logMessage(MessageFormat.format("Invalid simple launch variable extension found: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				DebugPlugin.logMessage(MessageFormat.format("Invalid simple launch variable extension found: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String initialValue= element.getAttribute(ATTR_INITIAL_VALUE);
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			ISimpleLaunchVariable variable= new SimpleLaunchVariable(name, initialValue, description, element);
-			fVariables.put(variable.getName(), variable);
-		}
-	}
-	
-	/**
-	 * Loads the variables from the preferences.
-	 */
-	public void loadVariables() {
-		String variablesString= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_SIMPLE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		try {
-			ByteArrayInputStream stream= new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			root = parser.parse(stream).getDocumentElement();
-		} catch (Throwable throwable) {
-			DebugPlugin.logMessage("An exception occurred while loading launch configuration variables.", throwable); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(SIMPLE_VARIABLES_TAG)) {
-			DebugPlugin.logMessage("Invalid format encountered while loading launch configuration 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(VARIABLE_TAG)) {
-					DebugPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading launch configuration variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					ISimpleLaunchVariable variable= getVariable(name);
-					if (variable == null) {
-						variable= new SimpleLaunchVariable(name);
-					}
-					String value= element.getAttribute(VALUE_TAG);
-					if (value.length() > 0) {
-						variable.setValue(value);
-					}
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					if (description.length() > 0) {
-						variable.setDescription(description);
-					}
-					fVariables.put(name, variable);
-				} else {
-					DebugPlugin.logMessage("Invalid variable entry encountered while loading launch configuration variables. Variable name is null.", null); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Saves the variables in this registry in the
-	 * preference store. 
-	 */
-	protected void storeVariables() {
-		Preferences prefs= DebugPlugin.getDefault().getPluginPreferences();
-		String variableString= ""; //$NON-NLS-1$
-		if (!fVariables.isEmpty()) {
-			try {
-				variableString= getVariablesAsXML();
-			} catch (IOException exception) {
-				DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", exception)); //$NON-NLS-1$
-			}
-		}
-		prefs.setValue(PREF_SIMPLE_VARIABLES, variableString);
-		DebugPlugin.getDefault().savePluginPreferences();
-	}
-	
-	/**
-	 * Returns the map of variables in this registry in XML format suitable for persistance.
-	 * @return the variables in this registry in XML format
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getVariablesAsXML() throws IOException {
-		Set entries= fVariables.entrySet();
-		Iterator iter= entries.iterator();
-
-		Document document= new DocumentImpl();
-		Element rootElement= document.createElement(SIMPLE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		while (iter.hasNext()) {
-			Map.Entry entry= (Map.Entry) iter.next();
-			Element element= document.createElement(VARIABLE_TAG);
-			element.setAttribute(NAME_TAG, (String)entry.getKey());
-			element.setAttribute(VALUE_TAG, ((ISimpleLaunchVariable)entry.getValue()).getValue());
-			element.setAttribute(DESCRIPTION_TAG, ((ISimpleLaunchVariable)entry.getValue()).getDescription());
-			rootElement.appendChild(element);
-		}
-		return LaunchManager.serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceExpander.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceExpander.java
deleted file mode 100644
index f4677ca..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceExpander.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-
-/**
- * Expands a workspace variable into the desired
- * result format.
- */
-public class WorkspaceExpander extends ResourceExpander {
-
-	/**
-	 * Create an instance
-	 */
-	public WorkspaceExpander() {
-		super();
-	}
-
-	/**
-	 * @see ResourceExpander#expandUsingContext(ExpandVariableContext)
-	 */
-	protected IResource expandUsingContext(ExpandVariableContext context) {
-		return getWorkspaceRoot();
-	}
-}
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core.html
deleted file mode 100644
index 1ac3488..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core.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>README Debug User Interface Extension Points</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<h1 align="center">Eclipse Debug Platform</h1>
-
-<p>The debug platform plug-in, <b>org.eclipse.debug.core</b>,
-defines a model for language independent debugging. A set of common debug artifacts and
-actions are defined by interfaces, for which specific debug architectures may provide
-implementations. For example, some common artifacts are threads, stack frames, and
-variables; some common actions are terminate, suspend, step, and resume. A debug
-architecture, such as the Java Platform Debug Architecture (JPDA), can provide an implementation of the
-artifacts and actions. The debug plug-in also provides facilities to support
-breakpoint management, expression management, and program launching.<br>
-</p>
-
-<hr>
-
-<h1>Extension Points</h1>
-
-<p>The following extension points are used to support and extend the debug infrastructure:
-
-<ul>
-  <li><a href="org_eclipse_debug_core_breakpoints.html">org.eclipse.debug.core.breakpoints</a></li>
-  <li><a href="org_eclipse_debug_core_launchConfigurationComparators.html">org.eclipse.debug.core.launchConfigurationComparators</a></li>
-  <li><a href="org_eclipse_debug_core_launchConfigurationTypes.html">org.eclipse.debug.core.launchConfigurationTypes</a></li>
-  <li><a href="org_eclipse_debug_core_launchDelegates.html">org.eclipse.debug.core.launchDelegates</a></li>  
-  <li><a href="org_eclipse_debug_core_launchModes.html">org.eclipse.debug.core.launchModes</a></li>  
-  <li><a href="org_eclipse_debug_core_sourceLocators.html">org.eclipse.debug.core.sourceLocators</a></li>
-  <li><a href="org_eclipse_debug_core_statusHandlers.html">org.eclipse.debug.core.statusHandlers</a></li>
-  <li><a href="org_eclipse_debug_core_simpleLaunchVariables.html">org.eclipse.debug.core.simpleLaunchVariables</a></li>
-  <li><a href="org_eclipse_debug_core_contextLaunchVariables.html">org.eclipse.debug.core.contextLaunchVariables</a></li>
-  <li><a href="org_eclipse_debug_core_refreshLaunchVariables.html">org.eclipse.debug.core.refreshLaunchVariables</a></li>
-</ul>
-
-<p><a href="hglegal.htm"><img src="ngibmcpy.gif" alt="Copyright IBM Corp. 2000, 2001. All Rights Reserved."
-border="0" width="195" height="12"></a></p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
deleted file mode 100644
index 7fa8fd3..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_breakpoints.html
+++ /dev/null
@@ -1,64 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Breakpoints</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.breakpoints<p>
-<b><i>Description: </i></b>This extension point defines a mechanism for defining new types of breakpoints.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.breakpoint">breakpoint</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.breakpoint">breakpoint</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST breakpoint</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;markerType&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this breakpoint type.</li>
-<li><b>markerType</b> - specifies the fully qualified identifier (id) of the corresponding marker definition for breakpoints of this type.</li>
-<li><b>class</b> - specifies the fully qualified name of the java class that implements <samp>IBreakpoint</samp>.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch configuration type extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.breakpoints&quot;</font>&gt;</font>
-  <font color="#000080">&lt;breakpoint
-   id=<font color="#008000">&quot;com.example.ExampleBreakpoint&quot;</font>
-   markerType=<font color="#008000">&quot;com.example.ExampleBreakpointMarker&quot;</font>
-   class=<font color="#008000">&quot;com.example.ExampleBreakpointImpl&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/breakpoint&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the specified type of breakpoint is implemented by the class "com.example.BreakpointImpl".
-There is an associated marker definition for "com.example.ExampleBreakpointMarker", defining the attributes of this breakpoint.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.IBreakpoint</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_contextLaunchVariables.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_contextLaunchVariables.html
deleted file mode 100644
index 83a8d51..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_contextLaunchVariables.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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Context Launch Variables</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.contextLaunchVariables<p>
-<b><i>Since: </i></b>3.0<p>
-<b><i>Description: </i></b>This extension point provides a mechanism for defining context sensitive launch configuration variables. Context launch variables derive their value dynamically based on a client defined context (for example, the selected resource). Context launch variables can be used as attribute values in launch configurations that support variable expansion.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.variable">variable</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.variable">variable</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST variable</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expanderClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>name</b> - specifies a unique name for this variable.</li>
-<li><b>expanderClass</b> - specifies a Java class which implements <samp>org.eclipse.debug.core.variables.IVariableExpander</samp>, which is used to determine the value of the variable</li>
-<li><b>description</b> - specifies a human-readable description of this variable</li>
-</ul>
-<b><i>Examples: </i></b>The following is a definition of a context launch variable that expands to the name of the selected resource:
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.contextLaunchVariables&quot;</font>&gt;</font>
-   <font color="#000080">&lt;variable 
-      name=<font color="#008000">&quot;resource_name&quot;</font>
-      expanderClass=<font color="#008000">&quot;com.example.ResourceNameExpander&quot;</font>
-      description=<font color="#008000">&quot;The name of the selected resource&quot;</font>&gt;</font>
-   <font color="#000080">&lt;/variable&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre><p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationComparators.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationComparators.html
deleted file mode 100644
index e111b20..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationComparators.html
+++ /dev/null
@@ -1,66 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Configuration Comparators</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.launchConfigurationComparators<p>
-<b><i>Description: </i></b>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 <samp>java.lang.Object.equals(Object)</samp>.
-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.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.launchConfigurationComparator">launchConfigurationComparator</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.launchConfigurationComparator">launchConfigurationComparator</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationComparator</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attribute&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this extension.</li>
-<li><b>attribute</b> - specifies the launch configuration attribute name that this comparator compares.</li>
-<li><b>class</b> - specifies a fully-qualified name of a class that implements <samp>java.util.Comparator</samp>.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch configuration comparator extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.launchConfigurationComparators&quot;</font>&gt;</font>
-  <font color="#000080">&lt;launchConfigurationComparator
-   id=<font color="#008000">&quot;com.example.ExampleIdentifier&quot;</font>
-   attribute=<font color="#008000">&quot;com.example.ExampleAttributeName&quot;</font>
-   class=<font color="#008000">&quot;com.example.ComparatorImplementation&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/launchConfigurationComparator&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name <samp>com.example.ExampleAttributeName</samp>.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully-qualified name of a Java class that implements the interface <b>java.util.Comparator</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationTypes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationTypes.html
deleted file mode 100644
index dd22208..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchConfigurationTypes.html
+++ /dev/null
@@ -1,86 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Configuration Types</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.launchConfigurationTypes<p>
-<b><i>Description: </i></b>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.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.launchConfigurationType">launchConfigurationType</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.launchConfigurationType">launchConfigurationType</a> (<a href="#e.fileExtension">fileExtension</a>+)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST launchConfigurationType</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delegate&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modes&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;&nbsp;&nbsp;(true | false) </samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;category&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this launch configuration type.</li>
-<li><b>delegate</b> - specifies the fully qualified name of the Java class that implements <samp>ILaunchConfigurationDelegate</samp>.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.</li>
-<li><b>modes</b> - specifies a comma-separated list of the modes this type of lauch configuration supports - "run" and/or "debug".</li>
-<li><b>name</b> - specifies a human-readable name for this type of launch configuration.</li>
-<li><b>public</b> - specifies whether this launch configuration type is accessible by users.  Defaults to true if not specified.</li>
-<li><b>category</b> - an optional attribute that specifies this launch configuration type's category. The default value is unspecified (null). Categories are client defined. This attribute was added in the 2.1 release.</li>
-</ul>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.fileExtension">fileExtension</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST fileExtension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extension&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;&nbsp;&nbsp;(true | false) </samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>extension</b> - specifies a file extension that this launch configuration type
-can be used for.</li>
-<li><b>default</b> - specifies whether this launch configuration type should be the default launch configuration type for the specified file extension.  Defaults to false if not specified.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch configuration type extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.launchConfigurationTypes&quot;</font>&gt;</font>
-  <font color="#000080">&lt;launchConfigurationType
-   id=<font color="#008000">&quot;com.example.ExampleIdentifier&quot;</font>
-   delegate=<font color="#008000">&quot;com.example.ExampleLaunchConfigurationDelegate&quot;</font>
-   modes=<font color="#008000">&quot;run,debug&quot;</font>
-   name=<font color="#008000">&quot;Example Application&quot;</font>&gt;</font>
-   <font color="#000080">&lt;fileExtension extension=<font color="#008000">&quot;txt&quot;</font> default=<font color="#008000">&quot;true&quot;</font>/&gt;</font>
-   <font color="#000080">&lt;fileExtension extension=<font color="#008000">&quot;gif&quot;</font> default=<font color="#008000">&quot;false&quot;</font>/&gt;</font>
-  <font color="#000080">&lt;/launchConfigurationType&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-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.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>delegate</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.ILaunchConfigurationDelegate</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchDelegates.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchDelegates.html
deleted file mode 100644
index 59ea6cc..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchDelegates.html
+++ /dev/null
@@ -1,67 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Delegates</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.launchDelegates<p>
-<b><i>Description: </i></b>This extension point provides a mechanism for contributing a launch delegate to an existing launch configuration type for one or more launch mode. Since launch modes are extensisble, 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.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.launchDelegate">launchDelegate</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.launchDelegate">launchDelegate</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST launchDelegate</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delegate&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modes&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this launch delegate.</li>
-<li><b>delegate</b> - specifies the fully qualified name of the Java class that implements <samp>ILaunchConfigurationDelegate</samp>.
-Launch configuration instances of this delegate's type will delegate to instances of this class to perform launching.</li>
-<li><b>modes</b> - specifies a comma-separated list of the modes this lauch delegate supports.</li>
-<li><b>type</b> - identifier of an existing launch configuration type that this launch delegate is capable of launching.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch delegate extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.launchDelegates&quot;</font>&gt;</font>
-  <font color="#000080">&lt;launchDelegate
-   id=<font color="#008000">&quot;com.example.ExampleProfileDelegate&quot;</font>
-   delegate=<font color="#008000">&quot;com.example.ExampleProfileDelegate&quot;</font>
-   type=<font color="#008000">&quot;org.eclipse.jdt.launching.localJavaApplication&quot;</font>
-   modes=<font color="#008000">&quot;profile&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/launchDelegate&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the specified launch delegate is contributed to launch Java applications in profile mode.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>delegate</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.ILaunchConfigurationDelegate</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchModes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchModes.html
deleted file mode 100644
index 776f8f1..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchModes.html
+++ /dev/null
@@ -1,59 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Launch Modes</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.launchModes<p>
-<b><i>Description: </i></b>This extension point provides a mechanism for contributing launch modes to the debug platform. The debug platform defines modes for "run", "debug", and "profile".<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.launchMode">launchMode</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.launchMode">launchMode</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST launchMode</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>mode</b> - specifies a unique identifier for this launch mode. The launch modes contributed by the debug plaform are "run", "debug", and "profile".</li>
-<li><b>label</b> - A human-readable label that describes the launch mode</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch delegate extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.launchModes&quot;</font>&gt;</font>
-  <font color="#000080">&lt;launchMode
-   mode=<font color="#008000">&quot;profile&quot;</font>
-   label=<font color="#008000">&quot;Profile&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/launchMode&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the profile launch mode is contributed.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchers.html
deleted file mode 100644
index 3e19000..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_launchers.html
+++ /dev/null
@@ -1,116 +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">

-<STYLE type="text/css">

-div.dtd-fragment {

-	width: 100%;

-	border: none;

-	background-color: #eee;

-}

-</STYLE>

-</HEAD>

-<HTML>

-<BODY>

-<H1><CENTER>Launcher (Obsolete)</CENTER></H1>

-<b><i>Identifier: </i></b>org.eclipse.debug.core.launchers<p>

-<b><i>Description: </i></b>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.<p><b><i>Configuration Markup:</i></b><p>

-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.launcher">launcher</a>*)&gt;</font></samp>

-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</font></samp>

-<ul>

-<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>

-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.launcher">launcher</a> EMPTY&gt;</font></samp>

-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST launcher</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wizard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(true | false) </samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perspective&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>

-<br><samp>&nbsp;&nbsp; &gt;</font></samp>

-<ul>

-<li><b>id</b> - a unique identifier that can be used to reference 
-this launcher.</li>

-<li><b>class</b> - fully qualified name of the class that implements 
-<samp>org.eclipse.debug.core.model.ILauncherDelegate</samp>.</li>

-<li><b>modes</b> - A comma separated list of modes this launcher supports. 
-The two supported modes are "run" and "debug" - 
-as defined in <samp>org.eclipse.debug.core.ILaunchManager</samp>. 
-A launcher may be capable of launching in one or both modes.</li>

-<li><b>label</b> - a label to use for the launcher. This attribute is used by the debug UI.</li>

-<li><b>wizard</b> - fully qualified name of the class that implements 
-<samp>org.eclipse.debug.ui.ILaunchWizard</samp>. 
-This attribute is used by the debug UI. A launcher 
-may contribute a wizard that allows users to configure 
-and launch specific attributes.</li>

-<li><b>public</b> - whether a launcher is publically visible in the debug UI.
-If "true",  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.</li>

-<li><b>description</b> - a description of the launcher.  Currently only used 
-if the wizard attribute is specified.</li>

-<li><b>perspective</b> - 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.</li>

-<li><b>icon</b> - a relative path of an icon that will represent the launcher 
-in the UI if specified.</li>

-</ul>

-<b><i>Examples: </i></b>The following is an example of a launcher extension point: 
-<p>
-<pre>
-   <font color="#000080">&lt;extension 
-      point = <font color="#008000">&quot;org.eclipse.debug.core.launchers&quot;</font>&gt;</font> 
-         <font color="#000080">&lt;launcher 
-             id = <font color="#008000">&quot;com.example.ExampleLauncher&quot;</font>
-             class = <font color="#008000">&quot;com.example.launchers.ExampleLauncher&quot;</font> 
-             modes = <font color="#008000">&quot;run, debug&quot;</font>
-        label = <font color="#008000">&quot;Example Launcher&quot;</font>
-      wizard = <font color="#008000">&quot;com.example.launchers.ui.ExampleLaunchWizard&quot;</font>     
-      public = <font color="#008000">&quot;true&quot;</font>
-      description = <font color="#008000">&quot;Launches example programs&quot;</font>
-      perspective= <font color="#008000">&quot;com.example.JavaPerspective&quot;</font>&gt;</font>  
-         <font color="#000080">&lt;/launcher&gt;</font> 
-   <font color="#000080">&lt;/extension&gt;</font> 
-</pre>
-</p>
-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, "Example Launcher" will appear as one of 
-the choices with the "Launches example programs" as the 
-description, and the wizard specified by 
-<samp>com.example.launchers.ui.ExampleLaunchWizard</samp>
-will be used to configure any launch specific details.<p>

-<b><i>API Information: </i></b>Value of the attribute <samp>class</samp> must be a fully 
-qualified class name of a Java class that implements 
-the interface 
-<samp>org.eclipse.debug.core.ILauncherDelegate</samp>. 
-Value of the attribute <samp>wizard</samp> must be a 
-fully qualified class name of a Java class that 
-implements <samp>org.eclipse.debug.ui.ILaunchWizard</samp>.<p>

-<font size="-1" color="#336699">

-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>

-</font>

-</BODY>

-</HTML>

diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_refreshLaunchVariables.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_refreshLaunchVariables.html
deleted file mode 100644
index 42a18ad..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_refreshLaunchVariables.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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Refresh Launch Variables</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.refreshLaunchVariables<p>
-<b><i>Since: </i></b>3.0<p>
-<b><i>Description: </i></b>This extension point defines a mechanism for defining refresh launch variables. Refresh launch variables are context launch variables that expand to a set of resources. These resources are intended to be refreshed when a launch configuration is executed.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.variable">variable</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.variable">variable</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST variable</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expanderClass&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>name</b> - specifies a unique name for this variable.</li>
-<li><b>expanderClass</b> - specifies a Java class which implements <samp>org.eclipse.debug.core.variables.IVariableExpander</samp>, which is used to determine the value of the variable</li>
-<li><b>description</b> - specifies the human-readable description of this variable</li>
-</ul>
-<b><i>Examples: </i></b>The following is a definition of a refresh launch variable that expands to  the selected resource:
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.refreshLaunchVariables&quot;</font>&gt;</font>
-   <font color="#000080">&lt;variable
-      name=<font color="#008000">&quot;resource&quot;</font>
-      expanderClass=<font color="#008000">&quot;com.example.RefreshResourceExpander&quot;</font>
-      description=<font color="#008000">&quot;The selected resource&quot;</font>&gt;</font>
-   <font color="#000080">&lt;/variable&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre><p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_simpleLaunchVariables.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_simpleLaunchVariables.html
deleted file mode 100644
index 3584ad5..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_simpleLaunchVariables.html
+++ /dev/null
@@ -1,80 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Simple Launch Variables</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.simpleLaunchVariables<p>
-<b><i>Since: </i></b>3.0<p>
-<b><i>Description: </i></b>This extension point provides a mechanism for defining simple launch configuration variables. A simple launch variable is a key/value pair (of strings) that can be used as an attribute value in a launch configuration which supports variable expansion.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.variable">variable</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.variable">variable</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST variable</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initializerClass&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>name</b> - specifies a unique name for this variable.</li>
-<li><b>initialValue</b> - specifies the initial value for this variable. When specified, an <samp>initializerClass</samp> attribute must not be specified.</li>
-<li><b>initializerClass</b> - specifies the fully qualified name of the Java class that implements <samp>org.eclipse.debug.core.variables.ILaunchVariableInitializer</samp>. When specified, an <samp>initialValue</samp> attribute must not be specified.</li>
-<li><b>description</b> - specifies a human-readable description of this variable</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a launch configuration variable extension point with an initial value:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.simpleLaunchVariables&quot;</font>&gt;</font>
-  <font color="#000080">&lt;variable
-   name=<font color="#008000">&quot;FOO_HOME&quot;</font>
-   initialValue=<font color="#008000">&quot;/usr/local/foo&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/variable&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the specified variable is created with the initial value "/usr/local/foo".
-
-         The following is an example of a launch configuration variable extension point with an initializer class:
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.simpleLaunchVariables&quot;</font>&gt;</font>
-  <font color="#000080">&lt;variable
-   name=<font color="#008000">&quot;FOO_HOME&quot;</font>
-   initializerClass=<font color="#008000">&quot;com.example.FooLocator&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/variable&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the variable FOO_HOME is created and the class "com.example.FooLocator" will be
-used to initialize the value the first time it's requested.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>initializerClass</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.variables.IVariableInitializer</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceLocators.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceLocators.html
deleted file mode 100644
index 05d4c71..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceLocators.html
+++ /dev/null
@@ -1,61 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Locators</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.sourceLocators<p>
-<b><i>Description: </i></b>This extension point provides a mechanism specifying a source locator to be used with a launch configuration.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourceLocator">sourceLocator</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.sourceLocator">sourceLocator</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST sourceLocator</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this source locator.</li>
-<li><b>class</b> - specifies the fully qualified name of the Java class that implements IPersistableSourceLocator.</li>
-<li><b>name</b> - a human-readable name, describing the type of this source locator.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a source locator extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.sourceLocators&quot;</font>&gt;</font>
-  <font color="#000080">&lt;sourceLocator
-   id=<font color="#008000">&quot;com.example.ExampleIdentifier&quot;</font>
-   class=<font color="#008000">&quot;com.example.ExampleSourceLocator&quot;</font>
-   name=<font color="#008000">&quot;Example Source Locator&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/sourceLocator&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p><p>
-<b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.model.IPersistableSourceLocator</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_statusHandlers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_statusHandlers.html
deleted file mode 100644
index 94e2e16..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_statusHandlers.html
+++ /dev/null
@@ -1,69 +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">
-<STYLE type="text/css">
-div.dtd-fragment {
-	width: 100%;
-	border: none;
-	background-color: #eee;
-}
-</STYLE>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Status Handlers</CENTER></H1>
-<b><i>Identifier: </i></b>org.eclipse.debug.core.statusHandlers<p>
-<b><i>Description: </i></b>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.<p><b><i>Configuration Markup:</i></b><p>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.statusHandler">statusHandler</a>*)&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST extension</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;&nbsp;CDATA #IMPLIED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<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>
-<p><samp><font color="#800000">&nbsp;&nbsp; &lt;!ELEMENT <a name="e.statusHandler">statusHandler</a> EMPTY&gt;</font></samp>
-<br><br><samp><font color="#800000">&nbsp;&nbsp; &lt;!ATTLIST statusHandler</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plugin&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</samp>
-<br><samp>&nbsp;&nbsp; &gt;</font></samp>
-<ul>
-<li><b>id</b> - specifies a unique identifier for this status handler.</li>
-<li><b>class</b> - specifies the fully qualified name of the Java class that implements IStatusHandler.</li>
-<li><b>plugin</b> - Plug-in identifier that corresponds to the plug-in of the status this handler is registered for.  (i.e. IStatus.getPlugin()).</li>
-<li><b>code</b> - specifies the status code this handler is registered for.</li>
-</ul>
-<b><i>Examples: </i></b>The following is an example of a status handler extension point:
-
-<p>
-<pre>
- <font color="#000080">&lt;extension point=<font color="#008000">&quot;org.eclipse.debug.core.statusHandlers&quot;</font>&gt;</font>
-  <font color="#000080">&lt;statusHandler
-   id=<font color="#008000">&quot;com.example.ExampleIdentifier&quot;</font>
-   class=<font color="#008000">&quot;com.example.ExampleStatusHandler&quot;</font>
-   plugin=<font color="#008000">&quot;com.example.ExamplePluginId&quot;</font>
-   code=<font color="#008000">&quot;123&quot;</font>&gt;</font>
-  <font color="#000080">&lt;/statusHandler&gt;</font>
- <font color="#000080">&lt;/extension&gt;</font>
-</pre>
-</p>
-
-In the example above, the specified status handler will be registered for to handle status objects with a plug-in identifier of 
-<samp>com.example.ExamplePluginId</samp> and a status code of <samp>123</samp>.<p>
-<b><i>API Information: </i></b>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.debug.core.IStatusHandler</b>.<p>
-<font size="-1" color="#336699">
-<p>
-<a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324></a>
-</p><p>
-</font>
-</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 62d753b..0000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM 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
-simpleLaunchVariablesName=Simple Launch Configuration Variables
-contextLaunchVariablesName=Context Launch Variables
-refreshLaunchVariablesName=Refresh Launch Variables
-run=&Run
-debug=&Debug
-profile=&Profile
-
-container_loc.description= Expands to the absolute file system path of the folder containing the selected resource.
-container_path.description= Expands to the full path, relative to the workspace root, of the folder containing the selected resource.
-container_name.description= Expands to the name of the folder containing selected resource.
-project_loc.description= Expands to the absolute file system path of the selected resource's project.
-project_path.description= Expands to the full path, relative to the workspace root, of the selected resource's project.
-project_name.description= Expands to the name of the selected resource's project.
-resource_loc.description= Expands to the absolute file system path of the selected resource.
-resource_path.description= Expands to the full path, relative to the workspace root, of the selected resource.
-resource_name.description= Expands to the name of the selected resource.
-workspace_loc.description= Expands to the workspace root's absolute file system path.
\ No newline at end of file
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index 10ffa27..0000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.debug.core"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.debug.core.DebugPlugin">
-
-   <runtime>
-      <library name="dtcore.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.debug.core,org.eclipse.debug.internal.core"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.apache.xerces"/>
-      <import plugin="org.eclipse.core.resources"/>
-   </requires>
-
-
-<!-- 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="simpleLaunchVariables" name="%simpleLaunchVariablesName" schema="schema/simpleLaunchVariables.exsd"/>
-   <extension-point id="contextLaunchVariables" name="%contextLaunchVariablesName" schema="schema/contextLaunchVariables.exsd"/>
-   <extension-point id="refreshLaunchVariables" name="%refreshLaunchVariablesName" schema="schema/refreshLaunchVariables.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>
-   <extension
-         point="org.eclipse.debug.core.contextLaunchVariables">
-      <variable
-            name="workspace_loc"
-            expanderClass="org.eclipse.debug.internal.core.variables.WorkspaceExpander"
-            description="%workspace_loc.description">
-      </variable>
-      <variable
-            name="project_loc"
-            expanderClass="org.eclipse.debug.internal.core.variables.ProjectExpander"
-            description="%project_loc.description">
-      </variable>
-      <variable
-            name="project_path"
-            expanderClass="org.eclipse.debug.internal.core.variables.ProjectExpander"
-            description="%project_path.description">
-      </variable>
-      <variable
-            name="project_name"
-            expanderClass="org.eclipse.debug.internal.core.variables.ProjectNameExpander"
-            description="%project_name.description">
-      </variable>
-      <variable
-            name="resource_loc"
-            expanderClass="org.eclipse.debug.internal.core.variables.ResourceExpander"
-            description="%resource_loc.description">
-      </variable>
-      <variable
-            name="resource_path"
-            expanderClass="org.eclipse.debug.internal.core.variables.ResourceExpander"
-            description="%resource_path.description">
-      </variable>
-      <variable
-            name="resource_name"
-            expanderClass="org.eclipse.debug.internal.core.variables.ResourceNameExpander"
-            description="%resource_name.description">
-      </variable>
-      <variable
-            name="container_loc"
-            expanderClass="org.eclipse.debug.internal.core.variables.ContainerExpander"
-            description="%container_loc.description">
-      </variable>
-      <variable
-            name="container_path"
-            expanderClass="org.eclipse.debug.internal.core.variables.ContainerExpander"
-            description="%container_path.description">
-      </variable>
-      <variable
-            name="container_name"
-            expanderClass="org.eclipse.debug.internal.core.variables.ContainerNameExpander"
-            description="%container_name.description">
-      </variable>
-   </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_changes.html b/org.eclipse.debug.core/r3_0_changes.html
deleted file mode 100644
index 25b119d..0000000
--- a/org.eclipse.debug.core/r3_0_changes.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<title>Untitled Document</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 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 assocaited 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 confiugration 
-  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>Extensible Instruction Pointer Images</h3>
-<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>
-<h3>Editor Positioning and Custom Decorations</h3>
-<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>
-<h2>API Changes</h2>
-<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>
-</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 9aafb13..0000000
--- a/org.eclipse.debug.core/schema/breakpoints.exsd
+++ /dev/null
@@ -1,118 +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;samp&gt;IBreakpoint&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.Breakpoint"/>
-               </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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/contextLaunchVariables.exsd b/org.eclipse.debug.core/schema/contextLaunchVariables.exsd
deleted file mode 100644
index b251ee2..0000000
--- a/org.eclipse.debug.core/schema/contextLaunchVariables.exsd
+++ /dev/null
@@ -1,112 +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="contextLaunchVariables" name="Context Launch Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining context sensitive launch configuration variables. Context launch variables derive their value dynamically based on a client defined context (for example, the selected resource). Context launch variables can be used as attribute values in launch configurations that support variable expansion.

-      </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="expanderClass" type="string" use="required">

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </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 context launch variable that expands to the name of the selected resource:
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.contextLaunchVariables&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="copyright"/>

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 6a3ff56..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationComparators.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="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;samp&gt;java.util.Comparator&lt;/samp&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="org.eclipse.debug.core.launchConfigurationComparators"&gt;
-		&lt;launchConfigurationComparator
-			id="com.example.ExampleIdentifier"
-			attribute="com.example.ExampleAttributeName"
-			class="com.example.ComparatorImplementation"&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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 7153711..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
+++ /dev/null
@@ -1,173 +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;samp&gt;ILaunchConfigurationDelegate&lt;/samp&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>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type is accessible by users.  Defaults to true 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 (null). Categories are client defined. This attribute was added in the 2.1 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 false 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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 65c5667..0000000
--- a/org.eclipse.debug.core/schema/launchDelegates.exsd
+++ /dev/null
@@ -1,133 +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 mode. Since launch modes are extensisble, 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;samp&gt;ILaunchConfigurationDelegate&lt;/samp&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>

-      </complexType>

-   </element>

-

-   <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>

-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 4507460..0000000
--- a/org.eclipse.debug.core/schema/launchModes.exsd
+++ /dev/null
@@ -1,113 +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>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <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>

-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 02528ab..0000000
--- a/org.eclipse.debug.core/schema/launchers.exsd
+++ /dev/null
@@ -1,220 +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 class that implements 
-&lt;samp&gt;org.eclipse.debug.core.model.ILauncherDelegate&lt;/samp&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;samp&gt;org.eclipse.debug.core.ILaunchManager&lt;/samp&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>
-            </annotation>
-         </attribute>
-         <attribute name="wizard" type="string">
-            <annotation>
-               <documentation>
-                  fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/samp&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 &quot;true&quot;,  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>
-            </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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/refreshLaunchVariables.exsd b/org.eclipse.debug.core/schema/refreshLaunchVariables.exsd
deleted file mode 100644
index e48b747..0000000
--- a/org.eclipse.debug.core/schema/refreshLaunchVariables.exsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="refreshLaunchVariables" name="Refresh Launch Variables"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a mechanism for defining refresh launch variables. Refresh launch variables are context launch variables that expand to a set of resources. These resources are intended to be refreshed when a launch configuration is executed.
-      </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="expanderClass" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a Java class which implements &lt;samp&gt;org.eclipse.debug.core.variables.IVariableExpander&lt;/samp&gt;, which is used to determine the value of the variable
-               </documentation>
-                <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.variables.IVariableExpander"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the human-readable description of this variable
-               </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 refresh launch variable that expands to  the selected resource:
-&lt;pre&gt;
- &lt;extension point="org.eclipse.debug.core.refreshLaunchVariables"&gt;
-   &lt;variable
-      name="resource"
-      expanderClass="com.example.RefreshResourceExpander"
-      description="The selected resource"&gt;
-   &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/simpleLaunchVariables.exsd b/org.eclipse.debug.core/schema/simpleLaunchVariables.exsd
deleted file mode 100644
index 5172bf5..0000000
--- a/org.eclipse.debug.core/schema/simpleLaunchVariables.exsd
+++ /dev/null
@@ -1,147 +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="simpleLaunchVariables" name="Simple Launch Variables"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for defining simple launch configuration variables. A simple launch variable is a key/value pair (of strings) that can be used as an attribute value in a launch configuration which supports variable expansion.

-      </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;samp&gt;initializerClass&lt;/samp&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;samp&gt;org.eclipse.debug.core.variables.ILaunchVariableInitializer&lt;/samp&gt;. When specified, an &lt;samp&gt;initialValue&lt;/samp&gt; attribute must not be specified.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </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 configuration variable extension point with an initial value:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.simpleLaunchVariables&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 launch configuration variable extension point with an initializer class:
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.simpleLaunchVariables&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.debug.core.variables.IVariableInitializer&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 883831b..0000000
--- a/org.eclipse.debug.core/schema/sourceLocators.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="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 IPersistableSourceLocator.
-               </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>
-            </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="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;
-&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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 a100b79..0000000
--- a/org.eclipse.debug.core/schema/statusHandlers.exsd
+++ /dev/null
@@ -1,128 +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 IStatusHandler.
-               </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. IStatus.getPlugin()).
-               </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="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;
-&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>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&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 c10abc8..0000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,16 +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="src" path="/org.apache.ant"/>

-    <classpathentry kind="src" path="/org.apache.xerces"/>

-    <classpathentry kind="src" path="/org.eclipse.ant.core"/>

-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>

-    <classpathentry kind="src" path="/org.eclipse.ui"/>

-    <classpathentry kind="src" path="/org.eclipse.debug.core"/>

-    <classpathentry kind="src" path="/org.eclipse.debug.ui"/>

-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>

-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>

-    <classpathentry kind="var" path="JRE_LIB" sourcepath="JRE_SRC"/>

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

-</classpath>

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/.options b/org.eclipse.ui.externaltools/.options
deleted file mode 100644
index d127194..0000000
--- a/org.eclipse.ui.externaltools/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.externaltools plugin.

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

-<projectDescription>

-	<name>org.eclipse.ui.externaltools</name>

-	<comment></comment>

-	<projects>

-		<project>org.apache.ant</project>

-		<project>org.apache.xerces</project>

-		<project>org.eclipse.ant.core</project>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.debug.core</project>

-		<project>org.eclipse.debug.ui</project>

-		<project>org.eclipse.ui</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/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 11e9e53..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.variables.LaunchVariableUtil;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.launchVariables.IVariableComponent;
-import org.eclipse.debug.ui.launchVariables.IVariableComponentContainer;
-import org.eclipse.jface.dialogs.IMessageProvider;
-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.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ExternalToolsBuilderTab extends AbstractLaunchConfigurationTab implements IVariableComponentContainer {
-
-	private Button fullBuildButton;
-	private Button autoBuildButton;
-	private Button incrementalBuildButton;
-	private Button workingSetButton;
-	private IVariableComponent workingSetComponent;
-	
-	private SelectionListener selectionListener= new SelectionAdapter() {
-		/**
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			boolean enabled= autoBuildButton.getSelection() || incrementalBuildButton.getSelection();
-			workingSetButton.setEnabled(enabled);
-			workingSetComponent.setEnabled(enabled);
-			updateLaunchConfigurationDialog();
-		}
-	};
-
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createBuildScheduleComponent(mainComposite);
-		
-		workingSetComponent= DebugUITools.getVariableComponentManager().getComponent(IExternalToolConstants.VAR_WORKING_SET);
-		workingSetComponent.createContents(mainComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Working_Sets_1"), this); //$NON-NLS-1$
-	}
-	
-	private void createBuildScheduleComponent(Composite parent) {
-		Label label= new Label(parent, SWT.NONE);
-		label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Run_this_builder_for__1")); //$NON-NLS-1$
-		fullBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Full_builds_2"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Full")); //$NON-NLS-1$ //$NON-NLS-2$
-		incrementalBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Incremental_builds_4"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Inc")); //$NON-NLS-1$ //$NON-NLS-2$
-		autoBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Auto")); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		SelectionAdapter listener= new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateWorkingSetComponent();
-			}
-		};
-		
-		new Label(parent, SWT.NONE);
-		
-		workingSetButton= createButton(parent, listener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_label"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_tooltip")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * Creates a check button in the given composite with the given text
-	 */
-	private Button createButton(Composite parent, SelectionListener listener, String text, String tooltipText) {
-		Button button= new Button(parent, SWT.CHECK);
-		button.setText(text);
-		button.setToolTipText(tooltipText);
-		button.addSelectionListener(listener);
-		return button;
-	}
-
-	/**
-	 * @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());
-	}
-
-	/**
-	 * Sets the state of the widgets from the given configuration
-	 * 
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		
-		fullBuildButton.setSelection(false);
-		incrementalBuildButton.setSelection(false);
-		autoBuildButton.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) {
-			LaunchVariableUtil.VariableDefinition variable= LaunchVariableUtil.extractVariableDefinition(buildScope, 0);
-			workingSetComponent.setVariableValue(variable.argument);
-		}
-		
-		updateWorkingSetComponent();
-		
-		int buildTypes[]= ExternalToolBuilder.buildTypesToArray(buildKindString);
-		for (int i = 0; i < buildTypes.length; i++) {
-			switch (buildTypes[i]) {
-				case IncrementalProjectBuilder.FULL_BUILD:
-					fullBuildButton.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-					incrementalBuildButton.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.AUTO_BUILD:
-					autoBuildButton.setSelection(true);
-					break;
-			}
-		}
-		boolean enabled= autoBuildButton.getSelection() || incrementalBuildButton.getSelection();
-		workingSetButton.setEnabled(enabled);
-		workingSetComponent.setEnabled(enabled);
-	}
-
-	/**
-	 * Stores the settings from the dialog into the launch configuration
-	 * 
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer();
-		if (fullBuildButton.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
-		} 
-		if (incrementalBuildButton.getSelection()){
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(','); 
-		} 
-		if (autoBuildButton.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
-		}
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		
-		if (workingSetButton.getSelection()) {
-			String variableTag= LaunchVariableUtil.newVariableExpression("working_set", workingSetComponent.getVariableValue()); //$NON-NLS-1$
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, variableTag);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Build_Options_9"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_PROJECT);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.externaltools.internal.group.IVariableComponentContainer#updateValidState()
-	 */
-	public void updateValidState() {
-		updateLaunchConfigurationDialog();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType()
-	 */
-	public int getMessageType() {
-		if (getErrorMessage() != null) {
-			return IMessageProvider.ERROR;
-		} else if (getMessage() != null) {
-			return IMessageProvider.WARNING;
-		}
-		return IMessageProvider.NONE;
-	}
-	
-	public void setErrorMessage(String errorMessage) {
-		super.setErrorMessage(errorMessage);
-	}
-	
-	private void updateWorkingSetComponent() {
-		workingSetComponent.getControl().setVisible(workingSetButton.getSelection());
-		setErrorMessage(null);
-		if (workingSetButton.getSelection()) {
-			workingSetComponent.validate();
-		}
-	
-		updateLaunchConfigurationDialog();			
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		if (!workingSetComponent.isValid()) {
-			return false;
-		}
-		setErrorMessage(null);
-		setMessage(null);
-		
-		boolean buildKindSelected= fullBuildButton.getSelection() || incrementalBuildButton.getSelection() || autoBuildButton.getSelection();
-		if (!buildKindSelected) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.buildKindError")); //$NON-NLS-1$
-			return false;
-		}
-
-		return workingSetComponent.isValid();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return isValid(null);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		workingSetComponent.dispose();
-	}
-
-}
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 e1e1695..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsLaunchConfigurationMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsLaunchConfigurationMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsLaunchConfigurationMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
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 0401f65..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ExternalToolsMainTab.&Location___2=&Location: 
-ExternalToolsMainTab.&Browse_Workspace..._3=&Browse Workspace...
-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 F&ile System...
-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.&Select_a_directory__23=&Select a working directory:
-ExternalToolsMainTab.&Arguments___1=&Arguments: 
-ExternalToolsMainTab.Varia&bles..._2=Variable&s...
-ExternalToolsMainTab.Note__Enclose_an_argument_containing_spaces_using_double-quotes_(__)._Not_applicable_for_variables._3=Note: Enclose an argument containing spaces using double-quotes (\").\nNot applicable for variables.
-ExternalToolsMainTab.Run_tool_in_bac&kground_4=&Run tool in background
-ExternalToolsMainTab.Error_reading_configuration_7=Error reading configuration
-ExternalToolsMainTab.Invalid_Expected_closing_}=Invalid variable format. Expected closing }
-ExternalToolsMainTab.No_variable_specified=Invalid variable format. No variable specified
-ExternalToolsMainTab.Unknown_variable=Unknown variable: {0}
-ExternalToolsMainTab.Not_a_directory=The specified location is not a directory
-
-ExternalToolsUtil.Location_not_specified_by_{0}_1=Location not specified by {0}
-ExternalToolsUtil.Exception(s)_occurred_during_refresh._2=Exception(s) occurred during refresh.
-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}.
-ExternalToolsUtil.refreshResources = Refresh resources...
-ExternalToolsUtil.invalidRefreshVarFormat = Invalid refresh scope variable format for the external tool named {0}.
-ExternalToolsUtil.noRefreshVarNamed = Could not find refresh scope variable called ''{1}'' for the external tool named {0}.
-ExternalToolsUtil.Could_not_resolve_an_argument._1=Could not resolve an argument.
-ExternalToolsUtil.Could_not_resolve_location._3=Could not resolve location.
-ExternalToolsUtil.Could_not_resolve_working_directory._4=Could not resolve working directory.
-
-ExternalToolsBuilderTab.Run_this_builder_for__1=Run for:
-ExternalToolsBuilderTab.&Full_builds_2=&Full builds
-ExternalToolsBuilderTab.Full=Runs whenever a full build is invoked. The \"Rebuild All\" action causes a full build.
-ExternalToolsBuilderTab.&Incremental_builds_4=&Incremental builds
-ExternalToolsBuilderTab.Inc=Runs whenever an incremental build is invoked. The \"Build All\" action causes an incremental build.
-ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6=&Auto 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.Working_Sets_1=Working Set
-ExternalToolsBuilderTab.workingSet_label=Specify working set of &relevant resources (not applied to full builds)
-ExternalToolsBuilderTab.workingSet_tooltip=The working set of resources that if changed from an incremental or auto build will trigger the external tool builder
-ExternalToolsBuilderTab.buildKindError=At least one type of build kind must be selected
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 642ea3b..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-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.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.variables.ILaunchVariableManager;
-import org.eclipse.debug.core.variables.LaunchVariableUtil;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.launchVariables.LaunchVariableSelectionDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-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;
-
-public abstract class ExternalToolsMainTab extends AbstractLaunchConfigurationTab {
-
-	protected Text locationField;
-	protected Text workDirectoryField;
-	protected Button fileLocationButton;
-	protected Button workspaceLocationButton;
-	protected Button fileWorkingDirectoryButton;
-	protected Button workspaceWorkingDirectoryButton;
-
-	protected Button runBackgroundButton;
-	protected Text argumentField;
-	protected Button variableButton;
-
-	protected SelectionAdapter selectionAdapter;
-	
-	/**
-	 * The default value to use for the IExternalToolConstants.ATTR_RUN_IN_BACKGROUND attribute.
-	 */
-	private boolean runInBackgroundAttributeDefaultValue;
-	
-	protected ModifyListener modifyListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			updateLaunchConfigurationDialog();
-		}
-	};
-
-	public ExternalToolsMainTab(boolean runInBackgroundDefaultValue) {
-		runInBackgroundAttributeDefaultValue= runInBackgroundDefaultValue;
-	}
-	
-	/**
-	 * @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);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createLocationComponent(mainComposite);
-		createWorkDirectoryComponent(mainComposite);
-		createArgumentComponent(mainComposite);
-		createVerticalSpacer(mainComposite, 2);
-		createRunBackgroundComponent(mainComposite);
-	}
-	
-	/**
-	 * Creates the controls needed to edit the location
-	 * attribute of an external tool
-	 * 
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createLocationComponent(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayout(layout);
-		composite.setLayoutData(gridData);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Location___2")); //$NON-NLS-1$
-		label.setFont(font);
-		
-		locationField = new Text(composite, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		locationField.setLayoutData(data);
-		locationField.setFont(font);
-		
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(font);
-		
-		createVerticalSpacer(buttonComposite, 1);
-		
-		workspaceLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Browse_Workspace..._3"), null); //$NON-NLS-1$
-		workspaceLocationButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleWorkspaceLocationButtonSelected();
-			}
-		});
-		fileLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Brows&e_File_System..._4"), null); //$NON-NLS-1$
-		fileLocationButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleLocationButtonSelected();
-			}
-		});
-	}
-	
-	/**
-	 * 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) {
-		Font font = parent.getFont();
-		
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayout(layout);
-		composite.setLayoutData(gridData);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(getWorkingDirectoryLabel());
-		label.setFont(font);
-		
-		workDirectoryField = new Text(composite, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		workDirectoryField.setLayoutData(data);
-		workDirectoryField.setFont(font);
-		
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(font);
-		
-		createVerticalSpacer(buttonComposite, 1);
-		workspaceWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_Wor&kspace..._6"), null); //$NON-NLS-1$
-		workspaceWorkingDirectoryButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleWorkspaceWorkingDirectoryButtonSelected();
-			}
-		});
-		fileWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_F&ile_System..._7"), null); //$NON-NLS-1$
-		fileWorkingDirectoryButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleFileWorkingDirectoryButtonSelected();
-			}
-		});
-	}
-	/**
-	 * Return the String to use as the label for the working directory field.
-	 * @return String
-	 */
-	protected String getWorkingDirectoryLabel() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Working_&Directory__5"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * 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) {
-		Font font = parent.getFont();
-
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Arguments___1")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-		label.setFont(font);
-
-		argumentField = new Text(parent, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		data.heightHint= 40;
-		argumentField.setLayoutData(data);
-		argumentField.setFont(font);
-		argumentField.addModifyListener(modifyListener);
-
-		variableButton= createPushButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Varia&bles..._2"), null); //$NON-NLS-1$
-		GridData gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
-		variableButton.setLayoutData(gridData);
-		variableButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				LaunchVariableSelectionDialog dialog= new LaunchVariableSelectionDialog(getShell());
-				if (dialog.open() == Window.OK) {
-					argumentField.insert(dialog.getForm().getSelectedVariable());
-				}
-			}
-		});
-
-		Label instruction = new Label(parent, SWT.NONE);
-		instruction.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Note__Enclose_an_argument_containing_spaces_using_double-quotes_(__)._Not_applicable_for_variables._3")); //$NON-NLS-1$
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		instruction.setLayoutData(data);
-		instruction.setFont(font);
-	}
-
-	/**
-	 * Creates the controls needed to edit the run in background
-	 * attribute of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createRunBackgroundComponent(Composite parent) {
-		runBackgroundButton = new Button(parent, SWT.CHECK);
-		runBackgroundButton.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Run_tool_in_bac&kground_4")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		runBackgroundButton.setLayoutData(data);
-		runBackgroundButton.setFont(parent.getFont());
-		runBackgroundButton.addSelectionListener(getSelectionAdapter());
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		updateLocation(configuration);
-		updateWorkingDirectory(configuration);
-		updateArgument(configuration);
-		updateRunBackground(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.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		workDirectoryField.setText(workingDir);
-		workDirectoryField.addModifyListener(modifyListener);
-		
-	}
-	
-	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.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		locationField.setText(location);
-		locationField.addModifyListener(modifyListener);
-	}
-
-	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.getString("ExternalToolsMainTab.Error_reading_configuration_7"), ce); //$NON-NLS-1$
-		}
-		argumentField.setText(arguments);
-	}
-
-	protected void updateRunBackground(ILaunchConfiguration configuration) {
-		boolean runInBackground= true;
-		try {
-			runInBackground= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, runInBackgroundAttributeDefaultValue);
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_7"), ce); //$NON-NLS-1$
-		}
-		runBackgroundButton.setSelection(runInBackground);
-	}
-
-	/**
-	 * @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);
-		}
-		
-		setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, configuration, runBackgroundButton.getSelection(), runInBackgroundAttributeDefaultValue);
-
-		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);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Main_17"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		return validateLocation() && validateWorkDirectory() && validateArguments();
-	}
-	
-	/**
-	 * Validates the content of the arguments field
-	 */
-	protected boolean validateArguments() {
-		String value= argumentField.getText().trim();
-		// Check if variables exist
-		if (!containsVariable(value)) {
-			return true;
-		}
-		String variableError= validateVariables(value);
-		if (variableError != null) {
-			setErrorMessage(variableError);
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Validates the content of the location field.
-	 */
-	protected boolean validateLocation() {
-		String value = locationField.getText().trim();
-		if (value.length() < 1) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_cannot_be_empty_18")); //$NON-NLS-1$
-			setMessage(null);
-			return false;
-		}
-
-		// Check if variables exist
-		if (containsVariable(value)) {
-			String variableError= validateVariables(value);
-			if (variableError != null) {
-				setErrorMessage(variableError);
-				return false;
-			}
-			return true;
-		}
-		
-		File file = new File(value);
-		if (!file.exists()) { // The file does not exist.
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_does_not_exist_19")); //$NON-NLS-1$
-			return false;
-		}
-		if (!file.isFile()) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns an error string to be displayed to the user if any variable
-	 * errors are found in the given string or <code>null</code> if no errors
-	 * are found.
-	 */
-	private String validateVariables(String value) {
-		int start= 0;
-		LaunchVariableUtil.VariableDefinition variable = LaunchVariableUtil.extractVariableDefinition(value, start);
-		while (variable.start != -1) {
-			if (variable.end == -1) {
-				return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Invalid_Expected_closing_}"); //$NON-NLS-1$
-			}
-			if (variable.name == null || variable.name.length() == 0) {
-				return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.No_variable_specified"); //$NON-NLS-1$
-			}
-			ILaunchVariableManager manager= DebugPlugin.getDefault().getLaunchVariableManager();
-			if (manager.getContextVariable(variable.name) == null && manager.getSimpleVariable(variable.name) == null) {
-				return MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Unknown_variable"), new String[] {variable.name}); //$NON-NLS-1$
-			}
-			start= variable.end;
-			variable = LaunchVariableUtil.extractVariableDefinition(value, start);
-		}
-		return null;
-	}
-	
-	private boolean containsVariable(String value) {
-		return LaunchVariableUtil.extractVariableDefinition(value, 0).start != -1;
-	}
-
-	/**
-	 * Validates the content of the working directory field.
-	 */
-	protected boolean validateWorkDirectory() {
-		
-		String value = workDirectoryField.getText().trim();
-		if (value.length() <= 0) {
-			return true;
-		}
-		// Check if variables exist
-		if (containsVariable(value)) {
-			String variableError= validateVariables(value);
-			if (variableError != null) {
-				setErrorMessage(variableError);
-				return false;
-			}
-			return true;
-		}
-			
-		File file = new File(value);
-		if (!file.exists()) { // The directory does not exist.
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21")); //$NON-NLS-1$
-			return false;
-		}
-		if (!file.isDirectory()) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Not_a_directory")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	protected void handleLocationButtonSelected() {
-		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.getString("ExternalToolsMainTab.Select_a_resource_22")); //$NON-NLS-1$
-		dialog.open();
-		Object[] results = dialog.getResult();
-		if (results == null || results.length < 1) {
-			return;
-		}
-		IResource resource = (IResource)results[0];
-		locationField.setText(LaunchVariableUtil.newVariableExpression(ILaunchVariableManager.VAR_WORKSPACE_LOC, resource.getFullPath().toString()));
-	}
-	
-	/**
-	 * 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.getString("ExternalToolsMainTab.&Select_a_directory__23")); //$NON-NLS-1$
-		containerDialog.open();
-		Object[] resource = containerDialog.getResult();
-		String text= null;
-		if (resource != null && resource.length > 0) {
-			text= LaunchVariableUtil.newVariableExpression(ILaunchVariableManager.VAR_WORKSPACE_LOC, ((IPath)resource[0]).toString());
-		}
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	protected void handleFileWorkingDirectoryButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SAVE);
-		dialog.setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Select_a_directory__23")); //$NON-NLS-1$
-		dialog.setFilterPath(workDirectoryField.getText());
-		String text= dialog.open();
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_MAIN);
-	}
-	
-	/**
-	 * Method getSelectionAdapter.
-	 * @return SelectionListener
-	 */
-	protected SelectionListener getSelectionAdapter() {
-		if (selectionAdapter == null) {
-			selectionAdapter= new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateLaunchConfigurationDialog();
-				}
-			};
-		}
-		return selectionAdapter;
-	}
-	
-}
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 61ccab2..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243(
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.variables.LaunchVariableUtil;
-import org.eclipse.debug.ui.launchVariables.RefreshTab;
-import org.eclipse.debug.ui.launchVariables.LaunchVariableContextManager;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Utilities for external tool launch configurations.
- * <p>
- * This class it not intended to be instantiated.
- * </p>
- */
-public class ExternalToolsUtil {
-
-	private static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-
-	/**
-	 * Not to be instantiated.
-	 */
-	private 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, based on the given variable context. The location is
-	 * verified to point to an existing file, in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @param context context used to expand variables
-	 * @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.getString("ExternalToolsUtil.Location_not_specified_by_{0}_1"), new String[] { configuration.getName()}), null, 0); //$NON-NLS-1$
-		} else {
-			MultiStatus status = new MultiStatus(IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Could_not_resolve_location._3"), null); //$NON-NLS-1$
-			String expandedLocation = LaunchVariableUtil.expandVariables(location, status, LaunchVariableContextManager.getDefault().getVariableContext());
-			if (status.isOK()) {
-				if (expandedLocation == null || expandedLocation.length() == 0) {
-					String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-					abort(msg, null, 0);
-				} else {
-					File file = new File(expandedLocation);
-					if (file.isFile()) {
-						return new Path(expandedLocation);
-					} else {
-						String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-						abort(msg, null, 0);
-					}
-				}
-			} else {
-				throw new CoreException(status);
-			}
-		}
-		// 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(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, true);
-	}
-
-	/**
-	 * Expands and returns the working directory attribute of the given launch
-	 * configuration, based on the given variable context. 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
-	 * @param context context used to expand variables
-	 * @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) {
-			MultiStatus status = new MultiStatus(IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Could_not_resolve_working_directory._4"), null); //$NON-NLS-1$
-			String expandedLocation = LaunchVariableUtil.expandVariables(location, status, LaunchVariableContextManager.getDefault().getVariableContext());
-			if (status.isOK()) {
-				if (expandedLocation != null && expandedLocation.length() > 0) {
-					File path = new File(expandedLocation);
-					if (path.isDirectory()) {
-						return new Path(expandedLocation);
-					} else {
-						String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidDirectory_{0}"), new Object[] { expandedLocation, configuration.getName()}); //$NON-NLS-1$
-						abort(msg, null, 0);
-					}
-				}
-			} else {
-				throw new CoreException(status);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Expands and returns the arguments attribute of the given launch
-	 * configuration, based on the given variable context. Returns
-	 * <code>null</code> if arguments are not specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @param context context used to expand variables
-	 * @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) {
-			MultiStatus status = new MultiStatus(IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Could_not_resolve_an_argument._1"), null); //$NON-NLS-1$
-			String[] expandedArgs = LaunchVariableUtil.expandStrings(args, status, LaunchVariableContextManager.getDefault().getVariableContext());
-			if (status.isOK()) {
-				return expandedArgs;
-			} else {
-				throw new CoreException(status);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns whether the given configuration is to be run in the background.
-	 * 
-	 * @param configuration the configuration for which the background state should
-	 * 		be determined.
-	 * @return whether the given configuration is to be run in the background
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isBackground(ILaunchConfiguration configuration) throws CoreException {
-		boolean defaultValue= true;
-		if (configuration.getCategory().equals(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY)) {
-			// Project builders are not run in the background by default.
-			defaultValue= false;
-		}
-		return configuration.getAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, defaultValue);
-	}
-	
-	/**
-	 * Returns the collection of resources for the build scope as specified by the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @param context context used to expand variables
-	 * @param monitor progress monitor
-	 * @throws CoreException if an exception occurs while retrieving the resources
-	 */
-	public static IResource[] getResourcesForBuildScope(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		String scope = configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String) null);
-		if (scope == null) {
-			return null;
-		}
-	
-		return RefreshTab.expandResources(scope, monitor);
-	
-	}
-
-	/**
-	 * 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
-	 * @param newName a new name for the config if the one in the command is
-	 * invalid
-	 * @return a launch configuration, a launch configuration working copy, or
-	 * <code>null</code> if not possible.
-	 */
-	public static ILaunchConfiguration configFromBuildCommandArgs(Map commandArgs) {
-		String configHandle = (String) commandArgs.get(LAUNCH_CONFIG_HANDLE);
-		if (configHandle == null) {
-			// Probably an old-style external tool. Try to migrate.
-			return ExternalToolMigration.configFromArgumentMap(commandArgs);
-		}
-		try {
-			return DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(configHandle);
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-}
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 9516fec..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-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;
-		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/menu/ExternalToolMenuDelegate.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
deleted file mode 100644
index 276445a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-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 view.
- */
-public class ExternalToolMenuDelegate extends AbstractLaunchToolbarAction {
-	
-	/**
-	 * Creates the action delegate
-	 */
-	public ExternalToolMenuDelegate() {
-		super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
-	}
-
-}
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 5ea12f6..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.text.MessageFormat;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-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.ILaunchManager;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-
-/**
- * This project builder implementation will run an external tool or tools during the
- * build process. 
- * <p>
- * Note that there is only ever one instance of ExternalToolBuilder per project,
- * and the external tool to run is specified in the builder's arguments.
- * </p>
- */
-public final class ExternalToolBuilder extends IncrementalProjectBuilder {
-	public static final String ID = "org.eclipse.ui.externaltools.ExternalToolBuilder"; //$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};
-
-	private static String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-	
-	private boolean buildKindCompatible(int kind, ILaunchConfiguration config) throws CoreException {
-		int[] buildKinds = buildTypesToArray((String) config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, "")); //$NON-NLS-1$
-		for (int j = 0; j < buildKinds.length; j++) {
-			if (kind == buildKinds[j]) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on IncrementalProjectBuilder.
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
-		if (kind == FULL_BUILD) {
-			ILaunchConfiguration config = ExternalToolsUtil.configFromBuildCommandArgs(args);
-			if (config != null && buildKindCompatible(kind, config)) {
-				launchBuild(kind, config, monitor);
-			}
-			return null;
-		}
-		
-		//need to build all external tools from one builder (see bug 39713)
-		//if not a full build
-		ICommand[] commands = getProject().getDescription().getBuildSpec();
-		for (int i = 0; i < commands.length; i++) {
-			if (ID.equals(commands[i].getBuilderName())){
-				ILaunchConfiguration config = ExternalToolsUtil.configFromBuildCommandArgs(commands[i].getArguments());
-				if (config != null && buildKindCompatible(kind, config)) {
-					doBuild(kind, commands[i].getArguments(), config, monitor);
-				}
-			}
-		}
-		return null;
-	}
-
-	protected void doBuild(int kind, Map args, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		boolean buildForChange = true;
-		IResource[] resources = ExternalToolsUtil.getResourcesForBuildScope(config, monitor);
-		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.getString("ExternalToolBuilder.Running_{0}..._1"), new String[] { config.getName()})); //$NON-NLS-1$
-		buildStarted(kind);
-		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;
-	}
-	
-	/**
-	 * Stores the currently active build kind 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;
-			default :
-				buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-				break;
-		}
-	}
-	
-	/**
-	 * Clears the current build kind when a build finishes.
-	 */
-	private void buildEnded() {
-		buildType= IExternalToolConstants.BUILD_TYPE_NONE;
-	}
-	
-	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;
-			} else {	
-				IPath path= resources[i].getProjectRelativePath();
-				IResourceDelta change= delta.findMember(path);
-				if (change != null) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * 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;
-
-		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++;
-				}
-			}
-		}
-
-		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++;
-		}
-
-		return results;
-	}
-}
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 f254e78..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-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;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static Map imageDescriptors;
-
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-			
-		try {
-			ICON_BASE_URL= new URL(ExternalToolsPlugin.getDefault().getDescriptor().getInstallURL(), pathSuffix);
-		} catch (MalformedURLException e) {
-			// do nothing
-		}
-	}
-
-	// 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);
-		imageDescriptors.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 JFace's ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ExternalToolsPlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		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) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(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(); 
-		}
-	}
-}
\ No newline at end of file
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 75bd41e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsModelMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.model.ExternalToolsModelMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsModelMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
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 697f036..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-ExternalToolBuilder.Running_{0}..._1=Running {0}...
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 243781b..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.IPluginDescriptor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * 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(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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 {
-			URL installURL = getDescriptor().getInstallURL();
-			URL url = new URL(installURL, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared in AbstractUIPlugin.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore prefs) {
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_MIGRATION, true);
-	}
-
-	/**
-	 * 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 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;
-	}
-
-	/**
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return ExternalToolsImages.initializeImageRegistry();
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		super.startup();
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() throws CoreException {
-		super.shutdown();
-		ExternalToolsImages.disposeImageDescriptorRegistry();
-	}
-}
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 9b69d67..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an 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>.
-	 */
-	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>.
-	 */
-	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 an external tool should be run in the
-	 * background. Default value is <code>false</code>.
-	 */
-	public static final String ATTR_RUN_IN_BACKGROUND = PLUGIN_ID + ".ATTR_RUN_IN_BACKGROUND"; //$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$	
-}
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 bffc8b9..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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$
-
-	// Actions
-	public static final String REMOVE_ALL_ACTION = PREFIX + "remove_all_action_context"; //$NON-NLS-1$
-	public static final String TARGET_MOVE_UP_ACTION = PREFIX + "target_move_up_action_context"; //$NON-NLS-1$
-	public static final String TARGET_MOVE_DOWN_ACTION = PREFIX + "target_move_down_action_context"; //$NON-NLS-1$
-	public static final String SEARCH_FOR_BUILDFILES_ACTION = PREFIX + "search_for_buildfiles_action_context"; //$NON-NLS-1$
-
-	public static final String EDIT_LAUNCH_CONFIGURATION_ACTION = PREFIX + "edit_launch_configuration_action_context"; //$NON-NLS-1$
-	public static final String RUN_TARGET_ACTION = PREFIX + "run_target_action_context"; //$NON-NLS-1$
-	public static final String REMOVE_PROJECT_ACTION = PREFIX + "remove_project_action_context"; //$NON-NLS-1$
-	public static final String ADD_BUILDFILE_ACTION = PREFIX + "add_buildfile_action_context"; //$NON-NLS-1$
-	public static final String REFRESH_BUILDFILE_ACTION = PREFIX + "refresh_buildfile_action_context"; //$NON-NLS-1$
-
-	// Dialogs
-	public static final String FILE_SELECTION_DIALOG = PREFIX + "file_selection_dialog_context"; //$NON-NLS-1$
-	public static final String ADD_CUSTOM_DIALOG = PREFIX + "add_custom_dialog_context"; //$NON-NLS-1$
-	public static final String ADD_PROPERTY_DIALOG = PREFIX + "add_property_dialog_context"; //$NON-NLS-1$
-	public static final String SEARCH_FOR_BUILDFILES_DIALOG = PREFIX + "search_for_buildfiles_dialog_context"; //$NON-NLS-1$
-	public static final String STATUS_DIALOG = PREFIX + "status_dialog_context"; //$NON-NLS-1$
-	public static final String MESSAGE_WITH_TOGGLE_DIALOG = PREFIX + "message_with_toggle_dialog_context"; //$NON-NLS-1$
-	public static final String TARGET_ORDER_DIALOG = PREFIX + "target_order_dialog_context"; //$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$
-
-	//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 9ff10aa..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Constants used to identify user preferences.
- */
-public interface IPreferenceConstants {
-	
-	public static final String PROMPT_FOR_MIGRATION = "externaltools.builders.promptForMigration"; //$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 8c585c7..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, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 diaplay 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.getString("ImageDescriptorRegistry.Allocating_image_for_wrong_display_1")); //$NON-NLS-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/model/StringMatcher.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
deleted file mode 100644
index 2b4b7b0..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
- 
-import java.util.*;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound= 0;
-	
-
-	protected static final char fSingleWildCard= '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start= start;
-			this.end= end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain ‘*’ for 0 and many characters and
-	 * ‘?’ for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param pattern the pattern to match text against
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-		if (pattern == null)
-			throw new IllegalArgumentException();
-		fIgnoreCase= ignoreCase;
-		fIgnoreWildCards= ignoreWildCards;
-		fPattern= pattern;
-		fLength= pattern.length();
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param <code>text</code>, the String object to search in 
-	 * @param <code>start</code>, the starting index of the search range, inclusive
-	 * @param <code>end</code>, the ending index of the search range, exclusive
-	 * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x= posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount= fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos= start;
-		int matchStart= -1;
-		int i;
-		for (i= 0; i < segCount && curPos < end; ++i) {
-			String current= fSegments[i];
-			int nextMatch= regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart= nextMatch;
-			curPos= nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param <code>text</code>, a String object 
-	 */
-	public boolean match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) positions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param String <code>text</code>, a String object that contains the substring to match 
-	 * @param int <code>start<code> marks the starting position (inclusive) of the substring
-	 * @param int <code>end<code> marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			} else {
-				++i;
-				tCurPos= tCurPos + segLength;
-			}
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments= new String[1];
-		fSegments[0]= fPattern;
-		fBound= fLength;
-	}
-	/**
-	 * Parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p, a String object that is a simple regular expression with ‘*’ and/or ‘?’
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar= true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar= true;
-			}
-		}
-
-		Vector temp= new Vector();
-
-		int pos= 0;
-		StringBuffer buf= new StringBuffer();
-		while (pos < fLength) {
-			char c= fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next= fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments= new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param <code>text</code>, a string which contains no wildcard
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max= end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param <code>text</code>, a simple regular expression that may only contain '?'(s)
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param <code>p</code>, a simple regular expression that may contains '?'
-	 * @param <code>caseIgnored</code>, wether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen= p.length();
-		
-		int max= end - plen;
-		for (int i= start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param <code>text</code>, a String to match
-	 * @param <code>start</code>, int that indicates the starting index of match, inclusive
-	 * @param <code>end</code> int that indicates the ending index of match, exclusive
-	 * @param <code>p</code>, String,  String, a simple regular expression that may contain '?'
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar= text.charAt(tStart++);
-			char pchar= p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				if (Character.toUpperCase(tchar) == Character.toUpperCase(pchar))
-					continue;
-				// comparing after converting to upper case doesn't handle all cases;
-				// also compare after converting to lower case
-				if (Character.toLowerCase(tchar) == Character.toLowerCase(pchar))
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param <code>text</code>, the string to match
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param code>p</code>, a string that has no wildcard
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen= p.length();
-		int max= end - plen;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
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 74e4f88..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.variables.ILaunchVariableManager;
-import org.eclipse.debug.core.variables.LaunchVariableUtil;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Responsible reading an old external tool format and creating
- * and migrating it to create a new external tool.
- */
-public final class ExternalToolMigration {
-	/*
-	 * Ant tags
-	 */
-	/**
-	 * 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.
-	 */
-	public static final String ATTR_ANT_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
-	
-	/*
-	 * 2.0 External Tool Tags
-	 */
-	private static final String TAG_TOOL_TYPE = "!{tool_type}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_NAME = "!{tool_name}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_LOCATION = "!{tool_loc}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_ARGUMENTS = "!{tool_args}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_DIRECTORY = "!{tool_dir}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_REFRESH = "!{tool_refresh}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_SHOW_LOG = "!{tool_show_log}"; //$NON-NLS-1$
-	private static final String TAG_TOOL_BUILD_TYPES = "!{tool_build_types}"; //$NON-NLS-1$
-	private 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$
-
-	/*
-	 * 2.1 External Tool Keys
-	 */
-	private static final String TAG_TYPE = "type"; //$NON-NLS-1$
-	private static final String TAG_NAME = "name"; //$NON-NLS-1$
-	private static final String TAG_LOCATION = "location"; //$NON-NLS-1$
-	private static final String TAG_WORK_DIR = "workDirectory"; //$NON-NLS-1$
-	private static final String TAG_CAPTURE_OUTPUT = "captureOutput"; //$NON-NLS-1$
-	private static final String TAG_SHOW_CONSOLE = "showConsole"; //$NON-NLS-1$
-	private static final String TAG_RUN_BKGRND = "runInBackground"; //$NON-NLS-1$
-	private static final String TAG_PROMPT_ARGS = "promptForArguments"; //$NON-NLS-1$
-	private static final String TAG_ARGS = "arguments"; //$NON-NLS-1$
-	private static final String TAG_REFRESH_SCOPE = "refreshScope"; //$NON-NLS-1$
-	private static final String TAG_REFRESH_RECURSIVE = "refreshRecursive"; //$NON-NLS-1$
-	private static final String TAG_RUN_BUILD_KINDS = "runForBuildKinds"; //$NON-NLS-1$
-	private static final String TAG_EXTRA_ATTR = "extraAttribute"; //$NON-NLS-1$
-	private 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(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals((String) commandArgs.get(TAG_CAPTURE_OUTPUT)));
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals((String) commandArgs.get(TAG_SHOW_CONSOLE)));
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, TRUE.equals((String) commandArgs.get(TAG_RUN_BKGRND)));
-		config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, TRUE.equals((String) commandArgs.get(TAG_PROMPT_ARGS)));
-		config.setAttribute(LaunchVariableUtil.ATTR_REFRESH_SCOPE, (String) commandArgs.get(TAG_REFRESH_SCOPE));
-		config.setAttribute(LaunchVariableUtil.ATTR_REFRESH_RECURSIVE, TRUE.equals((String) 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 {
-			type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
-		}
-
-		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);
-		if (location != null) {
-			LaunchVariableUtil.VariableDefinition varDef = LaunchVariableUtil.extractVariableDefinition(location, 0);
-			if (ILaunchVariableManager.VAR_WORKSPACE_LOC.equals(varDef.name)) {
-				location = LaunchVariableUtil.newVariableExpression(ILaunchVariableManager.VAR_RESOURCE_LOC, varDef.argument);
-			}
-			config.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-		}
-
-		// Update the refresh scope...
-		String refresh = (String) args.get(TAG_TOOL_REFRESH);
-		if (refresh != null) {
-			LaunchVariableUtil.VariableDefinition varDef = LaunchVariableUtil.extractVariableDefinition(refresh, 0);
-			if ("none".equals(varDef.name)) { //$NON-NLS-1$
-				refresh = null;
-			}
-			config.setAttribute(LaunchVariableUtil.ATTR_REFRESH_SCOPE, refresh);
-		}
-
-		// Update the arguments
-		String arguments = (String) args.get(TAG_TOOL_ARGUMENTS);
-		String targetNames = null;
-		if (arguments != null) {
-			int start = 0;
-			ArrayList targets = new ArrayList();
-			StringBuffer buffer = new StringBuffer();
-			LaunchVariableUtil.VariableDefinition varDef = LaunchVariableUtil.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 = LaunchVariableUtil.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);
-		}
-
-		// Collect the rest of the information
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals((String) args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals((String) args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_IN_BACKGROUND, FALSE.equals((String) args.get(TAG_TOOL_BLOCK)));
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) args.get(TAG_TOOL_BUILD_TYPES));
-		config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		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;
-	}	
-}
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 217c957..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
+++ /dev/null
@@ -1,1045 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-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.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-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.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-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.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.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-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.externaltools.internal.registry.ExternalToolMigration;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Property page to add external tools in between builders.
- */
-public final class BuilderPropertyPage extends PropertyPage {
-	private static final int BUILDER_TABLE_WIDTH = 250;
-
-	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$
-
-	private static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-	
-	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 Table builderTable;
-	private Button upButton, downButton, newButton, copyButton, editButton, removeButton;
-	private List imagesToDispose = new ArrayList();
-	private Image builderImage, invalidBuildToolImage;
-	private IDebugModelPresentation debugModelPresentation;
-	
-	private boolean userHasMadeChanges= false;
-	
-	private List configsToBeDeleted= null;
-	
-	/**
-	 * Error configs are objects representing entries pointing to
-	 * invalid launch configurations
-	 */
-	private class ErrorConfig {
-	}
-	
-	/**
-	 * 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 fButtonListener= 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;
-			}
-			
-			Display.getDefault().asyncExec(new Runnable() {	
-				public void run() {
-					TableItem[] items= builderTable.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);
-							updateConfigItem(item, configuration);
-							break;
-						}
-					}
-					//Also replace the movedFrom config in the list of newly created configs
-					if (newConfigList.remove(oldConfig)) {
-						newConfigList.add(configuration);
-					}
-				}
-			});
-		}
-		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
-		try {
-			ICommand[] commands = project.getDescription().getBuildSpec();
-			for (int i = 0; i < commands.length; i++) {
-				ILaunchConfiguration config = ExternalToolsUtil.configFromBuildCommandArgs(commands[i].getArguments());
-				if (config != null) {
-					if (!config.isWorkingCopy() && !config.exists()) {
-						IStatus status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.Exists"), new String[]{config.getLocation().toOSString()}), null); 	 //$NON-NLS-1$
-						ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-										MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.External_Tool_Builder_{0}_Not_Added_2"), new String[]{config.getName()}),  //$NON-NLS-1$
-										status);
-						userHasMadeChanges= true;
-					} else {
-						addConfig(config, false);
-					}
-				} else {
-					String builderID = commands[i].getBuilderName();
-					if (builderID.equals(ExternalToolBuilder.ID) && commands[i].getArguments().get(LAUNCH_CONFIG_HANDLE) != null) {
-						// An invalid external tool entry.
-						addErrorConfig(new ErrorConfig(), -1, false);
-					} else {
-						addCommand(commands[i], -1, false);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		}
-	}
-
-	/**
-	 * Adds a build command to the table viewer.
-	 * 
-	 * @param command the command to be added
-	 * @param position the insertion position, or -1 to add at the end
-	 * @param select whether to select the newly created item.
-	 */
-	private void addCommand(ICommand command, int position, boolean select) {
-		TableItem newItem;
-		if (position < 0) {
-			newItem = new TableItem(builderTable, SWT.NONE);
-		} else {
-			newItem = new TableItem(builderTable, SWT.NONE, position);
-		}
-		newItem.setData(command);
-		updateCommandItem(newItem, command);
-		if (select) {
-			builderTable.setSelection(position);
-		}
-	}
-	
-	/**
-	 * Adds the given erroneous configuration entry to the table
-	 * and selection it if <code>select</code> is <code>true</code>.
-	 */
-	private void addErrorConfig(ErrorConfig config, int position, boolean select) {
-		TableItem newItem;
-		if (position < 0) {
-			newItem = new TableItem(builderTable, SWT.NONE);
-		} else {
-			newItem = new TableItem(builderTable, SWT.NONE, position);
-		}
-		newItem.setData(config);
-		newItem.setText(ExternalToolsUIMessages.getString("BuilderPropertyPage.invalidBuildTool")); //$NON-NLS-1$
-		newItem.setImage(invalidBuildToolImage);
-		if (select) {
-			builderTable.setSelection(position);
-		}
-	}
-
-	/**
-	 * Adds the given launch configuration to the table and selects it if
-	 * <code>select</code> is <code>true</code>.
-	 */
-	private void addConfig(ILaunchConfiguration config, boolean select) {
-		TableItem newItem = new TableItem(builderTable, SWT.NONE);
-		newItem.setData(config);
-		updateConfigItem(newItem, config);
-		if (select) {
-			builderTable.setSelection(builderTable.getItemCount());
-		}
-	}
-
-	private void updateConfigItem(TableItem item, ILaunchConfiguration config) {
-		item.setText(config.getName());
-		Image configImage = debugModelPresentation.getImage(config);
-		if (configImage == null) {
-			configImage= builderImage;
-		}
-		item.setImage(configImage);
-	}
-	
-	/**
-	 * Converts the given config to a build command which is stored in the
-	 * given command.
-	 *
-	 * @return the configured build command
-	 */
-	private ICommand toBuildCommand(ILaunchConfiguration config, ICommand command) throws CoreException {
-		Map args= null;
-		if (config instanceof ILaunchConfigurationWorkingCopy) {
-			if (((ILaunchConfigurationWorkingCopy) config).getLocation() == null) {
-				// 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= getInputProject().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;
-					}
-				}
-			}
-		} 
-		if (args == null) {
-			// Launch configuration builders are stored by storing their handle
-			args= new HashMap();
-			args.put(LAUNCH_CONFIG_HANDLE, config.getMemento());
-		}
-		command.setBuilderName(ExternalToolBuilder.ID);
-		command.setArguments(args);
-		return command;
-	}
-
-	/**
-	 * 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);
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setEnabled(false);
-		button.addSelectionListener(fButtonListener);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
-	protected Control createContents(Composite parent) {
-		
-		WorkbenchHelp.setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE);
-		
-		Font font = parent.getFont();
-		
-		debugModelPresentation = DebugUITools.newDebugModelPresentation();
-		builderImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_BUILDER).createImage();
-		invalidBuildToolImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_INVALID_BUILD_TOOL).createImage();
-
-		imagesToDispose.add(builderImage);
-		imagesToDispose.add(invalidBuildToolImage);
-
-		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.getString("BuilderPropertyPage.description")); //$NON-NLS-1$
-		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		
-		builderTable = new Table(tableAndButtons, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = BUILDER_TABLE_WIDTH;
-		builderTable.setLayoutData(data);
-		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.getString("BuilderPropertyPage.newButton")); //$NON-NLS-1$
-		copyButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.&Copy..._3")); //$NON-NLS-1$
-		editButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.editButton")); //$NON-NLS-1$
-		removeButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.removeButton")); //$NON-NLS-1$
-		new Label(buttonArea, SWT.LEFT);
-		upButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.upButton")); //$NON-NLS-1$
-		downButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.downButton")); //$NON-NLS-1$
-
-		newButton.setEnabled(true);
-		copyButton.setEnabled(true);
-
-		//populate widget contents	
-		addBuildersToTable();
-
-		return topLevel;
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		for (Iterator i = imagesToDispose.iterator(); i.hasNext();) {
-			Image image = (Image) i.next();
-			image.dispose();
-		}
-		imagesToDispose.clear();
-	}
-	
-	/**
-	 * 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 == copyButton) {
-			handleCopyButtonPressed();
-		} else if (button == editButton) {
-			handleEditButtonPressed();
-		} else if (button == removeButton) {
-			handleRemoveButtonPressed();
-		} else if (button == upButton) {
-			moveSelectionUp();
-		} else if (button == downButton) {
-			moveSelectionDown();
-		}
-		handleTableSelectionChanged();
-		builderTable.setFocus();
-	}
-
-	/**
-	 * The user has pressed the copy button. Prompt them to select a
-	 * configuration to copy.
-	 */	
-	private void handleCopyButtonPressed() {
-		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) {
-			}
-		}
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), debugModelPresentation);
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.Copy_configuration_4")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.&Choose_a_configuration_to_copy__5")); //$NON-NLS-1$
-		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= duplicateConfiguration(config);
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		if (newConfig != null) {
-			userHasMadeChanges= true;
-			addConfig(newConfig, true);
-			newConfigList.add(newConfig);
-		}
-	}
-	
-	/**
-	 * 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.
-	 */
-	private ILaunchConfiguration duplicateConfiguration(ILaunchConfiguration config) throws CoreException {
-		Map attributes= null;
-		attributes= config.getAttributes();
-		String newName= config.getName() + ExternalToolsUIMessages.getString("BuilderPropertyPage._[Builder]_6"); //$NON-NLS-1$
-		newName= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(newName);
-		ILaunchConfigurationType newType= getConfigurationDuplicationType(config);
-		ILaunchConfigurationWorkingCopy newWorkingCopy= newType.newInstance(getBuilderFolder(true), newName);
-		newWorkingCopy.setAttributes(attributes);
-		return newWorkingCopy.doSave();
-	}
-	
-	/**
-	 * 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.
-	 */
-	private ILaunchConfigurationType getConfigurationDuplicationType(ILaunchConfiguration config) throws CoreException {
-		IExtensionPoint ep= ExternalToolsPlugin.getDefault().getDescriptor().getExtensionPoint(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();
-	}
-
-	/**
-	 * The user has pressed the remove button. Delete the selected builder.
-	 */
-	private void handleRemoveButtonPressed() {
-		TableItem[] selection = builderTable.getSelection();
-		if (selection != null) {
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList(selection.length);
-			}
-			userHasMadeChanges= true;
-			for (int i = 0; i < selection.length; i++) {
-				Object data= selection[i].getData();
-				if (data instanceof ILaunchConfiguration) {
-					configsToBeDeleted.add(data);
-				}
-				selection[i].dispose();
-			}
-		}
-	}
-	
-	/**
-	 * 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.getString("BuilderPropertyPage.New_Builder_7")); //$NON-NLS-1$
-			workingCopy = type.newInstance(getBuilderFolder(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());
-			
-			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
-				addConfig((ILaunchConfiguration)newConfigList.get(newConfigList.size() - 1), true);
-			}
-		} 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) throws CoreException {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		manager.addLaunchConfigurationListener(configurationListener);
-		int code= DebugUITools.openLaunchConfigurationPropertiesDialog(getShell(), 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);
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), debugModelPresentation);
-		dialog.setElements(externalToolTypes.toArray());
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_configuration_type_8")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_an_external_tool_type_to_create_9")); //$NON-NLS-1$
-		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. Open the launch configuration edit
-	 * dialog on the selection after migrating the tool if necessary.
-	 */
-	private void handleEditButtonPressed() {
-		TableItem selection = builderTable.getSelection()[0];
-		if (selection != null) {
-			Object data = selection.getData();
-			if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				if (data instanceof ILaunchConfigurationWorkingCopy) {
-					if (!shouldProceedWithMigration()) {
-						return;
-					}
-					try {
-						config= migrateBuilderConfiguration((ILaunchConfigurationWorkingCopy) data);
-					} 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);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * 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
-	 */
-	private ILaunchConfiguration migrateBuilderConfiguration(ILaunchConfigurationWorkingCopy workingCopy) throws CoreException {
-		workingCopy.setContainer(getBuilderFolder(true));
-		// Before saving, make sure the name is valid
-		String name= workingCopy.getName();
-		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();
-	}
-	
-	/**
-	 * 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_MIGRATION)) {
-			// User has asked not to be prompted
-			return true;
-		}
-		// Warn the user that editing an old config will cause storage migration.
-		return MessageDialogWithToggle.openQuestion(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.Migrate_project_builder_10"), //$NON-NLS-1$
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Not_Support"), //$NON-NLS-1$
-			IPreferenceConstants.PROMPT_FOR_MIGRATION,
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Prompt"), //$NON-NLS-1$
-			ExternalToolsPlugin.getDefault().getPreferenceStore());
-	}
-
-	/**
-	 * Returns the folder where project builders should be stored or
-	 * <code>null</code> if the folder could not be created
-	 */
-	private IFolder getBuilderFolder(boolean create) {
-		IFolder folder = getInputProject().getFolder(".externalToolBuilders"); //$NON-NLS-1$
-		if (!folder.exists() && create) {
-			try {
-				folder.create(true, true, new NullProgressMonitor());
-			} catch (CoreException e) {
-				return null;
-			}
-		}
-		return folder;
-	}
-
-	/**
-	 * 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.getString("BuilderPropertyPage.statusMessage"), e); //$NON-NLS-1$
-		}
-		ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-				ExternalToolsUIMessages.getString("BuilderPropertyPage.errorMessage"), //$NON-NLS-1$
-				status);
-	}
-
-	/**
-	 * The user has selected a different builder in table.
-	 * Update button enablement.
-	 */
-	private void handleTableSelectionChanged() {
-		newButton.setEnabled(true);
-		TableItem[] items = builderTable.getSelection();
-		editButton.setEnabled(false);
-		removeButton.setEnabled(false);
-		upButton.setEnabled(false);
-		downButton.setEnabled(false);
-		if (items != null && items.length == 1) {
-			TableItem item = items[0];
-			Object data = item.getData();
-			if (data instanceof ILaunchConfiguration) {
-				editButton.setEnabled(true);
-				removeButton.setEnabled(true);
-				int selection = builderTable.getSelectionIndex();
-				int max = builderTable.getItemCount();
-				upButton.setEnabled(selection != 0);
-				downButton.setEnabled(selection < max - 1);
-			} else if (data instanceof ErrorConfig) {
-				removeButton.setEnabled(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();
-		String text = item.getText();
-		Image image = item.getImage();
-		item.dispose();
-		TableItem newItem = new TableItem(builderTable, SWT.NONE, index);
-		newItem.setData(data);
-		newItem.setText(text);
-		newItem.setImage(image);
-	}
-
-	/**
-	 * Move the current selection in the build list down.
-	 */
-	private void moveSelectionDown() {
-		// Only do this operation on a single selection
-		if (builderTable.getSelectionCount() == 1) {
-			int currentIndex = builderTable.getSelectionIndex();
-			if (currentIndex < builderTable.getItemCount() - 1) {
-				move(builderTable.getItem(currentIndex), currentIndex + 1);
-				builderTable.setSelection(currentIndex + 1);
-			}
-		}
-	}
-
-	/**
-	 * Move the current selection in the build list up.
-	 */
-	private void moveSelectionUp() {
-		int currentIndex = builderTable.getSelectionIndex();
-		// Only do this operation on a single selection
-		if (currentIndex > 0 && builderTable.getSelectionCount() == 1) {
-			move(builderTable.getItem(currentIndex), currentIndex - 1);
-			builderTable.setSelection(currentIndex - 1);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on IPreferencePage.
-	 */
-	public boolean performOk() {
-		if (!userHasMadeChanges) {
-			return super.performOk();
-		}
-		userHasMadeChanges= false;
-		if (configsToBeDeleted != null) {
-			deleteConfigurations();
-		}
-		IProject project = getInputProject();
-		//get all the build commands
-		int numCommands = builderTable.getItemCount();
-		ICommand[] commands = new ICommand[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			Object data = builderTable.getItem(i).getData();
-			if (data instanceof ICommand) {
-			} else if (data instanceof ILaunchConfiguration) {
-				// Translate launch configs to ICommands for storage
-				ICommand newCommand = null;
-				try {
-					newCommand = project.getDescription().newCommand();
-					data = toBuildCommand(((ILaunchConfiguration) data), newCommand);
-				} catch (CoreException exception) {
-					MessageDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.Command_error_13"), ExternalToolsUIMessages.getString("BuilderPropertyPage.error")); //$NON-NLS-1$ //$NON-NLS-2$
-					return true;
-				}
-			}
-			commands[i] = (ICommand) data;
-		}
-		
-		if (checkCommandsForChange(commands)) {
-			//set the build spec
-			try {
-				IProjectDescription desc = project.getDescription();
-				desc.setBuildSpec(commands);
-				project.setDescription(desc, IResource.FORCE, null);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		return super.performOk();
-	}
-
-	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();
-			}
-		} 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;
-			}
-			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();
-					if (!oldArgs.get(key).equals(newArgs.get(key))) {
-						return true;
-					}
-				}
-			}
-		} catch (CoreException ce) {
-			return true;
-		}
-		return false;	
-	}
-
-	/**
-	 * Update the table item with the given build command
-	 */
-	private void updateCommandItem(TableItem item, ICommand command) {
-		String builderID = command.getBuilderName();
-		if (builderID.equals(ExternalToolBuilder.ID)) {
-			ILaunchConfiguration config = ExternalToolsUtil.configFromBuildCommandArgs(command.getArguments());
-			if (config == null) {
-				item.setText(ExternalToolsUIMessages.getString("BuilderPropertyPage.invalidBuildTool")); //$NON-NLS-1$
-				item.setImage(invalidBuildToolImage);
-				return;
-			}
-			item.setText(config.getName());
-			Image configImage = debugModelPresentation.getImage(config);
-			if (configImage != null) {
-				imagesToDispose.add(configImage);
-				item.setImage(configImage);
-			} else {
-				item.setImage(builderImage);
-			}
-		} else {
-			// Get the human-readable name of the builder
-			IExtension extension = Platform.getPluginRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, builderID);
-			String builderName;
-			if (extension != null) {
-				builderName = extension.getLabel();
-			} else {
-				builderName = MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.missingBuilder"), new Object[] { builderID }); //$NON-NLS-1$
-			}
-			item.setText(builderName);
-			item.setImage(builderImage);
-		}
-	}
-	/**
-	 * @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);
-			}
-		}
-		try {
-			IFolder builderFolder= getBuilderFolder(false);
-			if (builderFolder != null && builderFolder.exists() && builderFolder.members().length == 0) {
-				// All files in the builder folder were newly created. Clean up
-				builderFolder.delete(true, false, null);
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		}
-		return super.performCancel();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsContentProvider.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsContentProvider.java
deleted file mode 100644
index 8bc11e1..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsContentProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Content provider that maintains a generic list of objects which are shown in
- * a table viewer.
- */
-public class ExternalToolsContentProvider implements IStructuredContentProvider {
-	protected List elements = new ArrayList();
-	protected TableViewer tableViewer;
-	private ViewerSorter sorter= null;
-
-	public void add(Object o) {
-		if (elements.contains(o)) {
-			return;
-		}
-		elements.add(o);
-		tableViewer.add(o);
-	}
-
-	public void dispose() {
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return (Object[]) elements.toArray(new Object[elements.size()]);
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		tableViewer = (TableViewer) viewer;
-		elements.clear();
-		if (newInput != null) {
-			tableViewer.setSorter(getSorter());
-			List list;
-			if (newInput instanceof List) {
-				list= (List) newInput;
-			} else {
-				list= Arrays.asList((Object[]) newInput);	
-			}
-			elements.addAll(list);
-		}
-	}
-
-	public void remove(Object o) {
-		elements.remove(o);
-		tableViewer.remove(o);
-	}
-	
-	public void remove(IStructuredSelection selection) {
-		Object[] array= selection.toArray();
-		elements.removeAll(Arrays.asList(array));
-		tableViewer.remove(array);
-	}
-	
-	protected ViewerSorter getSorter() {
-		if (sorter == null) {
-			sorter= new ViewerSorter() {
-				/**
-				 * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-				 */
-				public int compare(Viewer viewer, Object e1, Object e2) {
-					return e1.toString().compareToIgnoreCase(e2.toString());
-				}
-			};
-		}
-		return sorter;
-	}
-}
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 613cd09..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.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.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page that allows the user to customize external tools
- */
-public class ExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button promptForMigrationButton;
-	
-	public ExternalToolsPreferencePage() {
-		setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore());
-		setDescription(ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.External_tool_project_builders_migration_2")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Font font = parent.getFont();
-
-		WorkbenchHelp.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(font);
-				
-		promptForMigrationButton= new Button(composite, SWT.CHECK | SWT.LEFT);
-		promptForMigrationButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		promptForMigrationButton.setFont(font);
-		promptForMigrationButton.setText(ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.Prompt_before_migrating_3")); //$NON-NLS-1$
-		promptForMigrationButton.setSelection(getPreferenceStore().getBoolean(IPreferenceConstants.PROMPT_FOR_MIGRATION));
-		
-		return composite;
-	}
-	
-	/**
-	 * @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_MIGRATION, promptForMigrationButton.getSelection());
-		return super.performOk();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		promptForMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_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 576ea36..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public final class ExternalToolsUIMessages {
-	private static final String BUNDLE_NAME= "org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages"; //$NON-NLS-1$
-	
-	private static final ResourceBundle RESOURCE_BUNDLE =
-			ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsUIMessages(){
-		// prevent instantiation of class
-	}
-	
-	/**
-	 * Returns the message with the given key in
-	 * the resource bundle. If there isn't any value under
-	 * the given key, the key is returned.
-	 *
-	 * @param key the message name
-	 * @return the message
-	 */	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}	
-}
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 eee5cbd..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BuilderPropertyPage.description = &Add external tools to the build order.
-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.&Copy..._3=&Copy...
-BuilderPropertyPage.Copy_configuration_4=Copy configuration
-BuilderPropertyPage.&Choose_a_configuration_to_copy__5=&Choose a configuration to copy:
-BuilderPropertyPage._[Builder]_6=\ [Builder]
-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=&Always prompt before migrating project builders
-BuilderPropertyPage.Command_error_13=Command error
-BuilderPropertyPage.error=An error occurred while saving the project\'s build commands
-
-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. Once migrated, project builders will not be understood by installations using the old format.
-ExternalToolsPreferencePage.Prompt_before_migrating_3=&Confirm before migrating external tool project builders
\ No newline at end of file
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 cd0e5d1..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-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.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.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.Button;
-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.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.StringMatcher;
-import org.eclipse.ui.help.WorkbenchHelp;
-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 selected by the user.
-	 */
-	private IFile result= null;
-	/**
-	 * String matcher used to filter content
-	 */
-	private StringMatcher stringMatcher= null;
-/**
- * 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.getString("FileSelectionDialog.Choose_Location_1"), null, message, MessageDialog.NONE, new String[] {ExternalToolsUIMessages.getString("FileSelectionDialog.Ok_2"), ExternalToolsUIMessages.getString("FileSelectionDialog.Cancel_3")}, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	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) {
-		stringMatcher= new StringMatcher(pattern, ignoreCase, false);
-	} else {
-		stringMatcher= null;
-	}
-}
-/* (non-Javadoc)
- * Method declared in Window.
- */
-protected void configureShell(Shell shell) {
-	super.configureShell(shell);
-	WorkbenchHelp.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);
-
-	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 &&
-								stringMatcher != null &&
-								!stringMatcher.match(members[i].getName())) {
-							continue;
-						}
-						results.add(members[i]);
-					}
-				}
-				return results.toArray();
-			} else {
-				return new Object[0];
-			}
-		}
-	};
-}
-/**
- * Initializes this dialog's controls.
- */
-private void initializeDialog() {
-	selectionGroup.addSelectionChangedListener(new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			getOkButton().setEnabled(!selectionGroup.getListTableSelection().isEmpty());
-		}
-	});
-	selectionGroup.addDoubleClickListener(new IDoubleClickListener() {
-		public void doubleClick(DoubleClickEvent event) {
-			buttonPressed(IDialogConstants.OK_ID);
-		}
-	});
-
-	getOkButton().setEnabled(false);
-}
-
-/**
- * Returns this dialog's OK button.
- */
-protected Button getOkButton() {
-	return getButton(0);
-}
-/**
- * Returns the file the user chose or <code>null</code> if none.
- */
-public IFile getResult() {
-	return result;
-}
-
-protected void buttonPressed(int buttonId) {
-	if (buttonId == IDialogConstants.OK_ID) {
-		Object resource= selectionGroup.getListTableSelection().getFirstElement();
-		if (resource instanceof IFile) {
-			result = (IFile) resource;
-		}
-	}
-	super.buttonPressed(buttonId);
-}
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/MessageDialogWithToggle.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/MessageDialogWithToggle.java
deleted file mode 100644
index 613907b..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/MessageDialogWithToggle.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An message dialog which allows the user to set a boolean preference.
- * 
- * This is typically used to set a preference that determines if the dialog
- * should be shown in the future
- */
-public class MessageDialogWithToggle extends MessageDialog {
-	
-	/**
-	 * The preference key which is set by the toggle button.
-	 * This key must be a boolean preference in the preference store.
-	 */
-	private String fPreferenceKey = null;
-	/**
-	 * The message displayed to the user, with the toggle button
-	 */
-	private String fToggleMessage = null;
-	private Button fToggleButton = null;
-	/**
-	 * The preference store which will be affected by the toggle button
-	 */
-	IPreferenceStore fStore = null;
-
-	public MessageDialogWithToggle(Shell parentShell, String dialogTitle, Image image, String message, int dialogImageType, String[] dialogButtonLabels, int defaultIndex, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		super(parentShell, dialogTitle, image, message, dialogImageType, dialogButtonLabels, defaultIndex);
-		fStore = store;
-		fPreferenceKey = preferenceKey;
-		fToggleMessage = toggleMessage;
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite area = (Composite) super.createDialogArea(parent);
-		fToggleButton = createCheckButton(area, fToggleMessage);
-		getToggleButton().setSelection(fStore.getBoolean(fPreferenceKey));
-		return area;
-	}
-
-	/**
-	 * Creates a button with the given label and sets the default
-	 * configuration data.
-	 */
-	protected Button createCheckButton(Composite parent, String label) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-
-		GridData data = new GridData(SWT.NONE);
-		data.horizontalSpan= 2;
-		data.horizontalAlignment= GridData.CENTER;
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-
-		return button;
-	}
-
-	/**
-	 * When the OK button is pressed, store the preference.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int id) {
-		if (id == IDialogConstants.OK_ID) {  // was the OK button pressed?
-			storePreference();
-		}
-		super.buttonPressed(id);
-	}
-
-	/**
-	 * Store the preference based on the user's selection
-	 */
-	protected void storePreference() {
-		fStore.setValue(fPreferenceKey, getToggleButton().getSelection());
-	}
-
-	/**
-	 * Returns the button used to toggle the dialog preference
-	 * 
-	 * @return Button the preference toggle button
-	 */
-	protected Button getToggleButton() {
-		return fToggleButton;
-	}
-	
-	/**
-	 * Convenience method to open a simple confirm (OK/Cancel) dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param title the dialog's title, or <code>null</code> if none
-	 * @param message the message
-	 * @return <code>true</code> if the user presses the OK button,
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean openConfirm(Shell parent, String title, String message, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(
-			parent,
-			title,
-			null,	// accept the default window icon
-			message,
-			QUESTION,
-			new String[] {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL},
-			0,		// OK is the default
-			preferenceKey,
-			toggleMessage,
-			store);
-		return dialog.open() == 0;
-	}
-	/**
-	 * Convenience method to open a standard error dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param title the dialog's title, or <code>null</code> if none
-	 * @param message the message
-	 */
-	public static void openError(Shell parent, String title, String message, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(
-			parent,
-			title,
-			null,	// accept the default window icon
-			message,
-			ERROR,
-			new String[] {IDialogConstants.OK_LABEL},
-			0,		// ok is the default
-			preferenceKey,
-			toggleMessage,
-			store);
-		dialog.open();
-	}
-	/**
-	 * Convenience method to open a standard information dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param title the dialog's title, or <code>null</code> if none
-	 * @param message the message
-	 */
-	public static void openInformation(
-		Shell parent,
-		String title,
-		String message, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-			MessageDialogWithToggle dialog =
-				new MessageDialogWithToggle(parent, title, null, // accept the default window icon
-		message, INFORMATION, new String[] { IDialogConstants.OK_LABEL }, 0,		// ok is the default 
-		preferenceKey, toggleMessage, store);
-		dialog.open();
-	}
-	/**
-	 * Convenience method to open a simple Yes/No question dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param title the dialog's title, or <code>null</code> if none
-	 * @param message the message
-	 * @return <code>true</code> if the user presses the OK button,
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean openQuestion(Shell parent, String title, String message, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(
-			parent,
-			title,
-			null,	// accept the default window icon
-			message,
-			QUESTION,
-			new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL},
-			0,		// yes is the default
-			preferenceKey,
-			toggleMessage,
-			store);
-		return dialog.open() == 0;
-	}
-	/**
-	 * Convenience method to open a standard warning dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param title the dialog's title, or <code>null</code> if none
-	 * @param message the message
-	 */
-	public static void openWarning(Shell parent, String title, String message, String preferenceKey, String toggleMessage, IPreferenceStore store) {
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(
-			parent,
-			title,
-			null,	// accept the default window icon
-			message,
-			WARNING,
-			new String[] {IDialogConstants.OK_LABEL},
-			0,		// ok is the default
-			preferenceKey,
-			toggleMessage,
-			store);
-		dialog.open();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		WorkbenchHelp.setHelp(shell, IExternalToolsHelpContextIds.MESSAGE_WITH_TOGGLE_DIALOG);
-	}
-
-}
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 b1ee2da..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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 childPropertyName java.lang.String
-	 *	@param parentPropertyName java.lang.String
-	 *	@param listPropertyName java.lang.String
-	 *	@param width int
-	 *	@param height int
-	 */
-	public TreeAndListGroup(Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height) {
-
-		root = rootObject;
-		this.treeContentProvider = treeContentProvider;
-		this.listContentProvider = listContentProvider;
-		this.treeLabelProvider = treeLabelProvider;
-		this.listLabelProvider = listLabelProvider;
-		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) {
-				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;
-		} else {
-			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);
-	}
-
-	/**
-	 *	Handle the selection of an item in the tree viewer
-	 *
-	 *	@param selection ISelection
-	 */
-	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();
-	}
-	
-	public void setAllowMultiselection(boolean allowMultiselection) {
-		this.allowMultiselection= allowMultiselection;
-		
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeExpander.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeExpander.java
deleted file mode 100644
index 34e1071..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeExpander.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import org.eclipse.debug.core.variables.DefaultVariableExpander;
-import org.eclipse.debug.core.variables.ExpandVariableContext;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-
-
-public class BuildTypeExpander extends DefaultVariableExpander {
-
-	public String getText(String varTag, String varValue, ExpandVariableContext context) {
-		return ExternalToolBuilder.getBuildType();
-	}
-}
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 060d2fd..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-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.launchVariables.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, Runnable  {
-
-	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);
-			}
-		}
-	}
-	
-	/**
-	 * @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 runnable to do the refresh
-	 */
-	protected void refresh() {
-		ExternalToolsPlugin.getStandardDisplay().asyncExec(this);
-	}
-	
-	/** 
-	 * Refreshes the resources.
-	 * 
-	 * @see java.lang.Runnable#run()
-	 */
-	public void run() {
-		try {
-			RefreshTab.refreshResources(fConfiguration, null);
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}		
-	}
-}
\ No newline at end of file
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 ae2e9cc..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsProgramMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.program.launchConfigurations.ExternalToolsProgramMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsProgramMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
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 98ba99c..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ProgramMainTab.Select=&Select a program:
-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.
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 57d1b52..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.launchVariables.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(false),
-			new RefreshTab(),
-			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 5c792e8..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.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.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.core.variables.LaunchVariableUtil;
-import org.eclipse.debug.ui.launchVariables.RefreshTab;
-import org.eclipse.debug.ui.launchVariables.LaunchVariableContextManager;
-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.getString("ProgramLaunchDelegate.Workbench_Closing_1"), ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.The_workbench_is_exiting")); //$NON-NLS-1$ //$NON-NLS-2$
-						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 = LaunchVariableUtil.getEnvironment(configuration, LaunchVariableContextManager.getDefault().getVariableContext());
-		
-		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) {
-			process = DebugPlugin.newProcess(launch, p, location.toOSString(), processAttributes);
-		}
-		process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(cmdLine));
-		
-		if (ExternalToolsUtil.isBackground(configuration)) {
-			// refresh resources after process finishes
-			if (LaunchVariableUtil.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(commandLine[0]);
-		for (int i= 1; i < commandLine.length; i++) {
-			buf.append(' ');
-			buf.append(commandLine[i]);
-		}	
-		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 04616f7..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.debug.core.variables.ILaunchVariableManager;
-import org.eclipse.debug.core.variables.LaunchVariableUtil;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.ui.FileSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ProgramMainTab extends ExternalToolsMainTab {
-
-	public ProgramMainTab(boolean runInBackgroundDefaultValue) {
-		super(runInBackgroundDefaultValue);
-	}
-
-	/**
-	 * 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.getString("ProgramMainTab.Select")); //$NON-NLS-1$
-		dialog.open();
-		IFile file = dialog.getResult();
-		if (file == null) {
-			return;
-		}
-		locationField.setText(LaunchVariableUtil.newVariableExpression(ILaunchVariableManager.VAR_WORKSPACE_LOC, file.getFullPath().toString()));
-	}
-	
-	
-   	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.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 8249598..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, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM 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.launchVariables.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(true),
-			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 9db411a..0000000
--- a/org.eclipse.ui.externaltools/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/build.properties b/org.eclipse.ui.externaltools/build.properties
deleted file mode 100644
index 6bd0c1e..0000000
--- a/org.eclipse.ui.externaltools/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.externaltools.jar = External Tools Base/,\
-				Program Tools Support/
-
-src.includes=about.html
-
-bin.includes = icons/,\
-		.options,\
-		plugin.properties,\
-		plugin.xml,\
-		about.html,\
-		*.jar,\
-				
-jars.compile.order=externaltools.jar
-jars.extra.classpath=../org.apache.ant/ant.jar
diff --git a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml b/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
deleted file mode 100644
index 99aa388..0000000
--- a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,36 +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 jarfile="${dest}/externaltools.jar">
-			<fileset dir="bin">
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip zipfile="${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/ctool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/ctool16/external_tools.gif
deleted file mode 100644
index 2133b45..0000000
--- a/org.eclipse.ui.externaltools/icons/full/ctool16/external_tools.gif
+++ /dev/null
Binary files differ
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 fae592d..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 f7472c9..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 20e7bae..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 f966fc3..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 2133b45..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 b04020b..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 f9fb6b0..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 1a863bf..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 84d58c8..0000000
--- a/org.eclipse.ui.externaltools/plugin.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Plugin.name = External Tools
-Plugin.providerName = Eclipse.org
-
-build_type.description= Expands to the type of build, one of "incremental", "full", "auto", or "none".
-
-ExtPoint.configurationDuplicationMaps = Launch Configuration Duplication Maps
-ExtPoint.toolTypes = External Tool Types
-ExtPoint.refreshVariables = Refresh Scope Variables
-ExternalToolsLaunchGroup.label = &External Tools
-ToolType.programName = Program
-ToolType.programDescription = An external tool that runs an application, a batch file, etc.
-ToolType.antBuildName = Ant Build
-ToolType.antBuildDescription = An external tool that runs an Ant buildfile.
-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 = External Tools Builders
-
-Builder.externalTools = Integrated External Tool Builder
-View.externalToolView = External Tools
-PreferencePage.externalToolsPreferences = External Tools
-
-Program.externalTools = Program
-
-ActionDefinition.externalToolMenuDelegateToolbar.name=Run Last Launched External Tool
-ActionDefinition.externalToolMenuDelegateToolbar.description=Runs the last launched external Tool
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/plugin.xml b/org.eclipse.ui.externaltools/plugin.xml
deleted file mode 100644
index 93d408b..0000000
--- a/org.eclipse.ui.externaltools/plugin.xml
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
-   id="org.eclipse.ui.externaltools"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin">
-
-   <runtime>
-      <library name="externaltools.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui.externaltools"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.apache.ant"/>
-      <import plugin="org.apache.xerces"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-   </requires>
-
-
-<!-- extension point definitions -->
-   <extension-point id="configurationDuplicationMaps" name="%ExtPoint.configurationDuplicationMaps"/>
-
-<!-- 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"
-               pulldown="true"
-               icon="icons/full/ctool16/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"
-               pulldown="true"
-               icon="icons/full/ctool16/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>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ActionDefinition.externalToolMenuDelegateToolbar.name"
-            description="%ActionDefinition.externalToolMenuDelegateToolbar.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.externalToolsPreferences"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            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>
-         <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
-            builderType="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            sourceType="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-      </configurationMap>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            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"
-            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="icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program">
-      </launchConfigurationTypeImage>
-      <launchConfigurationTypeImage
-            icon="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="icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools"
-            image="icons/full/obj16/external_tools.gif"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup">
-      </launchGroup>
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="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>
-<!-- Variable Extensions -->
-   <extension
-         point="org.eclipse.debug.core.contextLaunchVariables">
-      <variable
-            name="build_type"
-            expanderClass="org.eclipse.ui.externaltools.internal.variables.BuildTypeExpander"
-            description="%build_type.description">
-      </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.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.ui.externaltools.ATTR_REFRESH_SCOPE"
-            class="org.eclipse.ui.externaltools.internal.launchConfigurations.WorkingSetComparator"
-            id="org.eclipse.ui.externaltools.workingSetComparator">
-      </launchConfigurationComparator>
-   </extension>
-
-</plugin>