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

Sprout from master 2007-08-22 15:40:15 UTC Curtis Windatt <cwindatt> 'Bug 200831 - Dragging text to bad location in expressions view does not update cursor'
Delete:
    org.eclipse.core.variables/.classpath
    org.eclipse.core.variables/.cvsignore
    org.eclipse.core.variables/.project
    org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
    org.eclipse.core.variables/META-INF/MANIFEST.MF
    org.eclipse.core.variables/about.html
    org.eclipse.core.variables/build.properties
    org.eclipse.core.variables/component.xml
    org.eclipse.core.variables/plugin.properties
    org.eclipse.core.variables/plugin.xml
    org.eclipse.core.variables/schema/dynamicVariables.exsd
    org.eclipse.core.variables/schema/valueVariables.exsd
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ContributedValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
    org.eclipse.debug.core/.classpath
    org.eclipse.debug.core/.cvsignore
    org.eclipse.debug.core/.options
    org.eclipse.debug.core/.project
    org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
    org.eclipse.debug.core/META-INF/MANIFEST.MF
    org.eclipse.debug.core/about.html
    org.eclipse.debug.core/build.properties
    org.eclipse.debug.core/buildnotes_platform-debug.html
    org.eclipse.debug.core/component.xml
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.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/ILaunchDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.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/commands/IDebugCommandHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDisconnectHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDropToFrameHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IResumeHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepIntoHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepOverHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepReturnHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ISuspendHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ITerminateHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/commands/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.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/LaunchDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
    org.eclipse.debug.core/doc/.cvsignore
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
    org.eclipse.debug.core/hglegal2003.htm
    org.eclipse.debug.core/ngibmcpy2003.gif
    org.eclipse.debug.core/plugin.properties
    org.eclipse.debug.core/plugin.xml
    org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
    org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_0_changes.html
    org.eclipse.debug.core/r3_1_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_1_changes.html
    org.eclipse.debug.core/r3_2_ buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_3_buildnotes_platform-debug.html
    org.eclipse.debug.core/schema/breakpoints.exsd
    org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
    org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
    org.eclipse.debug.core/schema/launchDelegates.exsd
    org.eclipse.debug.core/schema/launchModes.exsd
    org.eclipse.debug.core/schema/launchers.exsd
    org.eclipse.debug.core/schema/logicalStructureProviders.exsd
    org.eclipse.debug.core/schema/logicalStructureTypes.exsd
    org.eclipse.debug.core/schema/processFactories.exsd
    org.eclipse.debug.core/schema/sourceContainerTypes.exsd
    org.eclipse.debug.core/schema/sourceLocators.exsd
    org.eclipse.debug.core/schema/sourcePathComputers.exsd
    org.eclipse.debug.core/schema/statusHandlers.exsd
    org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
    org.eclipse.debug.core/scripts/exportplugin.xml
    org.eclipse.ui.console/.classpath
    org.eclipse.ui.console/.cvsignore
    org.eclipse.ui.console/.project
    org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
    org.eclipse.ui.console/META-INF/MANIFEST.MF
    org.eclipse.ui.console/about.html
    org.eclipse.ui.console/build.properties
    org.eclipse.ui.console/component.xml
    org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/clcl16/pin.gif
    org.eclipse.ui.console/icons/full/cview16/console_view.gif
    org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/dlcl16/pin.gif
    org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
    org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
    org.eclipse.ui.console/icons/full/elcl16/new_con.gif
    org.eclipse.ui.console/icons/full/elcl16/pin.gif
    org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
    org.eclipse.ui.console/icons/full/eview16/console_view.gif
    org.eclipse.ui.console/plugin.properties
    org.eclipse.ui.console/plugin.xml
    org.eclipse.ui.console/schema/consoleFactories.exsd
    org.eclipse.ui.console/schema/consolePageParticipants.exsd
    org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
    org.eclipse.ui.console/scripts/exportplugin.xml
    org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink2.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.properties
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/HyperlinkUpdater.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.project
    org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
    org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.ui.prefs
    org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuildTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/EditCommandDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildFilesResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/SystemPathResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
    org.eclipse.ui.externaltools/META-INF/MANIFEST.MF
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
    org.eclipse.ui.externaltools/about.html
    org.eclipse.ui.externaltools/build.properties
    org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
    org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/build_tab.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.png
    org.eclipse.ui.externaltools/plugin.properties
    org.eclipse.ui.externaltools/plugin.xml
    org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project
deleted file mode 100644
index efb82a1..0000000
--- a/org.eclipse.core.variables/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.variables</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 12c548f..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Tue Sep 26 09:45:11 CDT 2006

-eclipse.preferences.version=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

diff --git a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs b/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 7eebeb8..0000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,17 +0,0 @@
-#Tue Jan 30 11:38:48 CST 2007

-compilers.incompatible-environment=1

-compilers.p.build=1

-compilers.p.deprecated=1

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

-compilers.p.missing-packages=0

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

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

-compilers.p.unknown-attribute=0

-compilers.p.unknown-class=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

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

-compilers.p.unresolved-import=0

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

-compilers.use-project=true

-eclipse.preferences.version=1

diff --git a/org.eclipse.core.variables/META-INF/MANIFEST.MF b/org.eclipse.core.variables/META-INF/MANIFEST.MF
deleted file mode 100644
index 2144a0d..0000000
--- a/org.eclipse.core.variables/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.core.variables.VariablesPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.core.internal.variables;x-internal:=true,
- org.eclipse.core.variables
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.core.variables/about.html b/org.eclipse.core.variables/about.html
deleted file mode 100644
index 4602330..0000000
--- a/org.eclipse.core.variables/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties
deleted file mode 100644
index bcf8553..0000000
--- a/org.eclipse.core.variables/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-source.. = src/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.core.variables/component.xml b/org.eclipse.core.variables/component.xml
deleted file mode 100644
index e68c3cd..0000000
--- a/org.eclipse.core.variables/component.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Core Variables">
- <plugin id="org.eclipse.core.variables" />
-
- <package name="org.eclipse.core.variables">
- 	<type name="IDynamicVariable" implement="false" />
- 	<type name="IDynamicVariableResolver" />
- 	<type name="IStringVariable" implement="false" />
- 	<type name="IStringVariableManager" implement="false" />
- 	<type name="IValueVariable" implement="false" />
- 	<type name="IValueVariableInitializer" />
- 	<type name="IValueVariableListener" />
- 	<type name="VariablesPlugin" instantiate="false" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties
deleted file mode 100644
index 88108aa..0000000
--- a/org.eclipse.core.variables/plugin.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Core Variables
-providerName=Eclipse.org
-valueVariablesExtensionPointName=Value Variables
-dynamicVariablesExtensionPointName=Dynamic Variables
-eclipse_home.description=The location of the base installation for the running platform
diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml
deleted file mode 100644
index 97246bb..0000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/>
-   <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/>
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            description="%eclipse_home.description"
-            name="eclipse_home"
-            resolver="org.eclipse.core.internal.variables.EclipseHomeVariableResolver"
-            supportsArgument="false"/>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd
deleted file mode 100644
index 5168a89..0000000
--- a/org.eclipse.core.variables/schema/dynamicVariables.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-&lt;pre&gt;

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

-   &lt;variable 

-      name=&quot;resource_name&quot;

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

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

-   &lt;/variable&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.core.variables/schema/valueVariables.exsd b/org.eclipse.core.variables/schema/valueVariables.exsd
deleted file mode 100644
index 7dd314c..0000000
--- a/org.eclipse.core.variables/schema/valueVariables.exsd
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.variables">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="variable">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique name for this variable.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="readOnly" type="boolean">
-            <annotation>
-               <documentation>
-                  Specifies whether this variable is read only. When true, this variable&apos;s value will always be derived from the extension and cannot be edited by the user. When false, this variable&apos;s value will be initialized from any &lt;code&gt;initialValue&lt;/code&gt; attribtue or initializer class, and can be modified by the user. Once a read-write variable is modified, it&apos;s value is persisted and overrides any value specified by an extension&apos;s &lt;code&gt;initialValue&lt;/code&gt; or initializer class. When unspecified, the value of this attribute is &lt;code&gt;false&lt;/code&gt;. This attribute was added in the 3.3 release.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="initialValue" type="string">
-            <annotation>
-               <documentation>
-                  specifies the initial value for this variable. When specified, an &lt;code&gt;initializerClass&lt;/code&gt; attribute must not be specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="initializerClass" type="string">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/code&gt;. When specified, an &lt;code&gt;initialValue&lt;/code&gt; attribute must not be specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  specifies a human-readable description of this variable.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a value variable contribution with an initial value:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
-  &lt;variable
-   name=&quot;FOO_HOME&quot;
-   initialValue=&quot;/usr/local/foo&quot;&gt;
-  &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified variable is created with the initial value &quot;/usr/local/foo&quot;.
-
-         The following is an example of a value variable contribution with an initializer class:
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
-  &lt;variable
-   name=&quot;FOO_HOME&quot;
-   initializerClass=&quot;com.example.FooLocator&quot;&gt;
-  &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the variable FOO_HOME is created and the class &quot;com.example.FooLocator&quot; will be
-used to initialize the value the first time it&apos;s requested.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;initializerClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2003, 2006 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ContributedValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ContributedValueVariable.java
deleted file mode 100644
index f53bf67..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ContributedValueVariable.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Implementation of a value variable.
- */
-public class ContributedValueVariable extends StringVariable implements IValueVariable {
-	
-	/**
-	 * Variable value or <code>null</code> if none 
-	 */
-	private String fValue;
-	
-	/**
-	 * Whether this variable's value has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * Whether this variable is read only.  If true, users cannot change the value.
-	 */
-	private boolean fReadOnly;
-	
-	/**
-	 * Constructs a new value variable with the given name, description, read only
-	 * property and associated configuration element.  The value will be initialized
-	 * from the configuration element the first time getValue() is called.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param readOnly whether the variable should be a read only variable
-	 * @param configurationElement configuration element
-	 */
-	public ContributedValueVariable(String name, String description, boolean readOnly, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-		fReadOnly = readOnly;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		if (!isReadOnly() || !isInitialized()){
-			fValue = value;
-			setInitialized(true);
-			StringVariableManager.getDefault().notifyChanged(this);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#getValue()
-	 */
-	public String getValue() {
-		if (!isInitialized()) {
-			initialize();
-		}
-		return fValue;
-	}
-
-	/**
-	 * Initialize this variable's value from the configuration element.
-	 */
-	private void initialize() {
-		if (getConfigurationElement() != null) {
-			// check for a explicit value specified in plug-in XML
-			String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$
-			if (value == null) {
-				// check for initializer
-				String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$
-				if (className != null) {
-					try {
-						Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$
-						if (object instanceof IValueVariableInitializer) {
-							IValueVariableInitializer initializer = (IValueVariableInitializer)object;
-							initializer.initialize(this);
-						} else {
-							VariablesPlugin.logMessage(NLS.bind("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
-						}
-					} catch (CoreException e) {
-						VariablesPlugin.logMessage(NLS.bind("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
-					}
-				}
-			} else {
-				setValue(value);
-			}
-		}
-		setInitialized(true);
-	}
-
-	/**
-	 * Returns whether this variable has been initialized with a value by one of:
-	 * <ul>
-	 * <li><code>setValue(String)</code></li>
-	 * <li>its configuration element's <code>initialValue</code> attribute</li>
-	 * <li>its configuration element's initializer</li>
-	 * </ul>
-	 * @return whether this variable has been initialized with a value
-	 */	
-	protected boolean isInitialized() {
-		return fInitialized;
-	} 
-	
-	/**
-	 * Sets whether this variable has been initialized with a value.
-	 *  
-	 * @param initialized whether this variable has been initialized
-	 */
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return fReadOnly;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return getConfigurationElement() != null;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
deleted file mode 100644
index f2d48d8..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-	
-	/**
-	 * Resolver, or <code>null</code> until needed
-	 */
-	private IDynamicVariableResolver fResolver;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
-	 */
-	public String getValue(String argument) throws CoreException {
-		if (!supportsArgument()) {
-			// check for an argument - not supported
-			if (argument != null && argument.length() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.DynamicVariable_0, new String[]{argument, getName()}), null)); 
-			}
-		}
-		if (fResolver == null) {
-			String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
-			if (name == null) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-			Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
-			if (object instanceof IDynamicVariableResolver) {
-				fResolver = (IDynamicVariableResolver)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		return fResolver.resolveValue(this, argument);
-	}
-
-	/**
-	 * Constructs a new context variable.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param configurationElement configuration element
-	 */
-	public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
-	 */
-	public boolean supportsArgument() {
-		String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
-		return arg == null || Boolean.valueOf(arg).booleanValue();
-	}
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
deleted file mode 100644
index 17ca4a1..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/EclipseHomeVariableResolver.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Bjorn Freeman-Benson - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.osgi.service.datalocation.Location;
-
-/**
- * Resolver for ${eclipse_home}
- * 
- * @since 3.2
- */
-public class EclipseHomeVariableResolver implements IDynamicVariableResolver {
-
-    public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-        Location installLocation = Platform.getInstallLocation();
-        if (installLocation != null) {
-            URL url = installLocation.getURL();
-            if (url != null) {
-                String file = url.getFile();
-                if (file.length() != 0) {
-                    return file;
-                }
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 94bd5d7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-	
-	// delimiters
-	private static final String VARIABLE_START = "${"; //$NON-NLS-1$
-	private static final char VARIABLE_END = '}'; 
-	private static final char VARIABLE_ARG = ':'; 
-	// parsing states
-	private static final int SCAN_FOR_START = 0;
-	private static final int SCAN_FOR_END = 1;
-	
-	/**
-	 * Resulting string
-	 */
-	private StringBuffer fResult;
-	
-	/**
-	 * Whether substitutions were performed
-	 */
-	private boolean fSubs;
-	
-	/**
-	 * Stack of variables to resolve
-	 */
-	private Stack fStack;
-	
-	class VariableReference {
-		
-		// the text inside the variable reference
-		private StringBuffer fText;
-		
-		public VariableReference() {
-			fText = new StringBuffer();
-		}
-		
-		public void append(String text) {
-			fText.append(text);
-		}
-		
-		public String getText() {
-			return fText.toString();
-		}
-	
-	}
-	
-	/**
-	 * Performs recursive string substitution and returns the resulting string.
-	 * 
-	 * @param expression expression to resolve
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param manager registry of variables
-	 * @return the resulting string with all variables recursively
-	 *  substituted
-	 * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
-	 *  in referenced variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		substitute(expression, reportUndefinedVariables, resolveVariables, manager);
-		List resolvedVariableSets = new ArrayList();
-		while (fSubs) {
-			HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);			
-			
-			for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-				
-				HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
-				if (prevSet.equals(resolved)) {
-					HashSet conflictingSet = new HashSet();
-					for (; i<resolvedVariableSets.size(); i++)
-						conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-					
-					StringBuffer problemVariableList = new StringBuffer();
-					for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
-						problemVariableList.append(it.next().toString());
-						problemVariableList.append(", "); //$NON-NLS-1$
-					}
-					problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_4, new String[]{problemVariableList.toString()}), null)); 
-				}				
-			}		
-			
-			resolvedVariableSets.add(resolved);			
-		}
-		return fResult.toString();
-	}
-	
-	/**
-	 * Performs recursive string validation to ensure that all of the variables
-	 * contained in the expression exist
-	 * @param expression expression to validate
-	 * @param manager registry of variables
-	 * @exception CoreException if a referenced variable does not exist or if a cycle exists
-	 *  in referenced variables
-	 */
-	public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
-		performStringSubstitution(expression, true, false, manager);
-	}
-	
-	/**
-	 * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
-	 *  pass
-	 *  
-	 * @param expression source expression
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param resolveVariables whether to resolve the value of any variables
-	 * @exception CoreException if unable to resolve a variable
-	 */
-	private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		fResult = new StringBuffer(expression.length());
-		fStack = new Stack();
-		fSubs = false;
-		
-		HashSet resolvedVariables = new HashSet();
-
-		int pos = 0;
-		int state = SCAN_FOR_START;
-		while (pos < expression.length()) {
-			switch (state) {
-				case SCAN_FOR_START:
-					int start = expression.indexOf(VARIABLE_START, pos);
-					if (start >= 0) {
-						int length = start - pos;
-						// copy non-variable text to the result
-						if (length > 0) {
-							fResult.append(expression.substring(pos, start));
-						}
-						pos = start + 2;
-						state = SCAN_FOR_END;
-
-						fStack.push(new VariableReference());						
-					} else {
-						// done - no more variables
-						fResult.append(expression.substring(pos));
-						pos = expression.length();
-					}
-					break;
-				case SCAN_FOR_END:
-					// be careful of nested variables
-					start = expression.indexOf(VARIABLE_START, pos);
-					int end = expression.indexOf(VARIABLE_END, pos);
-					if (end < 0) {
-						// variables are not completed
-						VariableReference tos = (VariableReference)fStack.peek();
-						tos.append(expression.substring(pos));
-						pos = expression.length();
-					} else {
-						if (start >= 0 && start < end) {
-							// start of a nested variable
-							int length = start - pos;
-							if (length > 0) {
-								VariableReference tos = (VariableReference)fStack.peek();
-								tos.append(expression.substring(pos, start));
-							}
-							pos = start + 2;
-							fStack.push(new VariableReference());	
-						} else {
-							// end of variable reference
-							VariableReference tos = (VariableReference)fStack.pop();
-							String substring = expression.substring(pos, end);							
-							tos.append(substring);
-							resolvedVariables.add(substring);
-							
-							pos = end + 1;
-							String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
-							if (value == null) {
-								value = ""; //$NON-NLS-1$
-							}
-							if (fStack.isEmpty()) {
-								// append to result
-								fResult.append(value);
-								state = SCAN_FOR_START;
-							} else {
-								// append to previous variable
-								tos = (VariableReference)fStack.peek();
-								tos.append(value);
-							}
-						}
-					}
-					break;
-			}
-		}
-		// process incomplete variable references
-		while (!fStack.isEmpty()) {
-			VariableReference tos = (VariableReference)fStack.pop();
-			if (fStack.isEmpty()) {
-				fResult.append(VARIABLE_START);
-				fResult.append(tos.getText());
-			} else {
-				VariableReference var = (VariableReference)fStack.peek();
-				var.append(VARIABLE_START);
-				var.append(tos.getText());
-			}
-		}
-		
-
-		return resolvedVariables;
-	}
-
-	/**
-	 * Resolve and return the value of the given variable reference,
-	 * possibly <code>null</code>. 
-	 * 
-	 * @param var
-	 * @param reportUndefinedVariables whether to report undefined variables as
-	 *  an error
-	 * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
-	 * @param manager variable registry
-	 * @return variable value, possibly <code>null</code>
-	 * @exception CoreException if unable to resolve a value
-	 */
-	private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		String text = var.getText();
-		int pos = text.indexOf(VARIABLE_ARG);
-		String name = null;
-		String arg = null;
-		if (pos > 0) {
-			name = text.substring(0, pos);
-			pos++;
-			if (pos < text.length()) {
-				arg = text.substring(pos);
-			} 
-		} else {
-			name = text;
-		}
-		IValueVariable valueVariable = manager.getValueVariable(name);
-		if (valueVariable == null) {
-			IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
-			if (dynamicVariable == null) {
-				// no variables with the given name
-				if (reportUndefinedVariables) {
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_3, new String[]{name}), null)); 
-				} 
-				// leave as is
-				return getOriginalVarText(var);
-			} 
-			
-			if (resolveVariables) {
-				fSubs = true;
-				return dynamicVariable.getValue(arg);
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		
-		if (arg == null) {
-			if (resolveVariables) {
-				fSubs = true;
-				return valueVariable.getValue();
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		// error - an argument specified for a value variable
-		throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringSubstitutionEngine_4, new String[]{valueVariable.getName()}), null)); 
-	}
-
-	private String getOriginalVarText(VariableReference var) {
-		StringBuffer res = new StringBuffer(var.getText());
-		res.insert(0, VARIABLE_START);
-		res.append(VARIABLE_END);
-		return res.toString();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
deleted file mode 100644
index 498b411..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Variable description, or <code>null</code>
-	 */
-	private String fDescription;
-	
-	/**
-	 * Configuration element associated with this variable, or <code>null</code>
-	 */
-	private IConfigurationElement fConfigurationElement;
-
-	/**
-	 * Constructs a new variable with the given name, description and configuration element.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 * @param configurationElement configuration element or <code>null</code>
-	 */
-	public StringVariable(String name, String description, IConfigurationElement configurationElement) {
-		fName = name;
-		fDescription = description;
-		fConfigurationElement = configurationElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-	
-	/**
-	 * Returns the configuration element associated with this variable, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return configuration element or <code>null</code>
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-	
-	/**
-	 * @see IValueVariable#setDescription(String)
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index 6338cda..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,601 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.osgi.util.NLS;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Singleton string variable manager. 
- */
-public class StringVariableManager implements IStringVariableManager, IPropertyChangeListener {
-	
-	/**
-	 * Dynamic variables - maps variable names to variables.
-	 */
-	private Map fDynamicVariables;
-	
-	/**
-	 * Value variables - maps variable names to variables.
-	 */
-	private Map fValueVariables;
-	
-	/**
-	 * Variable listeners
-	 */
-	private ListenerList fListeners;
-	
-	// notifications
-	private static final int ADDED = 0;
-	private static final int CHANGED = 1;
-	private static final int REMOVED = 2;
-	
-	/**
-	 * Singleton variable manager.
-	 */
-	private static StringVariableManager fgManager; 
-	
-	// true during internal updates indicates that change notification
-	// should be suppressed/ignored.
-	private boolean fInternalChange = false;
-	
-	// Variable extension point constants
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$
-	private static final String ATTR_READ_ONLY="readOnly"; //$NON-NLS-1$	
-	// Persisted variable XML constants
-	private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$
-	private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$
-	private static final String NAME_TAG= "name"; //$NON-NLS-1$
-	private static final String VALUE_TAG= "value"; //$NON-NLS-1$
-	private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$
-	private static final String READ_ONLY_TAG="readOnly"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	// preference store key for value variables
-	private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$	
-		
-	/**
-	 * Notifies a string variable listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class StringVariableNotifier implements ISafeRunnable {
-		
-		private IValueVariableListener fListener;
-		private int fType;
-		private IValueVariable[] fVariables;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$
-			VariablesPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.variablesAdded(fVariables);
-					break;
-				case REMOVED:
-					fListener.variablesRemoved(fVariables);
-					break;
-				case CHANGED:
-					fListener.variablesChanged(fVariables);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IValueVariable[] variables, int update) {
-			fVariables = variables;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IValueVariableListener)copiedListeners[i];
-				SafeRunner.run(this);
-			}	
-			fVariables = null;
-			fListener = null;
-			// persist variables whenever there is an add/change/remove	
-			storeValueVariables();	
-		}
-	}	
-	
-	/**
-	 * Returns a new notifier.
-	 * 
-	 * @return a new notifier
-	 */
-	private StringVariableNotifier getNotifier() {
-		return new StringVariableNotifier();
-	}
-	
-	/**
-	 * Returns the default string variable manager
-	 * 
-	 * @return string variable manager
-	 */
-	public static StringVariableManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariableManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Constructs a new string variable manager. 
-	 */
-	private StringVariableManager() {
-		fListeners = new ListenerList();
-	}	
-
-	/**
-	 * Load contributed variables and persisted variables
-	 */
-	private synchronized void initialize() {
-		if (fDynamicVariables == null) {
-			fInternalChange = true;
-			fDynamicVariables = new HashMap(5);
-			fValueVariables = new HashMap(5);
-			loadContributedValueVariables();
-			loadPersistedValueVariables();
-			loadDynamicVariables();
-			VariablesPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
-			fInternalChange = false;
-		}
-	}
-	
-	/**
-	 * Loads contributed dynamic variables
-	 */
-	private void loadDynamicVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(NLS.bind("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			DynamicVariable variable= new DynamicVariable(name, description, element);
-			fDynamicVariables.put(variable.getName(), variable);
-		}
-	}
-
-	/**
-	 * Loads contributed value variables. This is done before loading persisted values.
-	 */
-	private void loadContributedValueVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(NLS.bind("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			boolean isReadOnly = TRUE_VALUE.equals(element.getAttribute(ATTR_READ_ONLY));
-			
-			IValueVariable variable = new ContributedValueVariable(name, description, isReadOnly, element);
-			fValueVariables.put(name, variable);		
-		}		
-	}
-
-	/**
-	 * Loads persisted value variables from the preference store.  This is done after
-	 * loading value variables from the extension point.  If a persisted variable has the 
-	 * same name as a extension contributed variable the variable's value will be set to
-	 * the persisted value unless either a) The persisted value is <code>null</code>, or
-	 * b) the variable is read-only.
-	 */
-	private void loadPersistedValueVariables() {
-		String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		Throwable ex = null;
-		try {
-			ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (UnsupportedEncodingException e) {
-			ex = e;
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (FactoryConfigurationError e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		if (ex != null) {
-			VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
-			VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
-					VariablesPlugin.logMessage(NLS.bind("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					String value= element.getAttribute(VALUE_TAG);
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					boolean readOnly= TRUE_VALUE.equals(element.getAttribute(READ_ONLY_TAG));
-				
-					IValueVariable existing = getValueVariable(name);
-					if (existing == null){
-						ValueVariable variable = new ValueVariable(name, description, readOnly, value);
-						fValueVariables.put(name, variable);
-					} else if (!existing.isReadOnly() && value != null){
-						existing.setValue(value);
-					}
-				} else {
-					VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$
-				}
-			}
-		}		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
-	 */
-	public synchronized IStringVariable[] getVariables() {
-		initialize();
-		List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size());
-		list.addAll(fDynamicVariables.values());
-		list.addAll(fValueVariables.values());
-		return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables()
-	 */
-	public synchronized IValueVariable[] getValueVariables() {
-		initialize();
-		return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
-	 */
-	public synchronized IDynamicVariable[] getDynamicVariables() {
-		initialize();
-		return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
-	 */
-	public String performStringSubstitution(String expression) throws CoreException {
-		return performStringSubstitution(expression, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description) {
-		return newValueVariable(name, description, false, null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String, boolean, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description, boolean readOnly, String value) {
-		return new ValueVariable(name, description, readOnly, value);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void addVariables(IValueVariable[] variables) throws CoreException {
-		initialize();
-		MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.StringVariableManager_26, null); 
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (getValueVariable(variable.getName()) != null) {
-				status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, NLS.bind(VariablesMessages.StringVariableManager_27, new String[]{variable.getName()}), null)); 
-			}			
-		}
-		if (status.isOK()) {
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				fValueVariables.put(variable.getName(), variable);
-			}
-			IValueVariable[] copy = new IValueVariable[variables.length];
-			System.arraycopy(variables, 0, copy, 0, variables.length);
-			getNotifier().notify(copy, ADDED);
-			return;
-		}
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public synchronized void removeVariables(IValueVariable[] variables) {
-		initialize();
-		List removed = new ArrayList(variables.length);
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (fValueVariables.remove(variable.getName()) != null) {
-				removed.add(variable);
-			}
-		}
-		if (removed.size() > 0) {
-			getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String)
-	 */
-	public synchronized IDynamicVariable getDynamicVariable(String name) {
-		initialize();
-		return (IDynamicVariable) fDynamicVariables.get(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String)
-	 */
-	public synchronized IValueVariable getValueVariable(String name) {
-		initialize();
-		return (IValueVariable) fValueVariables.get(name);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void addValueVariableListener(IValueVariableListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns a memento representing the value variables currently registered.
-	 * 
-	 * @return memento representing the value variables currently registered
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IValueVariable[] variables = getValueVariables();
-
-		Document document= getDocument();
-		Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (!variable.isReadOnly()){
-				// don't persist read-only variables or un-initialized contributed variables 
-				if (!variable.isContributed() || ((ContributedValueVariable)variable).isInitialized()) {
-					Element element= document.createElement(VALUE_VARIABLE_TAG);
-					element.setAttribute(NAME_TAG, variable.getName());
-					String value= variable.getValue();
-					if (value != null) {
-						element.setAttribute(VALUE_TAG, value);
-					}
-					element.setAttribute(READ_ONLY_TAG, variable.isReadOnly() ? TRUE_VALUE : FALSE_VALUE);
-					String description= variable.getDescription();
-					if (description != null) {
-						element.setAttribute(DESCRIPTION_TAG, description);
-					}
-					rootElement.appendChild(element);
-				}
-			}
-		}
-		return serializeDocument(document);
-	}
-	
-	private Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc =docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Saves the value variables currently registered in the
-	 * preference store. 
-	 */
-	private synchronized void storeValueVariables() {
-		Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences();
-		String variableString= ""; //$NON-NLS-1$
-		if (!fValueVariables.isEmpty()) {
-			try {
-				variableString= getValueVariablesAsXML();
-			} catch (IOException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (ParserConfigurationException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			} catch (TransformerException e) {
-				VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
-				return;
-			}
-		}
-		fInternalChange = true;
-		prefs.setValue(PREF_VALUE_VARIABLES, variableString);
-		VariablesPlugin.getDefault().savePluginPreferences();
-		fInternalChange = false;
-	}
-
-	/**
-	 * Fire a change notification for the given variable.
-	 * 
-	 * @param variable the variable that has changed
-	 */
-	protected void notifyChanged(IValueVariable variable) {
-		if (!fInternalChange) {
-			IValueVariable existing = getValueVariable(variable.getName());
-			if (variable.equals(existing)) {
-				// do not do change notification for unregistered variables
-				getNotifier().notify(new IValueVariable[]{variable}, CHANGED);
-			}
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String)
-	 */
-	public String generateVariableExpression(String varName, String arg) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("${"); //$NON-NLS-1$
-		buffer.append(varName);
-		if (arg != null) {
-			buffer.append(":"); //$NON-NLS-1$
-			buffer.append(arg);
-		}
-		buffer.append("}"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean)
-	 */
-	public String performStringSubstitution(String expression,	boolean reportUndefinedVariables) throws CoreException {
-		return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String)
-	 */
-	public void validateStringVariables(String expression) throws CoreException {
-		new StringSubstitutionEngine().validateStringVariables(expression, this);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.variables.IStringVariableManager#getContributingPluginId(org.eclipse.core.variables.IStringVariable)
-     */
-    public String getContributingPluginId(IStringVariable variable) {
-        if (variable instanceof StringVariable) {
-            return ((StringVariable) variable).getConfigurationElement().getContributor().getName();
-        }
-        return null;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (PREF_VALUE_VARIABLES.equals(event.getProperty())) {
-			synchronized (this) {
-				if (!fInternalChange) {
-					fValueVariables.clear();
-					loadPersistedValueVariables();
-					loadContributedValueVariables();
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
deleted file mode 100644
index 3bac3d0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.variables.IValueVariable;
-
-/**
- * Implementation of a value variable.
- */
-public class ValueVariable extends StringVariable implements IValueVariable {
-	
-	/**
-	 * Variable value or <code>null</code> if none 
-	 */
-	private String fValue;
-	
-	/**
-	 * Whether this variable is read only.  If true, users cannot change the value.
-	 */
-	private boolean fReadOnly;
-	
-	/**
-	 * Constructs a new value variable with the given name, description, read only
-	 * property and string value.  Value can be null.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param readOnly whether the variable should be a read only variable
-	 * @param value the initial value of the variable or <code>null</code>
-	 */
-	public ValueVariable(String name, String description, boolean readOnly, String value) {
-		super(name, description, null);
-		fReadOnly = readOnly;
-		fValue = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		if (!isReadOnly()){
-			fValue = value;
-			StringVariableManager.getDefault().notifyChanged(this);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#getValue()
-	 */
-	public String getValue() {
-		return fValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return fReadOnly;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return false;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 27378a6..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class VariablesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages";//$NON-NLS-1$
-	//
-	// Copyright (c) 2000, 2005 IBM Corporation and others.
-	// All rights reserved. This program and the accompanying materials
-	// are made available under the terms of the Eclipse Public License v1.0
-	// which accompanies this distribution, and is available at
-	// http://www.eclipse.org/legal/epl-v10.html
-	//
-	// Contributors:
-	//     IBM Corporation - initial API and implementation
-	//
-
-	public static String StringSubstitutionEngine_3;
-	public static String StringSubstitutionEngine_4;
-
-	public static String StringVariableManager_26;
-	public static String StringVariableManager_27;
-
-	public static String DynamicVariable_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, VariablesMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
deleted file mode 100644
index 945dbd3..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-StringSubstitutionEngine_3=Reference to undefined variable {0}
-StringSubstitutionEngine_4=Variable {0} does not accept arguments
-
-StringVariableManager_26=Variables with the specified names are already registered.
-StringVariableManager_27=Variable named {0} already registered
-
-DynamicVariable_0=Unsupported argument {0} specified for variable {1}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
deleted file mode 100644
index 9bdda6e..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A dynamic variable is a variable whose value is computed dynamically
- * by a resolver at the time a string substitution is performed. A dynamic
- * variable is contributed by an extension.
- * <p>
- * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- *    &lt;variable 
- *       name="resource_name"
- *       resolver="com.example.ResourceNameResolver"
- *       description="The name of the selected resource"
- *       supportsArgument="false"&gt;
- *    &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a dynamic variable provide an implementation of {@link org.eclipse.core.variables.IDynamicVariableResolver}.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariable extends IStringVariable {
-
-	/**
-	 * Returns the value of this variable when referenced with the given
-	 * argument, possibly <code>null</code>.
-	 * 
-	 * @param argument argument present in variable expression or <code>null</code>
-	 *   if none
-	 * @return value of this variable when referenced with the given argument, possibly
-	 *   <code>null</code>
-	 * @throws CoreException if unable to resolve a value for this variable
-	 */
-	public String getValue(String argument) throws CoreException;
-	
-	/**
-	 * Returns whether this variable supports an argument, as specified
-	 * by this variable's extension definition in plug-in XML.
-	 * 
-	 * @return whether this variable supports an argument
-	 */
-	public boolean supportsArgument();
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
deleted file mode 100644
index b5cefaa..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a dynamic variable. A dynamic variable extension
- * contributes a resolver which must implement this interface.
- * <p>
- * Clients contributing a dynamic variable are intended to provide an implementation
- * of this interface.
- * </p>
- * @since 3.0
- */
-public interface IDynamicVariableResolver {
-
-	/**
-	 * Resolves and returns a value for the specified variable when referenced
-	 * with the given argument, possibly <code>null</code>
-	 *  
-	 * @param variable variable to resolve a value for
-	 * @param argument argument present in expression or <code>null</code> if none
-	 * @return variable value, possibly <code>null</code>
-	 * @throws CoreException if unable to resolve a value for the given variable
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
deleted file mode 100644
index 6bf9832..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon separates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- *       accept no arguments. The value of this type of variable is resolved at the time
- *       its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * 		a string substitution is performed by a contributed resolver. Dynamic variables
- * 		may accept an argument.</li>
- * </ul>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariable {
-
-	/**
-	 * Returns the name of this variable. A variable is uniquely identified by
-	 * its name.
-	 * 
-	 * @return variable name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a human readable description of this variable, possibly <code>null</code>
-	 * 
-	 * @return a description of this variable, or <code>null</code> if none
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
deleted file mode 100644
index 8f2434a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IStringVariableManager {
-
-	/**
-	 * Simple identifier constant (value <code>"dynamicVariables"</code>) for the
-	 * dynamic variables extension point.
-	 */
-	public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"valueVariables"</code>) for the
-	 * value variables extension point.
-	 */
-	public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Returns all registered variables.
-	 * 
-	 * @return a collection of all registered variables
-	 */
-	public IStringVariable[] getVariables();
-	
-	/**
-	 * Returns all registered value variables.
-	 * 
-	 * @return a collection of all registered value variables
-	 */
-	public IValueVariable[] getValueVariables();
-	
-	/**
-	 * Returns the value variable with the given name, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the value variable with the given name, or <code>null</code>
-	 * if none
-	 */
-	public IValueVariable getValueVariable(String name);
-	
-	/**
-	 * Returns all registered dynamic variables.
-	 * 
-	 * @return a collection of all registered dynamic variables
-	 */
-	public IDynamicVariable[] getDynamicVariables();	
-	
-	/**
-	 * Returns the dynamic variable with the given name or <code>null</code>
-	 * if none.
-	 * 
-	 * @param name variable name
-	 * @return the dynamic variable with the given name or <code>null</code>
-	 * if none
-	 */
-	public IDynamicVariable getDynamicVariable(String name);
-    
-    /**
-     * Returns the plug-in identifier of the plug-in that contributed the
-     * given variable via extension or <code>null</code> if the given
-     * variable wasn't contributed via extension.
-     * 
-     * @param variable the variable
-     * @return the plug-in identifier of the plug-in that contributed the
-     *  given variable or <code>null</code>
-     * @since 3.1
-     */
-    public String getContributingPluginId(IStringVariable variable);
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Reports errors for references
-	 * to undefined variables (equivalent to calling
-	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
-	 * @param expression expression referencing variables
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression) throws CoreException;
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Allows the client to control
-	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
-	 * @param expression expression referencing variables
-	 * @param reportUndefinedVariables whether a reference to an undefined variable
-	 *  is to be considered an error (i.e. throw an exception)
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
-	/**
-	 * Validates variables references in the given expression and reports errors
-	 * for references to undefined variables.
-	 * 
-	 * @param expression expression referencing variables
-	 * @throws CoreException if one or more referenced variables do not exist
-	 */
-	public void validateStringVariables(String expression) throws CoreException;
-	
-	/**
-	 * Returns a new read-write value variable with the given name and description
-	 * with a <code>null</code> value.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @return a new value variable
-	 */
-	public IValueVariable newValueVariable(String name, String description);
-
-	/**
-	 * Returns a new value variable with the given properties.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @param readOnly whether this variable is to be a read only variable
-	 * @param value the string value to initialize this variable to - should
-	 * 	not be <code>null</code> for read-only variables
-	 * @return a new value variable
-	 * @since 3.3
-	 */
-	public IValueVariable newValueVariable(String name, String description, boolean readOnly, String value);
-	
-	/**
-	 * Adds the given variables to the variable registry.
-	 * 
-	 * @param variables the variables to add
-	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
-	/**
-	 * Removes the given variables from the registry. Has no effect for unregistered
-	 * variables.
-	 * 
-	 * @param variables variables to remove
-	 */
-	public void removeVariables(IValueVariable[] variables);
-	
-	/**
-	 * Registers the given listener for value variable notifications. Has no effect
-	 * if an identical listener is already registered.
-	 *   
-	 * @param listener value variable listener to add
-	 */
-	public void addValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Removes the given listener from the list of registered value variable
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener value variable listener to remove
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Convenience method that returns an expression referencing the given
-	 * variable and optional argument. For example, calling the method with
-	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
-	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
-	 * @param varName variable name
-	 * @param arg argument text or <code>null</code>
-	 * @return an expression referencing the given variable and
-	 *  optional argument
-	 */
-	public String generateVariableExpression(String varName, String arg);
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index d9cd25e..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialize the variable with a value.
- * <p>
- * Since 3.3, a variable can be specified as a "read only" preventing users from changing
- * the value after it has been initialized.  Furthermore, a read only variable that is
- * contributed by an extension will always load the value from the extension.
- * </p>
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initialValue="/usr/local/foo"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initializerClass="com.example.FooLocator"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given value.
-	 * Since 3.3, this has no effect if this variable is read only.
-	 *
-	 * @param value variable value
-	 */
-	public void setValue(String value);
-	
-	/**
-	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
-	 * @return the value of this variable, or <code>null</code> if none
-	 */
-	public String getValue();
-	
-	/**
-	 * Returns whether this variable was contributed by an extension.
-	 * 
-	 * @return whether this variable was contributed by an extension
-	 */
-	public boolean isContributed();
-	
-	/**
-	 * Returns whether this variable is read only.
-	 * 
-	 * @return whether this variable is read only
-	 * @since 3.3
-	 */
-	public boolean isReadOnly();
-	
-	/**
-	 * Sets the description of this variable to the given value.
-	 * 
-	 * @param description variable description, possibly <code>null</code>
-	 */
-	public void setDescription(String description);	
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 035a907..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechanism for programmatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
-	/**
-	 * Initializes the specified variable. 
-	 * 
-	 * @param variable variable to initialize
-	 */
-	public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 37dac25..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A string variable listener is notified of variables as they are added
- * and removed from the string variable manager. As well, listeners are
- * notified when a value variable changes value.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableListener {
-	
-	/**
-	 * Notification the given variables have been added to the variable
-	 * manager.
-	 * 
-	 * @param variables added variables
-	 */
-	public void variablesAdded(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been removed from the variable
-	 * manager.
-	 * 
-	 * @param variables removed variables
-	 */
-	public void variablesRemoved(IValueVariable[] variables);
-	
-	/**
-	 * Notification the given variables have been changed value.
-	 * 
-	 * @param variables changed variables
-	 */
-	public void variablesChanged(IValueVariable[] variables);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
deleted file mode 100644
index 114b01d..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * Status code indicating a variable reference cycle error.
-	 */
-	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static VariablesPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
-	 * for the Core Variables plug-in.
-	 */
-	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
-	/** 
-	 * Constructs an instance of this plug-in runtime class.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by the Variables plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public VariablesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static VariablesPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plug-in.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_CORE_VARIABLES;
-	}
-	
-	/**
-	 * Returns the string variable manager.
-	 * 
-	 * @return the string variable manager
-	 */
-	public IStringVariableManager getStringVariableManager() {
-		return StringVariableManager.getDefault();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of 
-  string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and 
-  contribution of variables for the purpose of string substitution. The plug-in 
-  supports the recursive replacement of variables referenced by name in arbitrary 
-  strings with the value of the variable. Two types of variables are provided 
-  - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). 
-  A value variable has a simple setter and getter for its current value. A dynamic 
-  variable has an associated resolver that provides a variable's value each time 
-  it is referenced (replaced) in a string substitution. A dynamic variable may 
-  also provide an argument in its reference that can be used by its resolver to 
-  determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage 
-  the set of defined variables. Value variables may be created via API on the 
-  variable manager, or contributed via the <code>valueVariables</code> extension 
-  point. Dynamic variables must be contributed via the <code>dynamicVariables</code> 
-  extension point. The variable manager also provides change notification for 
-  value variables. The variable manager also provides an API for performing string 
-  substitution, which accepts a string, and returns a string with all variable 
-  references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with 
-  a dollar sign. For example, consider a variable defined with the name <code>foo</code>, 
-  and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>. 
-  If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result 
-  of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the 
-  case of a dynamic variable, an (optional) argument is supplied by appending 
-  a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>. 
-  In this case, the resolver associated with <code>foo</code> would be provided 
-  with the referenced argument (<code>bar</code>) when asked to resolve a value 
-  for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath
deleted file mode 100644
index 3138d4b..0000000
--- a/org.eclipse.debug.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="core"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/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 47e1551..0000000
--- a/org.eclipse.debug.core/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.debug.core/debug=false

-org.eclipse.debug.core/debug/commands=false

-org.eclipse.debug.core/debug/events=false
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project
deleted file mode 100644
index 394ef93..0000000
--- a/org.eclipse.debug.core/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.debug.core</name>
-	<comment></comment>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 03a607e..0000000
--- a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Wed Jan 17 13:24:06 CST 2007

-eclipse.preferences.version=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled

-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,HIGH,HIGH

-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,EXPERIMENTAL,CONTEXTLAUNCHING

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

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

diff --git a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs b/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index e3108cb..0000000
--- a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,17 +0,0 @@
-#Tue Jan 30 11:38:38 CST 2007

-compilers.incompatible-environment=1

-compilers.p.build=1

-compilers.p.deprecated=1

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

-compilers.p.missing-packages=0

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

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

-compilers.p.unknown-attribute=0

-compilers.p.unknown-class=0

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=0

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

-compilers.p.unresolved-import=0

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

-compilers.use-project=true

-eclipse.preferences.version=1

diff --git a/org.eclipse.debug.core/META-INF/MANIFEST.MF b/org.eclipse.debug.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 868409b..0000000
--- a/org.eclipse.debug.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.debug.core; singleton:=true
-Bundle-Version: 3.4.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.debug.core.DebugPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.debug.core,
- org.eclipse.debug.core.commands,
- org.eclipse.debug.core.model,
- org.eclipse.debug.core.sourcelookup,
- org.eclipse.debug.core.sourcelookup.containers,
- org.eclipse.debug.internal.core;x-friends:="org.eclipse.debug.ui",
- org.eclipse.debug.internal.core.commands;x-friends:="org.eclipse.debug.ui",
- org.eclipse.debug.internal.core.sourcelookup;x-friends:="org.eclipse.debug.ui",
- org.eclipse.debug.internal.core.sourcelookup.containers;x-friends:="org.eclipse.debug.ui"
-Require-Bundle: org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)";visibility:=reexport,
- org.eclipse.core.variables;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.debug.core/about.html b/org.eclipse.debug.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/org.eclipse.debug.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties
deleted file mode 100644
index 826d036..0000000
--- a/org.eclipse.debug.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-source.. = core/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.debug.core/buildnotes_platform-debug.html b/org.eclipse.debug.core/buildnotes_platform-debug.html
deleted file mode 100644
index ba2853c..0000000
--- a/org.eclipse.debug.core/buildnotes_platform-debug.html
+++ /dev/null
@@ -1,85 +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 3.4 Debug Platform Build Notes&nbsp;</h1>
-
-<h2>Summary of API changes in 3.4</h2>
-
-<h3>July 31, 2007</h3>
-<ul>
-  <li>A new method <code>ILaunchManager#getEncoding(ILaunchConfiguration)</code> 
-    was added to allow consumers of the <code>DebugPlugin#ATTR_CONSOLE_ENCODING</code> 
-    preference to get the encoding to use when launching the configuration specified 
-    as the parameter to getEncoding(..). The javadoc for <code>DebugPlugin#ATTR_CONSOLE_ENCODING</code> 
-    has been updated to reflect that a launch configuration now inherits its default 
-    encoding from its associated resource(s) when unspecified.</li>
-</ul>
-
-<h2>August 21, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200168">Bug 200168</a>: Keybindings on the Mac conflict with reserved OS bindings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200105">Bug 200105</a>: auto expand does not work in the asynch tree viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=199500">Bug 199500</a>: Usability Problem in 'Save and Launch' Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176627">Bug 176627</a>: [Registers view] Switching stack frames: Unnecessary scrolling to top and group closing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168574">Bug 168574</a>: Support for IElementMementoProvider on each element in a viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200595">Bug 200595</a>: reduce duplication of #getAdapter code for viewers<br>
-
-<h2>3.4 M1 - August 10, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190873">190873</a>: [launching] Environment tab grows wider on each config selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198437">198437</a>: EMPTY_STRING constant not used<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177554">177554</a>: [messages] remove internal error messages from translations<br>
-
-<h2>July 31, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198248">198248</a>: NPE at org.eclipse.debug.ui.CommonTab.getDefaultSharedConfigLocation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197998">197998</a>: Workbench refuses to show Run or Debug dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197834">197834</a>: Expression Evaluation Failure with Generics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197145">197145</a>: [launching] Changing AutoSelect in LaunchConfigurationViewer from a LaunchConfigurationTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197645">197645</a>: [launching] selection of encoding does twice as much work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197532">197532</a>: NPE in DefaultWatchExpressionModelProxy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185196">185196</a>: Debug selection dialogs should subclass AbstractDebugSelectionDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194598">194598</a>: 44% of time closing projects spent in LaunchManager#resourceChanged<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194303">194303</a>: [launching] CME during &quot;Compute launch button tooltip&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197000">197000</a>: [launching] Auto Launch Configuration deletion should be resource specific<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174020">174020</a>: Background colour makes variable value unreadable in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197698">197698</a>: [launching] Deleting launch config from LCD does not remove config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191379">191379</a>: Console encoding does not match workspace encoding<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191382">191382</a>: JVM file encoding does not match console encoding<br>
-
-<h2>July 17, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191515">191515</a>: Some run menu actions are missing help context ids<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193175">193175</a>: inconsistent action names for &quot;Open Run/Debug/Profile Dialog...&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177554">177554</a>: [messages] remove internal error messages from translations<br>
-
-<h2>July 10, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175584">175584</a>: [expressions] Allow re-ordering of expressions in the Expressions View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195232">195232</a>: Outdated Run Toolbar tool tip<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191723">191723</a>: A lot more classes being loaded than in 3.1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195461">195461</a>: calling dispose on LaunchConfigurationTabGroupWrapper can get a NullPointerException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48197">48197</a>: [Dialogs] Add Folders Selection Dialog should not list closed projects.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191071">191071</a>: Delete Unused Debug Help Context ID Constants<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194458">194458</a>: CCE when dragging to Breakpoints View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193595">193595</a>: ProcessConsole is internal API but states that &quot;Clients may instantiate this class.&quot; in the javadocs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47931">47931</a>: Copies of serializeDocument(Document)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66983">66983</a>: [evaluation] EmptyStackException from invalid condition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=192212">192212</a>: Screenshots out of date in isv doc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193179">193179</a>: Should there be an 'add' button in the expression view toolbar?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191974">191974</a>: Concurrent modification exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191636">191636</a>: [breakpoints] import breakpoints causes excpetion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189328">189328</a>: [Accessibility] Run dialog (Common tab) - controls do not provide labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191388">191388</a>: TVT33:TCT635: pl: truncations in Perspective preferences panel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193432">193432</a>: Clicking link in Ant console should ensure resulting editor is visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184057">184057</a>: Add drag and drop to expression view.<br>
-
-<p>&nbsp;</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/component.xml b/org.eclipse.debug.core/component.xml
deleted file mode 100644
index d5a77c7..0000000
--- a/org.eclipse.debug.core/component.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Debug">
- <plugin id="org.eclipse.debug.core" />
-
- <package name="org.eclipse.debug.core">
- 	<type name="DebugEvent" subclass="false" />
- 	<type name="DebugException" subclass="false" />
- 	<type name="DebugPlugin" subclass="false" instantiate="false" />
- 	<type name="IBreakpointListener" />
- 	<type name="IBreakpointManager" implement="false" />
- 	<type name="IBreakpointManagerListener" />
- 	<type name="IBreakpointsListener" />
- 	<type name="IDebugEventFilter" />
- 	<type name="IDebugEventSetListener" />
- 	<type name="IExpressionListener" />
- 	<type name="IExpressionManager" implement="false" />
- 	<type name="IExpressionsListener" />
- 	<type name="ILaunch" />
- 	<type name="ILaunchConfiguration" implement="false" />
- 	<type name="ILaunchConfigurationListener" />
- 	<teyp name="ILaunchConfigurationMigrationDelegate" />
- 	<type name="ILaunchConfigurationType" implement="false" />
- 	<type name="ILaunchConfigurationWorkingCopy" implement="false" />
- 	<type name="ILaunchDelegate" implement="false" />
- 	<type name="ILaunchesListener" />
- 	<type name="ILaunchesListener2" />
- 	<type name="ILaunchListener" />
- 	<type name="ILaunchManager" implement="false" />
- 	<type name="ILaunchMode" implement="false" />
- 	<type name="ILogicalStructureProvider" />
- 	<type name="ILogicalStructureType" />
- 	<type name="IMemoryBlockListener" />
- 	<type name="IMemoryBlockManager" implement="false" />
- 	<type name="IProcessFactory" />
- 	<type name="IStatusHandler" />
- 	<type name="IStreamListener" />
- 	<type name="Launch" />
- </package>
- <package name="org.eclipse.debug.core.commands">
- 	<type name="IBooleanCollector" implement="false" />
- 	<type name="IDebugCommand" />
- 	<type name="IDisconnectCommand" />
- 	<type name="IDropToFrameCommand" />
- 	<type name="IResumeCommand" />
- 	<type name="IStatusCollector"  implement="false" />
- 	<type name="IStepFiltersCommand" />
- 	<type name="IStepIntoCommand" />
- 	<type name="IStepOverCommand" />
- 	<type name="IStepReturnCommand" />
- 	<type name="ISuspendCommand" />
- 	<type name="ITerminateCommand" />
- </package>
- <package name="org.eclipse.debug.core.model">
- 	<type name="Breakpoint" />
- 	<type name="DebugElement" />
- 	<type name="IBreakpoint" />
- 	<type name="IDebugElement" />
- 	<type name="IDebugModelProvider" />
- 	<type name="IDebugTarget" />
- 	<type name="IDisconnect" />
- 	<type name="IDropToFrame" />
- 	<type name="IErrorReportingExpression" />
- 	<type name="IExpression" />
- 	<type name="IFilteredStep" />
- 	<type name="IFlushableStreamMonitor" />
- 	<type name="IIndexedValue" />
- 	<type name="ILaunchConfigurationDelegate" />
- 	<type name="ILaunchConfigurationDelegate2" />
- 	<type name="ILineBreakpoint" />
- 	<type name="ILogicalStructureTypeDelegate" />
- 	<type name="ILogicalStructureTypeDelegate2" />
- 	<type name="IMemoryBlock" />
- 	<type name="IMemoryBlockExtension" />
- 	<type name="IMemoryBlockRetrieval" />
- 	<type name="IMemoryBlockRetrievalExtension" />
- 	<type name="IPersistableSourceLocator" />
- 	<type name="IProcess" />
- 	<type name="IRegister" />
- 	<type name="IRegisterGroup" />
- 	<type name="ISourceLocator" />
- 	<type name="IStackFrame" />
- 	<type name="IStep" />
- 	<type name="IStepFilters" />
- 	<type name="IStreamMonitor" />
- 	<type name="IStreamsProxy" />
- 	<type name="IStreamsProxy2" />
- 	<type name="ISuspendResume" />
- 	<type name="ITerminate" />
- 	<type name="IThread" />
- 	<type name="IValue" />
- 	<type name="IValueModification" />
- 	<type name="IVariable" />
- 	<type name="IWatchExpression" implement="false" />
- 	<type name="IWatchExpressionDelegate" />
- 	<type name="IWatchExpressionListener" />
- 	<type name="IWatchExpressionResult" />
- 	<type name="IWatchpoint" />
- 	<type name="LaunchConfigurationDelegate" />
- 	<type name="LineBreakpoint" />
- 	<type name="MemoryByte" />
- 	<type name="RuntimeProcess" /> 	
- </package>
- <package name="org.eclipse.debug.core.sourcelookup">
- 	<type name="AbstractSourceLookupDirector" />
- 	<type name="AbstractSourceLookupParticipant" />
- 	<type name="IPersistableSourceLocator2" />
- 	<type name="ISourceContainer" />
- 	<type name="ISourceContainerType" implement="false" />
- 	<type name="ISourceContainerTypeDelegate" />
- 	<type name="ISourceLookupDirector" />
- 	<type name="ISourceLookupParticipant" />
- 	<type name="ISourcePathComputer" implement="false" />
- 	<type name="ISourcePathComputerDelegate" />
- </package>
- <package name="org.eclipse.debug.core.sourcelookup.containers">
- 	<type name="AbstractSourceContainer" />
- 	<type name="AbstractSourceContainerTypeDelegate" />
- 	<type name="ArchiveSourceContainer" subclass="false" />
- 	<type name="CompositeSourceContainer" />
- 	<type name="ContainerSourceContainer" subclass="false" instantiate="false"/>
- 	<type name="DefaultSourceContainer" subclass="false" />
- 	<type name="DirectorySourceContainer" subclass="false" />
- 	<type name="ExternalArchiveSourceContainer" subclass="false" />
- 	<type name="FolderSourceContainer" subclass="false" />
- 	<type name="LocalFileStorage" subclass="false" />
- 	<type name="ProjectSourceContainer" subclass="false" />
- 	<type name="WorkspaceSourceContainer" subclass="false" />
- 	<type name="ZipEntryStorage" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
deleted file mode 100644
index f4f5cf3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.EventObject;
-
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * A debug event describes an event in a program being debugged or
- * in a running process. Debug models and process implementations
- * are required to generate debug events as specified by this class.
- * <p>
- * The following list defines the events generated for each debug
- * model element.
- * The <code>getSource()</code> method of a debug event
- * returns the element associated with the event.
- * Creation events are guaranteed to occur in a top
- * down order - that is, parents are created before children.
- * Termination events are guaranteed to occur in a bottom up order -
- * that is, children before parents. However, termination events are not guaranteed
- * for all  elements that are created. That is, terminate events can be coalesced - a 
- * terminate event for a parent signals that all children have been terminated.
- * </p>
- * <p>
- * A debug model may define model specific events by specifying a debug event
- * kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by the
- * event source (i.e. by the debug model that generated the event). The detail of
- * a model specific event is client defined. Note that model specific events are
- * not understood by the debug platform, and are thus ignored.
- * </p>
- * <p>
- * The generic <code>CHANGE</code> event can be fired at any time by any element.
- * Generally, a client of a debug model, such as as a UI, can get sufficient
- * information to update by listening/responding to the other event kinds. However,
- * if a debug model needs to inform clients of a change that is not specified
- * by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used.
- * For example, generally, the only way a thread or any of its children can change
- * state between a suspend and resume operation, is if the thread or owning debug
- * target is terminated. However, if a debug model supports some other operation
- * that would allow a debug element to change state while suspended, the debug model
- * would fire a change event for that element. The valid detail codes for a
- * change event are:<ul>
- * <li><code>STATE</code> - indicates the state of an element has changed, but its
- *  children are not affected. A client would use a state change event to update
- *  a label of the affected element, but would not update any children.</li>
- * <li><code>CONTENT</code> - indicates that a debug element's value or contents have
- *  changed in some way. For example, when the value of a variable is changed
- *  explicitly, the variable should fire a content change event.</li>
- * </ul>
- * </p>
- * <ul>
- * <li><code>IProcess</code>
- *	<ul>
- *	<li><code>CREATE</code> - a process has been created and is executing.</li>
- *	<li><code>TERMINATE</code> - a process has terminated.</li>
- *  </ul>
- * <li><code>IDebugTarget</code>
- *	<ul>
- *	<li><code>CREATE</code> - a debug target has been created and is ready
- *		to begin a debug session.</li>
- *	<li><code>TERMINATE</code> - a debug target has terminated and the debug
- *		session has ended.</li>
- *  <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *  <li><code>RESUME</code> - a debug target has resumed. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *	</ul>
- * </li>
- * <li><code>IThread</code>
- *	<ul>
- *	<li><code>CREATE</code> - a thread has been created in a debug target.</li>
- *	<li><code>TERMINATE</code> - a thread has terminated.</li>
- *	<li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has ended that may
- * 			have had side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that
- * 			had no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *	<li><code>RESUME</code> - a thread has resumed execution. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has started that may
- * 			have side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that
- * 			will have no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *    </ul>
- * </li>
- * <li><code>IStackFrame</code> - no events are specified for stack frames.
- *	When a thread is suspended, it has stack frames. When a thread resumes,
- *	stack frames are unavailable.
- * </li>
- * <li><code>IVariable</code> - no events are specified for variables.
- *	When a thread is suspended, stack frames have variables. When a thread resumes,
- *	variables are unavailable.
- * </li>
- * <li><code>IValue</code> - no events are specified for values.
- * </li>
- * </ul>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- * 
- */
-public final class DebugEvent extends EventObject {
-	
-    /**
-     * All objects that can be serialized should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-    
-	/**
-	 * Resume event kind.
-	 */
-	public static final int RESUME= 0x0001;
-
-	/**
-	 * Suspend event kind.
-	 */
-	public static final int SUSPEND= 0x0002;
-
-	/**
-	 * Create event kind.
-	 */
-	public static final int CREATE= 0x0004;
-
-	/**
-	 * Terminate event kind.
-	 */
-	public static final int TERMINATE= 0x0008;
-	
-	/**
-	 * Change event kind.
-	 */
-	public static final int CHANGE= 0x0010;
-	
-	/**
-	 * Model specific event kind. The detail codes
-	 * for a model specific event are client defined.
-	 * 
-	 * @since 2.1.2
-	 */
-	public static final int MODEL_SPECIFIC= 0x0020;	
-
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * into action.
-	 * @since 2.0
-	 */
-	public static final int STEP_INTO= 0x0001;
-	
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * over action.
-	 * @since 2.0
-	 */
-	public static final int STEP_OVER= 0x0002;
-	
-	/**
-	 * Step start detail. Indicates a thread was resumed by a step
-	 * return action.
-	 * @since 2.0
-	 */
-	public static final int STEP_RETURN= 0x0004;		
-
-	/**
-	 * Step end detail. Indicates a thread was suspended due
-	 * to the completion of a step action.
-	 */
-	public static final int STEP_END= 0x0008;
-	
-	/**
-	 * Breakpoint detail. Indicates a thread was suspended by
-	 * a breakpoint.
-	 */
-	public static final int BREAKPOINT= 0x0010;
-	
-	/**
-	 * Client request detail. Indicates a thread was suspended due
-	 * to a client request.
-	 */
-	public static final int CLIENT_REQUEST= 0x0020;
-	
-	/**
-	 * Evaluation detail. Indicates that a thread was resumed or
-	 * suspended to perform an expression evaluation.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int EVALUATION = 0x0040;
-	
-	/**
-	 * Evaluation detail. Indicates that a thread was resumed or
-	 * suspended to perform an implicit expression evaluation.
-	 * An implicit evaluation is an evaluation that is performed
-	 * as an indirect result of a user action.
-	 * Clients may use this detail event to decide whether or not
-	 * to alert the user that an evaluation is taking place..
-	 * 
-	 * @since 2.0
-	 */
-	public static final int EVALUATION_IMPLICIT = 0x0080;
-
-	/**
-	 * State change detail. Indicates the state of a single 
-	 * debug element has changed. Only valid for <code>CHANGE</code>
-	 * events.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int STATE = 0x0100;
-	
-	/**
-	 * Content change detail. Indicates the content of a debug element
-	 * (and potentially its children) has changed. Only valid for
-	 * <code>CHANGE</code> events.
-	 * 
-	 * @since 2.0
-	 */
-	public static final int CONTENT = 0x0200;	
-			
-	/**
-	 * Constant indicating that the kind or detail of a debug
-	 * event is unspecified.
-	 */
-	public static final int UNSPECIFIED = 0;
-	
-	/**
-	 * The kind of event - one of the kind constants defined by
-	 * this class.
-	 */
-	private int fKind= UNSPECIFIED;
-
-	/**
-	 * The detail of the event - one of the detail constants defined by
-	 * this class.
-	 */
-	private int fDetail= UNSPECIFIED;
-	
-	/**
-	 * Client defined data field.
-	 * 
-	 * @since 2.1.2
-	 */
-	private Object fData = null;
-	
-	/**
-	 * Constructs a new debug event of the given kind with a detail code of
-	 * <code>UNSPECIFIED</code>.
-	 *
-	 * @param eventSource the object associated with the event
-	 * @param kind the kind of debug event (one of the
-	 *	kind constants defined by this class)
-	 */
-	public DebugEvent(Object eventSource, int kind) {
-		this(eventSource, kind, UNSPECIFIED);
-	}
-
-	/**
-	 * Constructs a new debug event of the given kind with the given detail.
-	 *
-	 * @param eventSource the object associated with the event
-	 * @param kind the kind of debug event (one of the
-	 *	kind constants defined by this class)
-	 * @param detail extra information about the event (one of the
-	 *	detail constants defined by this class or a client defined detail if this is a model specific event)
-	 */
-	public DebugEvent(Object eventSource, int kind, int detail) {
-		super(eventSource);
-		if ((kind & (RESUME | SUSPEND | CREATE | TERMINATE | CHANGE | MODEL_SPECIFIC)) == 0)
-			throw new IllegalArgumentException(DebugCoreMessages.DebugEvent_illegal_kind); 
-		if (kind != MODEL_SPECIFIC && detail != UNSPECIFIED && (detail & (STEP_END | STEP_INTO | STEP_OVER | STEP_RETURN | BREAKPOINT | CLIENT_REQUEST |EVALUATION | EVALUATION_IMPLICIT | STATE | CONTENT)) == 0)
-			throw new IllegalArgumentException(DebugCoreMessages.DebugEvent_illegal_detail); 
-		fKind= kind;
-		fDetail= detail;
-	}
-
-	/**
-	 * Returns a constant describing extra detail about the event - either one
-	 * of the detail constants defined by this class, possibly
-	 * <code>UNSPECIFIED</code>, or a client defined detail if this is a model specific event.
-	 *
-	 * @return the detail code
-	 */
-	public int getDetail() {
-		return fDetail;
-	}
-
-	/**
-	 * Returns this event's kind - one of the kind constants defined by this class.
-	 * 
-	 * @return the kind code
-	 */
-	public int getKind() {
-		return fKind;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates the
-	 * beginning of a step event. This event's detail is one
-	 * of <code>STEP_INTO</code>, <code>STEP_OVER</code>, or
-	 * <code>STEP_RETURN</code>.
-	 * 
-	 * @return whether this event's detail indicates the beginning
-	 *  of a step event.
-	 * @since 2.0
-	 */
-	public boolean isStepStart() {
-		return (getDetail() & (STEP_INTO | STEP_OVER | STEP_RETURN)) > 0;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates an
-	 * evaluation. This event's detail is one
-	 * of <code>EVALUATION</code>, or <code>EVALUATION_IMPLICIT</code>.
-	 * 
-	 * @return whether this event's detail indicates an evaluation.
-	 * @since 2.0
-	 */
-	public boolean isEvaluation() {
-		return (getDetail() & (EVALUATION | EVALUATION_IMPLICIT)) > 0;
-	}	
-	
-	/**
-	 * Sets this event's application defined data.
-	 * 
-	 * @param data application defined data
-	 * @since 2.1.2
-	 */
-	public void setData(Object data) {
-		fData = data;
-	}
-	
-	/**
-	 * Returns this event's application defined data, or <code>null</code> if none
-	 * 
-	 * @return application defined data, or <code>null</code> if none
-	 * @since 2.1.2
-	 */
-	public Object getData() {
-		return fData;
-	}
-	
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buf = new StringBuffer("DebugEvent["); //$NON-NLS-1$
-		if (getSource() != null) {
-			buf.append(getSource().toString());
-		} else {
-			buf.append("null"); //$NON-NLS-1$
-		}
-		buf.append(", "); //$NON-NLS-1$
-		switch (getKind()) {
-			case CREATE:
-				buf.append("CREATE"); //$NON-NLS-1$
-				break;
-			case TERMINATE:
-				buf.append("TERMINATE"); //$NON-NLS-1$
-				break;
-			case RESUME:
-				buf.append("RESUME"); //$NON-NLS-1$
-				break;
-			case SUSPEND:
-				buf.append("SUSPEND"); //$NON-NLS-1$
-				break;				
-			case CHANGE:
-				buf.append("CHANGE"); //$NON-NLS-1$
-				break;
-			case UNSPECIFIED:
-				buf.append("UNSPECIFIED"); //$NON-NLS-1$
-				break;
-			case MODEL_SPECIFIC:
-				buf.append("MODEL_SPECIFIC"); //$NON-NLS-1$
-				break;
-		}
-		buf.append(", "); //$NON-NLS-1$
-		switch (getDetail()) {
-			case BREAKPOINT:
-				buf.append("BREAKPOINT"); //$NON-NLS-1$
-				break;
-			case CLIENT_REQUEST:
-				buf.append("CLIENT_REQUEST"); //$NON-NLS-1$
-				break;
-			case STEP_END:
-				buf.append("STEP_END"); //$NON-NLS-1$
-				break;
-			case STEP_INTO:
-				buf.append("STEP_INTO"); //$NON-NLS-1$
-				break;
-			case STEP_OVER:
-				buf.append("STEP_OVER"); //$NON-NLS-1$
-				break;
-			case STEP_RETURN:
-				buf.append("STEP_RETURN"); //$NON-NLS-1$
-				break;
-			case EVALUATION:
-				buf.append("EVALUATION"); //$NON-NLS-1$
-				break;
-			case EVALUATION_IMPLICIT:
-				buf.append("EVALUATION_IMPLICIT"); //$NON-NLS-1$
-				break;								
-			case STATE:
-				buf.append("STATE"); //$NON-NLS-1$
-				break;			
-			case CONTENT:
-				buf.append("CONTENT"); //$NON-NLS-1$
-				break;					
-			case UNSPECIFIED:
-				buf.append("UNSPECIFIED"); //$NON-NLS-1$
-				break;
-			default:
-				// model specific
-				buf.append(getDetail());
-				break;
-		}
-		buf.append("]"); //$NON-NLS-1$
-		return buf.toString();
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
deleted file mode 100644
index e027e1f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-
-/**
- * A checked exception representing a failure.
- * <p>
- * Defines status codes relevant to the debug plug-in. When a 
- * debug exception is thrown, it contains a status object describing
- * the cause of the exception. The status objects originating from the
- * debug plug-in use the codes defined in this class.
- * </p>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- * @see IStatus
- */
-public class DebugException extends CoreException {	
-    
-    /**
-     * All objects that can be serialized should have a stable serialVersionUID
-     */
-    private static final long serialVersionUID = 1L;
-    
-	/**
-	 * Indicates a request made of a debug element has failed
-	 * on the target side.
-	 */
-	public static final int TARGET_REQUEST_FAILED = 5010;
-	 
-	/**
-	 * Indicates a request is not supported by the capabilities of a debug element.
-	 * For example, a request was made to terminate an element that does not
-	 * support termination.
-	 */
-	public static final int NOT_SUPPORTED = 5011;
-
-	/**
-	 * Indicates that a request made of manager has failed, or a request made of a
-	 * debug element has failed on the client side (that is, before the request was
-	 * sent to the debug target).
-	 */
-	public static final int REQUEST_FAILED = 5012;
-
-	/**
-	 * Indicates an internal error. This is an unexpected state.
-	 */
-	public static final int INTERNAL_ERROR = 5013;
-	
-	/** 
-	 * Indicates an improperly configured breakpoint. Breakpoints have a minimal
-	 * set of required attributes as defined by the breakpoint manager.
-	 *
-	 * @see IBreakpointManager
-	 */
-	public static final int CONFIGURATION_INVALID = 5014;
-	
-	/**
-	 * Indicates a launch configuration could not be restored because its
-	 * launch configuration type definition is missing.
-	 * 
-	 * @since 3.0
-	 */
-	public static final int MISSING_LAUNCH_CONFIGURATION_TYPE = 5020;
-	
-	/**
-	 * Constructs a new debug exception with the given status object.
-	 *
-	 * @param status the status object describing this exception
-	 * @see IStatus
-	 */
-	public DebugException(IStatus status) {
-		super(status);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
deleted file mode 100644
index 012f8f2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ /dev/null
@@ -1,1379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-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.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IDropToFrame;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStep;
-import org.eclipse.debug.core.model.IStepFilters;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.debug.internal.core.BreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.DebugOptions;
-import org.eclipse.debug.internal.core.ExpressionManager;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.core.LogicalStructureManager;
-import org.eclipse.debug.internal.core.MemoryBlockManager;
-import org.eclipse.debug.internal.core.StepFilterManager;
-import org.eclipse.debug.internal.core.commands.CommandAdapterFactory;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-import org.eclipse.osgi.service.environment.Constants;
-import org.osgi.framework.BundleContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * There is one instance of the debug plug-in available from
- * <code>DebugPlugin.getDefault()</code>. The debug plug-in provides:
- * <ul>
- * <li>access to the breakpoint manager</li>
- * <li>access to the launch manager</li>
- * <li>access to the expression manager</li>
- * <li>access to the registered launcher extensions</li>
- * <li>access to the memory block manager</li>
- * <li>debug event notification</li>
- * <li>status handlers</li>
- * </ul>
- * <p>
- * Clients may not instantiate or subclass this class.
- * </p>
- */
-public class DebugPlugin extends Plugin {
-	
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.debug.core"</code>)
-	 * for the Debug Core plug-in.
-	 */
-	private static final String PI_DEBUG_CORE = "org.eclipse.debug.core"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"launchConfigurationTypes"</code>)
-	 * for the launch configuration types extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES= "launchConfigurationTypes"; //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchConfigurationComparators"</code>)
-	 * for the launch configuration comparators extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS= "launchConfigurationComparators"; //$NON-NLS-1$		
-	
-	/**
-	 * Simple identifier constant (value <code>"breakpoints"</code>) for the
-	 * breakpoints extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_BREAKPOINTS= "breakpoints";	 //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"statusHandlers"</code>) for the
-	 * status handlers extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_STATUS_HANDLERS= "statusHandlers";	 //$NON-NLS-1$	
-
-	/**
-	 * Simple identifier constant (value <code>"sourceLocators"</code>) for the
-	 * source locators extension point.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_SOURCE_LOCATORS= "sourceLocators";	 //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchModes"</code>) for the
-	 * source modes extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_MODES= "launchModes";	 //$NON-NLS-1$	
-	
-	/**
-	 * Simple identifier constant (value <code>"launchDelegates"</code>) for the
-	 * launch delegates extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_DELEGATES= "launchDelegates";	 //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"processFactories"</code>) for the
-	 * process factories extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_PROCESS_FACTORIES = "processFactories"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"logicalStructureTypes"</code>) for the
-	 * logical structure types extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES = "logicalStructureTypes"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"logicalStructureProviders"</code>) for the
-	 * logical structure types extension point.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS = "logicalStructureProviders"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"sourceContainerTypes"</code>) for the
-	 * source container types extension point.
-	 * 
-	 * @since 3.0
-	 */	
-	public static final String EXTENSION_POINT_SOURCE_CONTAINER_TYPES = "sourceContainerTypes";	 //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"sourcePathComputers"</code>) for the
-	 * source path computers extension point.
-	 * 
-	 * @since 3.0
-	 */		
-	public static final String EXTENSION_POINT_SOURCE_PATH_COMPUTERS = "sourcePathComputers"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant for the launch options extension point
-	 * 
-	 * @since 3.3
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_OPTIONS = "launchOptions"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected error.
-	 * 
-	 * @since 3.4
-	 */
-	public static final int ERROR = 120;	
-	
-	/**
-	 * Status code indicating an unexpected internal error.  Internal errors 
-	 * should never be displayed to the user in dialogs or status text.
-	 * Internal error messages are not translated.
-	 */
-	public static final int INTERNAL_ERROR = 125;	
-
-	/**
-	 * Status code indicating that the Eclipse runtime does not support
-	 * launching a program with a working directory. This feature is only
-	 * available if Eclipse is run on a 1.3 runtime or higher.
-	 * <p>
-	 * A status handler may be registered for this error condition,
-	 * and should return a <code>Boolean</code> indicating whether the program
-	 * should be re-launched with the default working directory.
-	 * </p>
-	 */
-	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115;
-	
-	/**
-	 * The launch configuration attribute that designates the process factory ID
-	 * for the process factory to be used when creating a new process as a result of launching
-	 * the launch configuration.
-	 * @since 3.0
-	 */
-	public static final String ATTR_PROCESS_FACTORY_ID = "process_factory_id"; //$NON-NLS-1$
-	
-	/**
-	 * The launch attribute that designates whether or not it's associated
-	 * launch should capture output. Value is a string representing a boolean -
-	 * <code>true</code> or <code>false</code>. When unspecified, the default
-	 * value is considered <code>true</code>.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_CAPTURE_OUTPUT = PI_DEBUG_CORE + ".capture_output"; //$NON-NLS-1$
-	
-	
-    /**
-     * This launch attribute designates the encoding to be used by the console
-     * associated with the launch.
-     * <p>
-     * For release 3.3, the system encoding is used when unspecified. Since 3.4, 
-     * the inherited encoding is used when unspecified. See {@link ILaunchManager} for a
-     * description in <code>getEncoding(ILaunchConfiguration)</code>.
-     * </p>
-     * <p>
-     * Value of this constant is the same as the value of the old 
-     * <code>IDebugUIConstants.ATTR_CONSOLE_ENCODING</code> constant for backward
-     * compatibility.
-     * </p>
-     * @since 3.3
-     */
-	public static final String ATTR_CONSOLE_ENCODING = "org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING"; //$NON-NLS-1$
-	
-	/**
-	 * The singleton debug plug-in instance.
-	 */
-	private static DebugPlugin fgDebugPlugin= null;
-
-	/**
-	 * The singleton breakpoint manager.
-	 */
-	private BreakpointManager fBreakpointManager;
-	
-	/**
-	 * The singleton expression manager.
-	 */
-	private ExpressionManager fExpressionManager;	
-
-	/**
-	 * The singleton launch manager.
-	 */
-	private LaunchManager fLaunchManager;
-
-	/**
-	 * The singleton memory block manager.
-	 * @since 3.1
-	 */
-	private MemoryBlockManager fMemoryBlockManager;
-	
-	/**
-	 * The collection of debug event listeners.
-	 */
-	private ListenerList fEventListeners = new ListenerList();
-	
-	/**
-	 * Event filters, or <code>null</code> if none.
-	 */
-	private ListenerList fEventFilters = null;
-
-	/**
-	 * Whether this plug-in is in the process of shutting
-	 * down.
-	 */
-	private boolean fShuttingDown= false;
-	
-	/**
-	 * Table of status handlers. Keys are {plug-in identifier, status code}
-	 * pairs, and values are associated <code>IConfigurationElement</code>s.
-	 */
-	private HashMap fStatusHandlers = null;
-	
-	/**
-	 * Map of process factories. Keys are process factory IDs
-	 * and values are associated <code>IConfigurationElement</code>s.
-	 * @since 3.0
-	 */
-	private HashMap fProcessFactories = null;
-	
-	/**
-	 * Mode constants for the event notifier
-	 */
-	private static final int NOTIFY_FILTERS = 0;
-	private static final int NOTIFY_EVENTS = 1;
-
-		
-	/**
-	 * Queue of debug events to fire to listeners and asynchronous runnables to execute
-	 * in the order received.
-	 * 
-	 * @since 3.1
-	 */
-	private List fEventQueue = new ArrayList();
-	
-	/**
-	 * Job to fire events to listeners.
-	 * @since 3.1
-	 */
-	private EventDispatchJob fEventDispatchJob = new EventDispatchJob();
-	
-	/**
-	 * Event dispatch job. Processes event queue of debug events and runnables.
-	 * 
-	 * @since 3.1
-	 */
-	class EventDispatchJob extends Job {
-		
-		EventNotifier fNotifier = new EventNotifier();
-		AsynchRunner fRunner = new AsynchRunner();
-
-	    /**
-         * Creates a new event dispatch job.
-         */
-        public EventDispatchJob() {
-            super(DebugCoreMessages.DebugPlugin_1); 
-            setPriority(Job.INTERACTIVE);
-            setSystem(true);
-        }
-        /* (non-Javadoc)
-         * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        protected IStatus run(IProgressMonitor monitor) {
-            
-            while (!fEventQueue.isEmpty()) {
-                Object next = null;
-	            synchronized (fEventQueue) {
-	                if (!fEventQueue.isEmpty()) {
-	                	next = fEventQueue.remove(0);
-	                }
-	            }
-	            if (next instanceof Runnable) {
-	            	fRunner.async((Runnable) next);
-	            } else if (next != null) {
-	                fNotifier.dispatch((DebugEvent[]) next);
-	            }
-            }
-            return Status.OK_STATUS;
-        }
-	    
-        /* (non-Javadoc)
-         * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-         */
-        public boolean shouldRun() {
-            return shouldSchedule();
-        }
-        /* (non-Javadoc)
-         * @see org.eclipse.core.internal.jobs.InternalJob#shouldSchedule()
-         */
-        public boolean shouldSchedule() {
-            return !(isShuttingDown() || fEventListeners.isEmpty());
-        }
-        
-	}
-
-	/**
-	 * Returns the singleton instance of the debug plug-in.
-	 * 
-	 * @return 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 plug-in.
-	 * 
-	 * @return debug plug-in identifier
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_DEBUG_CORE;
-	}
-
-	/**
-	 * Constructs the debug plug-in.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by this plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public DebugPlugin() {
-		super();
-		setDefault(this);
-	}
-	
-	/**
-	 * Adds the given listener to the collection of registered debug
-	 * event listeners. Has no effect if an identical listener is already
-	 * registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.0
-	 */
-	public void addDebugEventListener(IDebugEventSetListener listener) {
-		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.isEmpty())
-			return;
-		synchronized (fEventQueue) {
-			fEventQueue.add(events);
-		}
-		fEventDispatchJob.schedule();
-	}
-	
-	/**
-	 * Asynchronously executes the given runnable in a separate
-	 * thread, after debug event dispatch has completed. If debug
-	 * events are not currently being dispatched, the runnable is
-	 * scheduled to run in a separate thread immediately.
-	 * 
-	 * @param r runnable to execute asynchronously
-	 * @since 2.1
-	 */
-	public void asyncExec(Runnable r) {
-		synchronized (fEventQueue) {
-			fEventQueue.add(r);
-		}
-		fEventDispatchJob.schedule();
-	}
-	
-	/**
-	 * Returns the breakpoint manager.
-	 *
-	 * @return the breakpoint manager
-	 * @see IBreakpointManager
-	 */
-	public IBreakpointManager getBreakpointManager() {
-		if (fBreakpointManager == null) {
-			fBreakpointManager = new BreakpointManager();
-		}
-		return fBreakpointManager;
-	}
-	
-	/**
-	 * Returns the launch manager.
-	 *
-	 * @return the launch manager
-	 * @see ILaunchManager
-	 */
-	public ILaunchManager getLaunchManager() {
-		if (fLaunchManager == null) {
-			fLaunchManager = new LaunchManager();
-		}
-		return fLaunchManager;
-	}
-	
-	/**
-	 * Returns the memory block manager.
-	 * @return the memory block manager.
-	 * @see IMemoryBlockManager
-	 * @since 3.1
-	 */
-	public IMemoryBlockManager getMemoryBlockManager(){
-		if (fMemoryBlockManager == null) {
-			fMemoryBlockManager = new MemoryBlockManager();
-		}
-		return fMemoryBlockManager;
-	}
-	
-	/**
-	 * Returns the status handler registered for the given
-	 * status, or <code>null</code> if none.
-	 *
-	 * @param status status for which a status handler has been requested
-	 * @return the status handler registered for the given
-	 *  status, or <code>null</code> if none
-	 * @since 2.0
-	 */
-	public IStatusHandler getStatusHandler(IStatus status) {
-		StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode());
-		if (fStatusHandlers == null) {
-			initializeStatusHandlers();
-		}
-		IConfigurationElement config = (IConfigurationElement)fStatusHandlers.get(key);
-		if (config != null) {
-			try {
-				Object handler = config.createExecutableExtension(IConfigurationElementConstants.CLASS);
-				if (handler instanceof IStatusHandler) {
-					return (IStatusHandler)handler;
-				}
-				invalidStatusHandler(null, MessageFormat.format("Registered status handler {0} does not implement required interface IStatusHandler.", 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) {
-		fEventListeners.remove(listener);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			setShuttingDown(true);
-			
-			if (fLaunchManager != null) {
-				fLaunchManager.shutdown();
-			}
-			if (fBreakpointManager != null) {
-				fBreakpointManager.shutdown();
-			}
-			if (fMemoryBlockManager != null)  {
-				fMemoryBlockManager.shutdown();
-			}
-			
-			fEventListeners.clear();
-            
-            if (fEventFilters != null) {
-                fEventFilters = null;
-            }
-			SourceLookupUtils.shutdown();
-			setDefault(null);
-			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
-			savePluginPreferences();
-		} finally {
-			super.stop(context);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		DebugOptions.initDebugOptions();
-		ResourcesPlugin.getWorkspace().addSaveParticipant(this,
-				new ISaveParticipant() {
-					public void saving(ISaveContext saveContext) throws CoreException {
-						savePluginPreferences();
-					}				
-					public void rollback(ISaveContext saveContext) {}
-					public void prepareToSave(ISaveContext saveContext) throws CoreException {}
-					public void doneSaving(ISaveContext saveContext) {}
-				});
-		//command adapters
-		IAdapterManager manager= Platform.getAdapterManager();
-		CommandAdapterFactory actionFactory = new CommandAdapterFactory();
-		manager.registerAdapters(actionFactory, IDisconnect.class);
-		manager.registerAdapters(actionFactory, IDropToFrame.class);
-		manager.registerAdapters(actionFactory, IStep.class);
-		manager.registerAdapters(actionFactory, IStepFilters.class);
-		manager.registerAdapters(actionFactory, ISuspendResume.class);
-		manager.registerAdapters(actionFactory, ITerminate.class);
-		manager.registerAdapters(actionFactory, ILaunch.class);
-		manager.registerAdapters(actionFactory, IProcess.class);
-		manager.registerAdapters(actionFactory, IDebugElement.class);		
-	}
-
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch.
-	 * <p>
-	 * If the launch configuration associated with the given launch
-	 * specifies a process factory, it will be used to instantiate
-	 * the new process.
-	 * </p>
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @return the process
-	 * @see IProcess
-	 * @see IProcessFactory
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label) {
-		return newProcess(launch, process, label, null);
-	}
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch, and the process is initialized
-	 * with the given attribute map.
-	 * <p>
-	 * If the launch configuration associated with the given launch
-	 * specifies a process factory, it will be used to instantiate
-	 * the new process.
-	 * </p>
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param attributes initial values for the attribute map
-	 * @return the process <code>null</code> can be returned if errors occur dealing with the process factory
-	 * designated to create the process.
-	 * @see IProcess
-	 * @see IProcessFactory
-	 * @since 2.1
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) {
-		ILaunchConfiguration config= launch.getLaunchConfiguration();
-		String processFactoryID= null;
-		if (config != null) {
-			try {
-				processFactoryID= config.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null);
-			} catch (CoreException e) {
-			}
-		}
-		if (processFactoryID != null) {
-			DebugPlugin plugin= DebugPlugin.getDefault();
-			if (plugin.fProcessFactories == null) {
-				plugin.initializeProcessFactories();
-			}
-			IConfigurationElement element= (IConfigurationElement) plugin.fProcessFactories.get(processFactoryID);
-			if (element == null) {
-				return null;
-			}
-			IProcessFactory processFactory= null;
-			try {
-				processFactory = (IProcessFactory)element.createExecutableExtension(IConfigurationElementConstants.CLASS);
-			} catch (CoreException exception) {
-				log(exception);
-				return null;
-			}
-			return processFactory.newProcess(launch, process, label, attributes);
-		} 
-		return new RuntimeProcess(launch, process, label, attributes);
-	}	
-	
-	/**
-	 * Returns any logical structure types that have been contributed for the given
-	 * value.
-	 * 
-	 * @param value the value for which logical structure types have been requested
-	 * @return logical structure types that have been contributed for the given
-	 * value, possibly an empty collection
-	 * 
-	 * @since 3.0
-	 */
-	public static ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		return LogicalStructureManager.getDefault().getLogicalStructureTypes(value);
-	}
-    
-    /**
-     * Returns the default logical structure type among the given combination of
-     * logical structure types, or <code>null</code> if none. When the given combination
-     * of logical structure type is applicable for a value, the default logical structure
-     * type is used to display a value.
-     * 
-     * @param types a combination of structures applicable to a value
-     * @return the default structure that should be used to display the value
-     * or <code>null</code> if none
-     *  
-     * @since 3.1
-     */
-    public static ILogicalStructureType getDefaultStructureType(ILogicalStructureType[] types) {
-        return LogicalStructureManager.getDefault().getSelectedStructureType(types);
-    }
-    
-    /**
-     * Sets the default logical structure type among the given combination of logical structure
-     * types. The logical structure types provided should all be applicable to a single
-     * value. Specifying <code>null</code> indicates there is no default logical structure
-     * for the given combination of types.
-     * 
-     * @param types a combination of logical structure types applicable to a value
-     * @param def the default logical structure among the given combination of types
-     * or <code>null</code> if none
-     *  
-     * @since 3.1
-     */
-    public static void setDefaultStructureType(ILogicalStructureType[] types, ILogicalStructureType def) {
-        LogicalStructureManager.getDefault().setEnabledType(types, def);
-    }
-	
-	/**
-	 * Convenience method that performs a runtime exec on the given command line
-	 * in the context of the specified working directory, and returns the
-	 * resulting process. If the current runtime does not support the
-	 * specification of a working directory, the status handler for error code
-	 * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the
-	 * exec should be re-executed without specifying a working directory.
-	 * 
-	 * @param cmdLine the command line
-	 * @param workingDirectory the working directory, or <code>null</code>
-	 * @return the resulting process or <code>null</code> if the exec is
-	 *  canceled
-	 * @exception CoreException if the exec fails
-	 * @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
-	 *  canceled
-	 * @exception CoreException if the exec fails
-	 * @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) {
-		    Status status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERROR, DebugCoreMessages.DebugPlugin_0, e); 
-		    throw new CoreException(status);
-		} catch (NoSuchMethodError e) {
-			//attempting launches on 1.2.* - no ability to set working directory			
-			IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERR_WORKING_DIRECTORY_NOT_SUPPORTED, DebugCoreMessages.DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2, e); 
-			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 registered.
-	 * 
-	 * @param filter debug event filter
-	 * @since 2.0
-	 */
-	public void addDebugEventFilter(IDebugEventFilter filter) {
-		if (fEventFilters == null) {
-			fEventFilters = new ListenerList();
-		}
-		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 externalized, as an exception may
-			// be due to the resource bundle itself
-			log(new Status(IStatus.ERROR, getUniqueIdentifier(), ERROR, MessageFormat.format(DebugCoreMessages.DebugPlugin_2, new String[] {message}), null)); 
-		}
-	}
-	
-	/**
-	 * 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(), 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(), ERROR, DebugCoreMessages.DebugPlugin_3, t);
-		log(status);
-	}
-	
-	/**
-	 * Register status handlers.
-	 * 
-	 */
-	private void initializeStatusHandlers() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_STATUS_HANDLERS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fStatusHandlers = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("plugin"); //$NON-NLS-1$
-			String code = configurationElement.getAttribute("code"); //$NON-NLS-1$
-			
-			if (id != null && code != null) {
-				try {
-					StatusHandlerKey key = new StatusHandlerKey(id, Integer.parseInt(code));
-					fStatusHandlers.put(key, configurationElement);
-				} catch (NumberFormatException e) {
-					// invalid status handler
-					invalidStatusHandler(e, configurationElement.getAttribute("id")); //$NON-NLS-1$
-				}
-			} else {
-				// invalid status handler
-				invalidStatusHandler(null, configurationElement.getAttribute("id")); //$NON-NLS-1$
-			}
-		}			
-	}
-	
-	/**
-	 * Register process factories.
-	 * 
-	 */
-	private void initializeProcessFactories() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_PROCESS_FACTORIES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fProcessFactories = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("id"); //$NON-NLS-1$
-			String clss = configurationElement.getAttribute("class"); //$NON-NLS-1$
-			if (id != null && clss != null) {
-					fProcessFactories.put(id, configurationElement);
-			} else {
-				// invalid process factory
-				String badDefiner= infos[i].getContributor().getName();
-				log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, ERROR, MessageFormat.format(DebugCoreMessages.DebugPlugin_4, new String[] {badDefiner, id}), null)); 
-			}
-		}			
-	}
-	
-	private void invalidStatusHandler(Exception e, String id) {
-		log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, ERROR, MessageFormat.format(DebugCoreMessages.DebugPlugin_5, new String[] {id}), e));
-	}
-	
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * Executes runnables after event dispatch is complete.
-	 * 
-	 * @since 3.0
-	 */
-	class AsynchRunner implements ISafeRunnable {
-		
-		private Runnable fRunnable = null;
-		
-		void async(Runnable runnable) {
-			fRunnable = runnable;
-			SafeRunner.run(this);
-			fRunnable = null;
-			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERROR, DebugCoreMessages.DebugPlugin_6, exception); 
-			log(status);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fRunnable.run();
-		}
-
-	}
-	
-	/**
-	 * 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(), ERROR, DebugCoreMessages.DebugPlugin_7, exception); 
-					log(status);
-					break;
-				case NOTIFY_EVENTS:				
-					status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERROR, DebugCoreMessages.DebugPlugin_8, exception); 
-					log(status);
-					break;
-			}
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fMode) {
-				case NOTIFY_FILTERS:
-					fEvents = fFilter.filterDebugEvents(fEvents);
-					break;
-				case NOTIFY_EVENTS:
-					fListener.handleDebugEvents(fEvents);
-					break;
-			}
-		}
-		
-		/**
-		 * Filter and dispatch the given events. If an exception occurs in one
-		 * listener, events are still fired to subsequent listeners.
-		 * 
-		 * @param events debug events
-		 */
-		void dispatch(DebugEvent[] events) {
-			fEvents = events;
-			if (hasEventFilters()) {
-				fMode = NOTIFY_FILTERS;
-				Object[] filters = fEventFilters.getListeners();
-				for (int i = 0; i < filters.length; i++) {
-					fFilter = (IDebugEventFilter)filters[i];
-                    SafeRunner.run(this);
-					if (fEvents == null || fEvents.length == 0) {
-						return;
-					}
-				}	
-			}				
-			
-			fMode = NOTIFY_EVENTS;
-			Object[] listeners= getEventListeners();
-			if (DebugOptions.DEBUG_EVENTS) {
-				for (int i = 0; i < fEvents.length; i++) {
-					System.out.println(fEvents[i]);
-				}
-			}
-			for (int i= 0; i < listeners.length; i++) {
-				fListener = (IDebugEventSetListener)listeners[i]; 
-                SafeRunner.run(this);
-			}
-			fEvents = null;
-			fFilter = null;
-			fListener = null;			
-		}
-
-	}
-
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 * @since 3.0
-	 */
-	public static Document newDocument()throws CoreException {
-		try {
-			return LaunchManager.getDocument();
-		} catch (ParserConfigurationException e) {
-			abort("Unable to create new XML document.", e);  //$NON-NLS-1$
-		}		
-		return null;
-	}	
-	
-	/**
-	 * Serializes the given XML document into a string.
-	 * 
-	 * @param document XML document to serialize
-	 * @return a string representing the given document
-	 * @throws CoreException if unable to serialize the document
-	 * @since 3.0
-	 */
-	public static String serializeDocument(Document document) throws CoreException {
-		try {
-			return LaunchManager.serializeDocument(document);
-		} catch (TransformerException e) {
-			abort("Unable to serialize XML document.", e);  //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Unable to serialize XML document.",e);  //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Parses the given string representing an XML document, returning its
-	 * root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 * @since 3.0
-	 */
-	public static Element parseDocument(String document) throws CoreException {
-		Element root = null;
-		InputStream stream = null;
-		try{		
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			stream = new ByteArrayInputStream(document.getBytes());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (ParserConfigurationException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (SAXException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} finally { 
-			try{
-                if (stream != null) {
-                    stream.close();
-                }
-			} catch(IOException e) {
-				abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-			}
-		}		
-		return root;
-	}	
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Utility class to parse command line arguments.
-	 * 
-	 * @since 3.1
-	 */
-	private static class ArgumentParser {
-		private String fArgs;
-		private int fIndex= 0;
-		private int ch= -1;
-		
-		public ArgumentParser(String args) {
-			fArgs= args;
-		}
-		
-		public String[] parseArguments() {
-			List v= new ArrayList();
-			
-			ch= getNext();
-			while (ch > 0) {
-				if (Character.isWhitespace((char)ch)) {
-					ch= getNext();	
-				} else {
-					if (ch == '"') {
-					    StringBuffer buf = new StringBuffer();
-						buf.append(parseString());
-						if (buf.length() == 0 && Platform.getOS().equals(Constants.OS_WIN32)) {
-							// empty string on windows platform
-							buf.append("\"\""); //$NON-NLS-1$
-						}
-						v.add(buf.toString());
-					} else {
-						v.add(parseToken());
-					}
-				}
-			}
-	
-			String[] result= new String[v.size()];
-			v.toArray(result);
-			return result;
-		}
-		
-		private int getNext() {
-			if (fIndex < fArgs.length())
-				return fArgs.charAt(fIndex++);
-			return -1;
-		}
-		
-		private String parseString() {
-			ch= getNext();
-			if (ch == '"') {
-				ch= getNext();
-				return ""; //$NON-NLS-1$
-			}
-			StringBuffer buf= new StringBuffer();
-			while (ch > 0 && ch != '"') {
-				if (ch == '\\') {
-					ch= getNext();
-					if (ch != '"') {           // Only escape double quotes
-						buf.append('\\');
-					} else {
-						if (Platform.getOS().equals(Constants.OS_WIN32)) {
-							// @see Bug 26870. Windows requires an extra escape for embedded strings
-							buf.append('\\');
-						}
-					}
-				}
-				if (ch > 0) {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			ch= getNext();
-			return buf.toString();
-		}
-		
-		private String parseToken() {
-			StringBuffer buf= new StringBuffer();
-			
-			while (ch > 0 && !Character.isWhitespace((char)ch)) {
-				if (ch == '\\') {
-					ch= getNext();
-					if (Character.isWhitespace((char)ch)) {
-						// end of token, don't lose trailing backslash
-						buf.append('\\');
-						return buf.toString();
-					}
-					if (ch > 0) {
-						if (ch != '"') {           // Only escape double quotes
-							buf.append('\\');
-						} else {
-							if (Platform.getOS().equals(Constants.OS_WIN32)) {
-								// @see Bug 26870. Windows requires an extra escape for embedded strings
-								buf.append('\\');
-							}
-						}
-						buf.append((char)ch);
-						ch= getNext();
-					} else if (ch == -1) {     // Don't lose a trailing backslash
-						buf.append('\\');
-					}
-				} else if (ch == '"') {
-					buf.append(parseString());
-				} else {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			return buf.toString();
-		}
-	}
-	
-	/**
-	 * Parses the given command line into separate arguments that can be passed to
-	 * <code>DebugPlugin.exec(String[], File)</code>. Embedded quotes and slashes
-	 * are escaped.
-	 * 
-	 * @param args command line arguments as a single string
-	 * @return individual arguments
-	 * @since 3.1
-	 */
-	public static String[] parseArguments(String args) {
-		if (args == null)
-			return new String[0];
-		ArgumentParser parser= new ArgumentParser(args);
-		String[] res= parser.parseArguments();
-		
-		return res;
-	}	
-	
-	/**
-	 * Sets whether step filters should be applied to step commands. This
-	 * setting is a global option applied to all registered debug targets. 
-	 * 
-	 * @param useStepFilters whether step filters should be applied to step
-	 *  commands
-	 * @since 3.3
-	 * @see org.eclipse.debug.core.model.IStepFilters
-	 */
-	public static void setUseStepFilters(boolean useStepFilters) {
-		getStepFilterManager().setUseStepFilters(useStepFilters);
-	}
-		
-	/**
-	 * Returns whether step filters are applied to step commands.
-	 * 
-	 * @return whether step filters are applied to step commands
-	 * @since 3.3
-	 * @see org.eclipse.debug.core.model.IStepFilters
-	 * @see org.eclipse.debug.core.commands.IStepFiltersHandler
-	 */
-	public static boolean isUseStepFilters() {
-		return getStepFilterManager().isUseStepFilters();
-	}	
-	
-	/**
-	 * Returns the step filter manager.
-	 * 
-	 * @return step filter manager
-	 */
-	private static StepFilterManager getStepFilterManager() {
-		return ((LaunchManager)getDefault().getLaunchManager()).getStepFilterManager();
-	}
-	
-}
-
-
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 49e4bef..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 unregister 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 8bd9bd5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 CoreException 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 CoreException 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.
-	 *
-	 * @param breakpoint a breakpoint
-	 * @return whether the breakpoint is registered
-	 * @since 2.0
-	 */
-	public boolean isRegistered(IBreakpoint breakpoint);
-	
-	/**
-	 * Notifies all registered listeners that the given
-	 * breakpoint has changed. Has no effect if the given
-	 * breakpoint is not currently registered.
-	 * 
-	 * This method is intended to be used when a breakpoint
-	 * attribute is changed that does not alter the breakpoint's
-	 * underlying marker, that is, when notification will not occur
-	 * via the marker delta mechanism.
-	 * 
-	 * @param breakpoint the breakpoint that has changed.
-	 * @since 2.0
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint);
-	
-	/**
-	 * Removes the given breakpoint from the breakpoint manager, deletes
-	 * the marker associated with the breakpoint if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect if the given breakpoint is not currently
-	 * registered.
-	 *
-	 * @param breakpoint the breakpoint to remove
-	 * @param delete whether to delete the marker associated with the
-	 *  breakpoint
-	 * @exception CoreException if an exception occurs while deleting the
-	 * 	underlying marker.
-	 * @since 2.0
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException;
-	
-	/**
-	 * Removes the given breakpoints from the breakpoint manager, deletes
-	 * the markers associated with the breakpoints if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect on breakpoints not currently
-	 * registered.
-	 *
-	 * @param breakpoints the breakpoints to remove
-	 * @param delete whether to delete the markers associated with the
-	 *  breakpoints
-	 * @exception CoreException if an exception occurs while deleting an
-	 * 	underlying marker.
-	 * @since 2.1
-	 */
-	public void removeBreakpoints(IBreakpoint[] breakpoints, boolean delete) throws CoreException;	
-
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addBreakpointListener(IBreakpointListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered breakpoint manager
-	 * listeners. Has no effect if an identical listener is already registered.
-	 * 
-	 * @param listener the listener to add
-	 * @since 3.0
-	 */
-	public void addBreakpointManagerListener(IBreakpointManagerListener listener);
-	
-	/**
-	 * Removes the given listener from the collection of registered breakpoint manager
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener the listener to remove
-	 * @since 3.0
-	 */
-	public void removeBreakpointManagerListener(IBreakpointManagerListener listener);
-	
-	/**
-	 * Returns whether or not this breakpoint manager is enabled.
-	 * When a breakpoint manager is enabled, all breakpoints
-	 * should be honored. When it is disabled, breakpoints should
-	 * not be honored, regardless of each breakpoint's enabled state.
-	 * 
-	 * @return whether or not this breakpoint manager is enabled
-	 * @since 3.0
-	 */
-	public boolean isEnabled();
-	
-	/**
-	 * Sets the enabled state of this breakpoint manager. When
-	 * enabled, breakpoints should be honored. When disabled, all
-	 * breakpoints should be ignored.
-	 * 
-	 * @param enabled whether this breakpoint manager should be
-	 *  enabled
-	 * @since 3.0
-	 */
-	public void setEnabled(boolean enabled);
-
-    /**
-     * Returns the name (user readable String) of the given
-     * breakpoint's type or <code>null</code> if none has been
-     * specified.
-     * 
-     * @param breakpoint the breakpoint
-     * @return the name of the given breakpoint's type or <code>null</code>
-     * @since 3.1
-     */
-    public String getTypeName(IBreakpoint breakpoint);
-	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
deleted file mode 100644
index 7047e3f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A breakpoint manager listener is notified when the breakpoint manager's
- * enablement changes. When the breakpoint manager is disabled, no breakpoints
- * should be honored. When the breakpoint manager is enabled, breakpoints should
- * be honored as usual.
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @see IBreakpointManager
- * @since 3.0
- */
-public interface IBreakpointManagerListener {
-	
-	/**
-	 * Notifies the listener that the breakpoint manager's enablement
-	 * has changed.
-	 * 
-	 * @param enabled whether or not the breakpoint manager is enabled
-	 */
-	public void breakpointManagerEnablementChanged(boolean enabled);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
deleted file mode 100644
index 6e0aa6e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 unregister with the
- * breakpoint manager.
- * <p>
- * This interface is analogous 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 ece27fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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>
-	 * @param events set of debug events to filter
-	 * @return  the set of debug events to fire
-	 */
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
deleted file mode 100644
index 683270b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A debug event set listener registers with the debug plug-in
- * to receive event notification from programs being run or debugged.
- * <p>
- * When more than one event is reported, each event has occurred at the
- * same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completes. In 
- * this case the breakpoint event and step end event are reported together
- * in the same event set.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugEvent
- * @since 2.0
- */
-public interface IDebugEventSetListener {
-	/**
-	 * Notifies this listener of the given debug events.
-	 * All of the events in the given event collection occurred
-	 * at the same location the program be run or debugged.
-	 *
-	 * @param events the debug events
-	 */
-	public void handleDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
deleted file mode 100644
index d82e6bf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and unregister 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 fa3cc9d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-
-/**
- * The expression manager manages the collection of registered
- * expressions in the workspace. An expression is a snippet of code
- * that can be evaluated to produce a value. Expression creation
- * and evaluation are client responsibilities.
- * <p>
- * Clients interested in expression change notification may
- * register with the expression manager - see
- * <code>IExpressionListener</code> and <code>IExpressionsListener</code>.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.model.IExpression
- * @see org.eclipse.debug.core.IExpressionListener
- * @see org.eclipse.debug.core.IExpressionsListener
- * @since 2.0
- */
-public interface IExpressionManager {
-	/**
-	 * Adds the given expression to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. This has no effect
-	 * if the given expression is already registered.
-	 *
-	 * @param expression the expression to add
-	 */
-	public void addExpression(IExpression expression);
-	
-	/**
-	 * Adds the given expressions to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions already registered.
-	 *
-	 * @param expressions the expressions to add
-	 * @since 2.1
-	 */
-	public void addExpressions(IExpression[] expressions);
-	
-	/**
-	 * Creates and returns a new watch expression with the
-	 * given text. The returned expression is <b>not</b> added to
-	 * this manager.
-	 * 
-	 * @return new watch expression
-	 * @param expressionText the text for the new expression
-	 * @since 3.0
-	 */
-	public IWatchExpression newWatchExpression(String expressionText);
-		
-	/**
-	 * Returns a collection of all registered expressions, 
-	 * possibly empty.
-	 *
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions();
-	
-	/**
-	 * Returns whether there are any registered expressions
-	 * 
-	 * @return whether there are any registered expressions
-	 */
-	public boolean hasExpressions();
-	
-	/**
-	 * Returns a collection of all expressions registered for the
-	 * given debug model,possibly empty.
-	 *
-	 * @param modelIdentifier identifier of a debug model plug-in
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions(String modelIdentifier);
-		
-	/**
-	 * Removes the given expression from the expression manager,
-	 * and notifies all registered listeners. Has no effect if the
-	 * given expression is not currently registered.
-	 *
-	 * @param expression the expression to remove
-	 */
-	public void removeExpression(IExpression expression);
-	
-	/**
-	 * Removes the given expressions from the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions not already registered.
-	 *
-	 * @param expressions the expressions to remove
-	 * @since 2.1
-	 */
-	public void removeExpressions(IExpression[] expressions);		
-
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addExpressionListener(IExpressionListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeExpressionListener(IExpressionListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addExpressionListener(IExpressionsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeExpressionListener(IExpressionsListener listener);
-	
-	/**
-	 * Returns a new watch expression delegate for the given debug
-	 * model or <code>null</code> if no delegate is available.
-	 * 
-	 * @param id the unique identifier of a debug model for which a
-	 *  watch expression delegate has been contributed
-	 * @return a watch expression delegate associated with the given model
-	 * 		or <code>null</code> if none
-	 * @since 3.0
-	 * @see IWatchExpressionDelegate
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String id);
-    
-    /**
-     * Returns whether a watch expression delegate has been contributed for
-     * the given debug model.
-     * 
-     * @param id the unique identifier of a debug model
-     * @return whether a watch expression delegate has been contributed for
-     *    the given debug model
-     * @since 3.1
-     * @see IWatchExpressionDelegate
-     */    
-    public boolean hasWatchExpressionDelegate(String id);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
deleted file mode 100644
index a73a72e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and unregister with the
- * expression manager.
- * <p>
- * This interface is analogous to <code>IExpressionListener</code>, except
- * notifications are batched for more than when expression when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IExpressionManager
- * @since 2.1
- */
-
-public interface IExpressionsListener {
-
-	/**
-	 * Notifies this listener that the given expressions have been added
-	 * to the expression manager.
-	 *
-	 * @param expressions the added expressions
-	 */
-	public void expressionsAdded(IExpression[] expressions);
-	/**
-	 * Notifies this listener that the given expressions has been removed
-	 * from the expression manager.
-	 *
-	 * @param expressions the removed expressions
-	 */
-	public void expressionsRemoved(IExpression[] expressions);
-	
-	/**
-	 * Notifies this listener that the given expressions have
-	 * changed.
-	 *
-	 * @param expressions the changed expressions
-	 */
-	public void expressionsChanged(IExpression[] expressions);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
deleted file mode 100644
index fe0e3b8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * should create instances of this interface by using the implementation
- * provided by the class <code>Launch</code>.
- * </p>
- * @see Launch
- * @see org.eclipse.debug.core.IProcessFactory
- */
-public interface ILaunch extends ITerminate, IAdaptable {
-	/**
-	 * Returns the children of this launch - a collection
-	 * of one or more debug targets and processes, possibly empty.
-	 *
-	 * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>),
-	 * 	or an empty array
-	 */
-	public Object[] getChildren();
-	/**
-	 * Returns the primary (first) debug target associated with this launch, or <code>null</code>
-	 * if no debug target is associated with this launch. All debug targets 
-	 * associated with this launch may be retrieved by
-	 * <code>getDebugTargets()</code>.
-	 *
-	 * @return the primary debug target associated with this launch, or <code>null</code>
-	 */
-	public IDebugTarget getDebugTarget();
-
-	/**
-	 * Returns the processes that were launched,
-	 * or an empty collection if no processes were launched.
-	 *
-	 * @return array of processes
-	 */
-	public IProcess[] getProcesses();
-	
-	/**
-	 * Returns all the debug targets associated with this launch,
-	 * or an empty collection if no debug targets are associated
-	 * with this launch. The primary debug target is the first
-	 * in the collection (if any).
-	 *
-	 * @return array of debug targets
-	 * @since 2.0
-	 */
-	public IDebugTarget[] getDebugTargets();
-	
-	/**
-	 * Adds the given debug target to this launch. Has no effect
-	 * if the given debug target is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to add to this launch
-	 * @since 2.0
-	 */
-	public void addDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Removes the given debug target from this launch. Has no effect
-	 * if the given debug target is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Adds the given process to this launch. Has no effect
-	 * if the given process is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to add to this launch
-	 * @since 2.0
-	 */
-	public void addProcess(IProcess process);		
-	
-	/**
-	 * Removes the given process from this launch. Has no effect
-	 * if the given process is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeProcess(IProcess process);			
-		
-	/**
-	 * Returns the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @return the source locator
-	 */
-	public ISourceLocator getSourceLocator();
-	
-	/**
-	 * Sets the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @param sourceLocator source locator or <code>null</code>
-	 * @since 2.0
-	 */
-	public void setSourceLocator(ISourceLocator sourceLocator);
-		
-	/**
-	 * Returns the mode of this launch - one of the mode constants defined by
-	 * the launch manager.
-	 *
-	 * @return the launch mode
-	 * @see ILaunchManager
-	 */
-	public String getLaunchMode();
-	
-	/**
-	 * Returns the configuration that was launched, or <code>null</code>
-	 * if no configuration was launched.
-	 * 
-	 * @return the launched configuration or <code>null</code>
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Sets the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @param value the attribute value
-	 * @since 2.0
-	 */
-	public void setAttribute(String key, String value);
-	
-	/**
-	 * Returns the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @return value the attribute value, or <code>null</code> if undefined
-	 * @since 2.0
-	 */
-	public String getAttribute(String key);	
-	
-	/**
-	 * Returns whether this launch contains at least one process
-	 * or debug target.
-	 * 
-	 * @return whether this launch contains at least one process
-	 * or debug target
-	 * @since 2.0
-	 */
-	public boolean hasChildren();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
deleted file mode 100644
index e3c6bc3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-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.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * A launch configuration describes how to launch an application.
- * Each launch configuration is an instance of a type of launch
- * configuration as described by a launch configuration type 
- * extension. Each launch configuration has a launch configuration
- * delegate which performs the actual launching of a
- * configuration.
- * <p>
- * A launch configuration may be shared in a repository via
- * standard VCM mechanisms, or may be stored locally, essentially
- * making the launch configuration private for a single user.
- * Thus, a launch configuration may stored as a file in the
- * workspace (shared), or as a file in the debug plug-in's state
- * location.
- * </p>
- * A launch configuration is a handle to its underlying storage.
- * Methods annotated as "handle-only" do not require a configuration
- * to exist. Methods that require an underlying configuration to exist
- * throw a <code>CoreException</code> when an underlying configuration
- * is missing.
- * </p>
- * <p>
- * A launch configuration is modified by obtaining a working copy
- * of a launch configuration, modifying the working copy, and then
- * saving the working copy.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfigurationType
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
- * @see ILaunchConfigurationWorkingCopy
- * @since 2.0
- */
-public interface ILaunchConfiguration extends IAdaptable {
-	
-	/**
-	 * The file extension for launch configuration files
-	 * (value <code>"launch"</code>).
-	 */
-	public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing an identifier of
-	 * a persistable source locator extension. When this attribute is
-	 * specified, a new source locator will be created automatically and
-	 * associated with the launch for this configuration.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_ID = DebugPlugin.getUniqueIdentifier() + ".source_locator_id"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing a memento of a 
-	 * source locator. When this attribute is specified in
-	 * conjunction with a source locator id, the source locator
-	 * created for a launch will be initialized with this memento.
-	 * When not specified, but a source locator id is specified,
-	 * the source locator will be initialized to default values.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_MEMENTO = DebugPlugin.getUniqueIdentifier() + ".source_locator_memento"; //$NON-NLS-1$
-	
-	/**
-	 * Returns whether the contents of this launch configuration are 
-	 * equal to the contents of the given launch configuration.
-	 * 
-	 * @param configuration 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 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;
-	
-	/**
-	 * 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 whether this launch configuration's underlying
-	 * storage exists. This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration's underlying
-	 *  storage exists
-	 */
-	public boolean exists();
-	
-	/**
-	 * Returns the 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 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 <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.Set</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>
-	 * 
-	 * @since 3.3
-	 */
-	public Set getAttribute(String attributeName, Set 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 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 a map containing the attributes in this launch configuration.
-	 * Returns an empty map if this configuration has no attributes.
-	 * <p>
-	 * Modifying the map does not affect this launch configuration's attributes.
-	 * A launch configuration is modified by obtaining a working copy of that
-	 * launch configuration, modifying the working copy, and then saving the working
-	 * copy.
-	 * </p>
-	 * @return a map of attribute keys and values
-	 * @exception CoreException unable to generate/retrieve an attribute map
-	 * @since 2.1
-	 */
-	public Map getAttributes() throws CoreException;
-	
-	/**
-	 * Returns this launch configuration's type's category, or <code>null</code>
-	 * if unspecified. This is a handle-only method.
-	 * 
-	 * @return this launch configuration's type's category, or <code>null</code>
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @since 2.1
-	 */
-	public String getCategory() throws CoreException;
-	
-	/**
-	 * Returns the file this launch configuration is stored
-	 * in, or <code>null</code> if this configuration is stored
-	 * locally with the workspace. This is a handle-only method.
-	 * 
-	 * @return the file this launch configuration is stored
-	 *  in, or <code>null</code> if this configuration is stored
-	 *  locally with the workspace
-	 */
-	public IFile getFile();
-		
-	/**
-	 * Returns the location of this launch configuration as a
-	 * path. This is a handle-only method.
-	 * 
-	 * @return the location of this launch configuration as a
-	 *  path
-	 */
-	public IPath getLocation();
-	
-	/**
-	 * Returns the resources this launch configuration is associated with or <code>null</code>
-	 * if none. Clients contributing launch configuration types are responsible for maintaining
-	 * resource mappings as appropriate.
-	 * 
-	 * @return the resources this launch configuration is associated with or <code>null</code>
-	 * @throws CoreException unable to get the mapped resource
-	 * @since 3.2
-	 */
-	public IResource[] getMappedResources() 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 the name of this launch configuration. This is
-	 * a handle-only method.
-	 * 
-	 * @return the name of this launch configuration
-	 */
-	public String getName();		
-	
-	/**
-	 * Returns the launch modes that have been set on this configuration.
-	 * An empty set is returned if no specific launch modes have been set
-	 * on a launch configuration. 
-	 * <p>
-	 * Setting launch modes on a configuration allows a launch to be
-	 * performed in mixed mode - for example, debug and profile at the
-	 * same time.
-	 * </p>
-	 * @return this configuration's launch modes, possibly an empty set
-	 * @exception CoreException if an exception occurs retrieving modes
-	 * @since 3.3
-	 */
-	public Set getModes() throws CoreException;
-	
-	/**
-	 * Returns the preferred launch delegate that has been set on this
-	 * configuration or <code>null</code> if one is not specified.
-	 * 
-	 * @param modes mode set for which a preferred delegate has been requested
-	 * @return this configuration's preferred launch delegate for the specified mode set, or  
-	 * 	<code>null</code> if one is not specified
-	 * @exception CoreException if an exception occurs retrieving preferred delegate
-	 * @since 3.3
-	 */
-	public ILaunchDelegate getPreferredDelegate(Set modes) throws CoreException;
-	
-	/**
-	 * Returns the type of this launch configuration. This is a
-	 * handle-only method.
-	 * 
-	 * @return the type of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationType
-	 */
-	public ILaunchConfigurationType getType() throws CoreException;	
-	
-	/**
-	 * Returns a working copy of this launch configuration.
-	 * Since 3.3, if this method is called on a working copy, a nested working 
-	 * copy is created (a working copy of a working copy).
-	 * Changes to the working copy will be applied to this
-	 * launch configuration when saved, or to the parent working copy. 
-	 * The working copy will refer to this launch configuration as its original
-	 * launch configuration, or the working copy it was created from.
-	 * <p>
-	 * When a working copy (B) is created from a working copy (A), the newly
-	 * created working copy (B) is initialized with the attributes from
-	 * the first working copy (A). Whenever a working copy is saved, it is written
-	 * back to the working copy from which it was created: in this example working 
-	 * copy B will write back to working copy A, and A will write back to the 
-	 * original launch configuration.
-	 * </p>
-	 * @return a working copy of this launch configuration, or a nested working copy if called
-	 * on an instance of <code>ILaunchConfigurationWorkingCopy</code>
-	 * @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 whether this launch configuration is stored
-	 * locally within the workspace. This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration is stored
-	 *  locally with the workspace
-	 */
-	public boolean isLocal();
-	
-	/**
-	 * Returns whether this launch configuration is a candidate for migration.
-	 * 
-	 * @return whether this launch configuration is a candidate for migration
-	 * @throws CoreException
-	 * @see ILaunchConfigurationMigrationDelegate
-	 * @since 3.2
-	 */
-	public boolean isMigrationCandidate() throws CoreException ;
-	
-	/**
-	 * Returns whether this launch configuration is a working
-	 * copy. Launch configurations which return <code>true</code>
-	 * to this method can be safely cast to 
-	 * <code>org.eclipse.debug.core.ILaunchConfigurationWorkingCopy</code>.
-	 * This is a handle-only method.
-	 * 
-	 * @return whether this launch configuration is a working
-	 *  copy
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * Equivalent to calling <code>launch(String, IProgressMontitor, boolean)</code>
-	 * with a <code>build</code> flag of <code>false</code>.
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancelable progress monitor is provided by the Job
-	 *  framework.
-	 * @return the resulting launch
-	 * @exception CoreException if this method fails. Reasons include:<ul>
-	 * <li>unable to instantiate the underlying launch configuration delegate</li>
-	 * <li>the launch fails (in the delegate)</code>
-	 * </ul>
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * If this configuration's launch delegate implements
-	 * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will
-	 * be consulted to provide a launch object for the launch,
-	 * perform pre-launch checks, and build before the launch.
-	 * If <code>build</code> is <code>true</code> and the associated launch
-	 * delegate does not implement <code>ILaunchConfigurationDelegate2</code>
-	 * an incremental workspace build will be performed before the launch
-	 * by the debug platform.
-	 * </p>
-	 * <p>
-	 * The resulting launch object is registered with the launch manager
-	 * before passing it to this configuration's delegate launch method, for
-	 * contributions (debug targets and processes).
-	 * </p>
-	 * <p>
-	 * If the delegate contributes a source locator to the launch, that
-	 * source locator is used. Otherwise an appropriate source locator is
-	 * contributed to the launch  based on the values of
-	 * <code>ATTR_SOURCE_LOCATOR_ID</code> and
-	 * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is canceled (via
-	 * the given progress monitor), the launch is removed from the launch
-	 * manager. The launch is returned whether canceled or not. Invoking this
-	 * method causes the underlying launch configuration delegate to be
-	 * instantiated (if not already).
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancelable progress monitor is provided by the Job
-	 *  framework.
-	 * @param build whether the workspace should be built before the launch
-	 * @return resulting launch
-	 * @throws CoreException if an exception occurs during the launch sequence
-	 * @since 3.0
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException;	
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * If this configuration's launch delegate implements
-	 * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will
-	 * be consulted to provide a launch object for the launch,
-	 * perform pre-launch checks, and build before the launch.
-	 * If <code>build</code> is <code>true</code> and the associated launch
-	 * delegate does not implement <code>ILaunchConfigurationDelegate2</code>
-	 * an incremental workspace build will be performed before the launch
-	 * by the debug platform.
-	 * </p>
-	 * <p>
-	 * When <code>register</code> is <code>true</code>, the resulting launch object
-	 * is registered with the launch manager before passing it to this configuration's delegate
-	 * launch method, for contributions (debug targets and processes). When
-	 * <code>register</code> is <code>false</code>, the launch is not registered with
-	 * the launch manager. Clients that launch configurations without registering
-	 * a launch should register appropriate debug event filters to intercept events
-	 * from unregistered launches.
-	 * </p>
-	 * <p>
-	 * If the delegate contributes a source locator to the launch, that
-	 * source locator is used. Otherwise an appropriate source locator is
-	 * contributed to the launch  based on the values of
-	 * <code>ATTR_SOURCE_LOCATOR_ID</code> and
-	 * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is canceled (via
-	 * the given progress monitor), the launch is removed from the launch
-	 * manager. The launch is returned whether canceled or not. Invoking this
-	 * method causes the underlying launch configuration delegate to be
-	 * instantiated (if not already).
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancelable progress monitor is provided by the Job
-	 *  framework.
-	 * @param build whether the workspace should be built before the launch
-	 * @param register whether to register the resulting launch with the launch manager
-	 * @return resulting launch
-	 * @throws CoreException if an exception occurs during the launch sequence
-	 * @since 3.1
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException;
-	
-	/**
-	 * Migrates this launch configuration to be compatible with current tooling.
-	 * Has no effect if this configuration is not a candidate for migration.
-	 * Migration is performed by a launch configuration migration delegate.
-	 * @throws CoreException if migration fails
-	 * @since 3.2
-	 * @see ILaunchConfigurationMigrationDelegate
-	 */
-	public void migrate() throws CoreException;
-	
-	/**
-	 * Returns whether this launch configuration supports the
-	 * specified mode. This is a handle-only method.
-	 * 
-	 * @param mode a mode in which a configuration can be launched, one of
-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or
-	 *  <code>DEBUG_MODE</code>.
-	 * @return whether this launch configuration supports the
-	 *  specified mode
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve this launch configuration's type.</li>
-	 * </ul>
-	 */
-	public boolean supportsMode(String mode) throws CoreException;
-	
-	/**
-	 * Returns whether this launch configuration is read-only.
-	 * A read-only configuration cannot be modified.
-	 * 
-	 * @return whether this configuration is read-only
-	 * 
-	 * @since 3.3
-	 */
-	public boolean isReadOnly();	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
deleted file mode 100644
index 0db5e61..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-/**
- * Notified when a launch configuration is created,
- * deleted, or changed.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @since 2.0
- */
-public interface ILaunchConfigurationListener {
-	
-	/**
-	 * The given launch configuration has been created.
-	 * 
-	 * @param configuration the newly created launch configuration
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has changed in some way.
-	 * The configuration may be a working copy.
-	 * 
-	 * @param configuration the launch configuration that has
-	 *  changed
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has been deleted.
-	 * <p>
-	 * The launch configuration no longer exists. Data stored 
-	 * in the configuration can no longer be accessed, however
-	 * handle-only attributes of the launch configuration
-	 * can be retrieved.
-	 * </p>
-	 * 
-	 * @param configuration the deleted launch configuration
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration);	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java
deleted file mode 100644
index 404340e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationMigrationDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Responsible for migrating launch configurations between different versions of Eclipse.
- * A migration delegate is contributed as an optional attribute of a 
- * <code>launchConfigurationType</code> extension and is responsible for identifying
- * migration candidates and migrating launch configurations of that type.
- * <p> 
- * For example, since 3.2 launch configurations may have resources mapped to them. A migration
- * delegate could assign appropriate resources to a launch configuration create in an earlier
- * version.
- * </p>
- * @since 3.2
- */
-public interface ILaunchConfigurationMigrationDelegate {
-
-	/**
-	 * Returns whether the given launch configuration requires migration.  
-	 * 
-	 * @param candidate potential migration candidate 
-	 * @return whether the given launch configuration requires migration
-	 * @throws CoreException if an exception occurs determining the status of the
-	 *  given configuration
-	 */
-	public boolean isCandidate(ILaunchConfiguration candidate) throws CoreException;
-	
-	/**
-	 * Migrates the given launch configuration to be compatible with the current tooling.
-	 * 
-	 * @param candidate the candidate to be migrated, which can be a launch configuration
-	 *  or working copy
-	 * @throws CoreException if an exception occurs during migration
-	 */
-	public void migrate(ILaunchConfiguration candidate) throws CoreException;
-	
-}
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 6ad7de4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * Describes and creates instances of a specific type of
- * launch configuration. Launch configuration types are
- * defined by extensions.
- * <p>
- * A launch configuration type extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch configuration
- * type extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.launchConfigurationTypes"&gt;
- *   &lt;launchConfigurationType 
- *      id="com.example.ExampleIdentifier"
- *      delegate="com.example.ExampleLaunchConfigurationDelegate"
- *      modes="run, debug"
- *      name="Example Application"&gt;
- *      sourceLocatorId="com.example.SourceLocator"&gt;
- *      sourcePathComputerId="com.example.SourcePathComputer"&gt;
- *   &lt;/launchConfigurationType&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch configuration
- *  type.</li>
- * <li><code>delegate</code> specifies the fully qualified name of the java class
- *   that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration
- *   instances of this type will delegate to instances of this class
- *   to perform launching.</li>
- * <li><code>modes</code> specifies a comma separated list of the modes this
- *    type of launch configuration supports - <code>"run"</code> and/or <code>"debug"</code>.</li>
- * <li><code>name</code> specifies a human readable name for this type
- *    of launch configuration.</li>
- * <li><code>category</code> is an optional attribute that specifies a category
- * for this launch configuration type. Categories are client defined. This
- * attribute was added in the 2.1 release.</li>
- * <li><code>sourceLocatorId</code> an optional unique identifier of a sourceLocator extension that
- * is used to create the source locator for sessions launched using launch configurations
- * of this type. This attribute was added in the 3.0 release.</li>
- * <li><code>sourcePathComputerId</code> an optional unique identifier of a sourcePathComputer extension
- * that is used to compute a default source lookup path for launch configurations of this type.
- * This attribute was added in the 3.0 release.</li>
- * </ul>
- * </p>
- * <p>
- * The <code>category</code> attribute has been added in release 2.1, such that other
- * tools may re-use the launch configuration framework for purposes other than
- * the standard running and debugging of programs under development. Such that
- * clients may access arbitrary attributes 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 the attribute with the given name, as specified by this launch
-	 * configuration type's extension definition, or <code>null</code> if
-	 * unspecified.
-	 * 
-	 * @param attributeName attribute name
-	 * @return the specified extension attribute, or <code>null</code>
-	 * @since 2.1
-	 */
-	public String getAttribute(String attributeName);
-	
-	/**
-	 * Returns 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 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
-	 * @deprecated since 3.3, the method <code>getDelegates(Set)</code> should be used
-	 *  instead, as there can be more than one capable delegate per mode or combination
-	 *  of modes 
-	 */	
-	public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException;
-	
-	/**
-	 * Returns the delegates capable of launching in the specified modes, possibly
-	 * an empty set.
-	 * 
-	 * @param modes set of launch modes
-	 * @return the <code>ILaunchDelegate</code>s capable of launching
-	 * 		in the specified modes or an empty collection if none
-	 * @throws CoreException
-	 * @since 3.3
-	 */
-	public ILaunchDelegate[] getDelegates(Set modes) throws CoreException;
-	
-	/**
-	 * Returns the preferred launch delegate for this type in the specified mode combination
-	 * or <code>null</code> if there is no preferred delegate.
-	 * 
-	 * @param modes the set of modes to support
-	 * @return the preferred delegate or <code>null</code> if none
-	 * @throws CoreException
-	 * 
-	 * @since 3.3
-	 */
-	public ILaunchDelegate getPreferredDelegate(Set modes) throws CoreException;
-	
-	/**
-	 * Sets the preferred launch delegate for this type in the specified mode combination.
-	 * Specify <code>null</code> as a preferred delegate to remove any preferred delegate
-	 * setting for this launch configuration type.
-	 * 
-	 * @param modes launch mode combination
-	 * @param delegate preferred launch delegate or <code>null</code>
-	 * @throws CoreException
-	 * 
-	 * @since 3.3
-	 */
-	public void setPreferredDelegate(Set modes, ILaunchDelegate delegate) throws CoreException;
-	
-	/**
-	 * Returns whether this launch configuration supports the specified launch
-	 * mode combination.
-	 * 
-	 * @param modes launch mode combination
-	 * @return whether the launch mode combination is supported
-	 * @since 3.3
-	 */
-	public boolean supportsModeCombination(Set modes);
-	
-	/**
-	 * Returns the unique identifier for this type of launch configuration
-	 * 
-	 * @return the unique identifier for this type of launch configuration
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns the name of this type of launch configuration.
-	 * 
-	 * @return the name of this type of launch configuration
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the identifier of the plug-in that contributes this launch configuration type.
-	 * 
-	 * @return the identifier of the plug-in that contributes this launch configuration type
-	 * @since 3.0
-	 */
-	public String getPluginIdentifier();
-	
-	/**
-	 * Returns the identifier of the persistable source locator registered with
-	 * this launch configurations type, or <code>null</code> if unspecified.
-	 * A source locator can be specified by a launch configuration type or
-	 * launch delegate extension's <code>sourceLocatorId</code> attribute.  
-	 * <p>
-	 * Only one source locator should be provided per launch configuration type
-	 * and its launch delegates.
-	 * </p>
-	 * @return the identifier of the persistable source locator registered with
-	 *  this launch configurations type, or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public String getSourceLocatorId();
-	
-	/**
-	 * Returns the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified. A source path computer can be
-	 * specified by a launch configuration type or launch delegate extension's
-	 * <code>sourcePathComputerId</code> attribute.
-	 * <p>
-	 * Only one source path computer should be provided per launch configuration type
-	 * and its launch delegates. 
-	 * </p>
-	 * @return the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer();	
-	
-	/**
-	 * Returns all of the registered supported modes for this launch configuration type.
-	 * This method does not return null.
-	 * 
-	 * <p>
-	 * The returned set does not convey any mode combination capability nor does it describe how or what the type can launch, all this method does is return
-	 * a set of strings of all the modes in some way associated with this type 
-	 * </p>
-	 * 
-	 * @return the set of all supported modes
-	 * @since 3.2
-	 * 
-	 * @deprecated Since 3.3 all modes are provided as sets and not individual strings. The method <code>getSupportedModeCombinations</code>
-	 * should be used instead to retrieve the complete listing of supported modes and their allowable combinations.
-	 */
-	public Set getSupportedModes();
-	
-	/**
-	 * Returns a <code>java.util.Set</code> of <code>java.util.Set</code>s containing all of the
-	 * supported launch mode combinations for this type.
-	 * 
-	 * @return a set of sets of all the supported mode combinations supported by this type
-	 * 
-	 * @since 3.3
-	 */
-	public Set getSupportedModeCombinations();
-	
-	/**
-	 * 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
-	 * accessible 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 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 the plug-in that contributed this launch configuration type.
-	 * 
-	 * @return name of contributing plug-in
-	 * @since 3.3
-	 */
-	public String getContributorName();
-
-}
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 fce0972..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-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>
- * Since 3.3, working copies can be nested. For example a working copy B can
- * be created from the original launch configuration A. Then a nested working
- * copy C can be created from working copy B. When the <code>doSave()</code> method
- * is called on C, changes are written back to its parent working copy B without
- * effecting the original launch configuration A. When <code>doSave()</code> is called
- * on B, the changes are persisted back to the original A.
- * </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
- * @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.
-	 * <p>
-	 * Since 3.3, if this is a nested working copy, the contents of this working copy are
-	 * saved to the parent working copy and the parent working copy is returned without
-	 * effecting the original launch configuration.
-	 * </p>
-	 * @return handle to saved launch configuration
-	 * @exception CoreException if an exception occurs while 
-	 *  writing this configuration to its underlying file.
-	 */
-	public ILaunchConfiguration doSave() throws CoreException;
-			
-	/**
-	 * Sets the integer-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, int value);
-	
-	/**
-	 * Sets the String-valued attribute with the given name.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, String value);
-	
-	/**
-	 * Sets the <code>java.util.List</code>-valued attribute with the given name.
-	 * The specified List <em>must</em> contain only String-valued entries.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, List value);
-	
-	/**
-	 * Sets the <code>java.util.Map</code>-valued attribute with the given name.
-	 * The specified Map <em>must</em> contain only String keys and String values.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, Map value);
-	
-	/**
-	 * Sets the boolean-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, boolean value);	
-	
-	/**
-	 * Returns the original launch configuration this working copy
-	 * was created from or <code>null</code> if this is a new
-	 * working copy created from a launch configuration type.
-	 * 
-	 * @return the original launch configuration, or <code>null</code>
-	 */
-	public ILaunchConfiguration getOriginal();
-	
-	/**
-	 * Renames this launch configuration to the specified name.
-	 * The new name cannot be <code>null</code>. Has no effect if the name
-	 * is the same as the current name. If this working copy is based
-	 * on an existing launch configuration, this will cause
-	 * the underlying launch configuration file to be renamed when
-	 * this working copy is saved.
-	 * 
-	 * @param name the new name for this configuration 
-	 */
-	public void rename(String name);	
-	
-	/**
-	 * Sets the container this launch configuration will be stored
-	 * in when saved. When set to <code>null</code>, this configuration
-	 * will be stored locally with the workspace. The specified
-	 * container must exist, if specified.
-	 * <p>
-	 * If this configuration is changed from local to non-local,
-	 * a file will be created in the specified container when
-	 * saved. The local file associated with this configuration
-	 * will be deleted.
-	 * </p>
-	 * <p>
-	 * If this configuration is changed from non-local to local,
-	 * a file will be created locally when saved.
-	 * The original file associated with this configuration in
-	 * the workspace will be deleted.
-	 * </p>
-	 * 
-	 * @param container the container in which to store this
-	 *  launch configuration, or <code>null</code> if this
-	 *  configuration is to be stored locally
-	 */
-	public void setContainer(IContainer container);	
-	
-	/**
-	 * Sets the attributes of this launch configuration to be the ones contained
-	 * in the given map. The values must be an instance of one of the following
-	 * classes: <code>String</code>, <code>Integer</code>, or
-	 * <code>Boolean</code>, <code>List</code>, <code>Map</code>. Attributes
-	 * previously set on this launch configuration but not included in the given
-	 * map are considered to be removals. Setting the given map to be
-	 * <code>null</code> is equivalent to removing all attributes.
-	 *
-	 * @param attributes a map of attribute names to attribute values.
-	 *  Attribute names are not allowed to be <code>null</code>
-	 * @since 2.1
-	 */
-	public void setAttributes(Map attributes);
-	
-	/**
-	 * Sets the resources associated with this launch configuration, possibly <code>null</code>.
-	 * Clients contributing launch configuration types are responsible for maintaining
-	 * resource mappings.
-	 *  
-	 * @param resources the resource to map to this launch configuration or <code>null</code>
-	 * @since 3.2
-	 */
-	public void setMappedResources(IResource[] resources);
-	
-	/**
-	 * Set the launch modes for this configuration.
-	 * Over-writes existing launch modes.
-	 * <p>
-	 * Setting launch modes on a configuration allows the configuration to
-	 * be launched in a mixed mode - for example, debug and profile.
-	 * </p>
-	 * @param modes launch mode identifiers to set on this configuration
-	 *  or <code>null</code> to clear mode settings
-	 *  
-	 * @since 3.3
-	 */
-	public void setModes(Set modes);
-	
-	/**
-	 * Set the preferred launch delegates' id for the given mode set. Passing in <code>null</code> as a delegate
-	 * id will cause the mapping for the specified mode set (if any) to be removed.
-	 * 
-	 * @param modes the set of modes to set this delegate id for
-	 * @param delegateId the id of the delegate to associate as preferred for the specified mode set
-	 *  or <code>null</code> to clear the setting
-	 *  
-	 * @since 3.3
-	 */
-	public void setPreferredLaunchDelegate(Set modes, String delegateId);
-	
-	/**
-	 * Adds the specified launch modes to this configuration's settings.
-	 * <p>
-	 * Setting launch modes on a configuration allows the configuration to
-	 * be launched in a mixed mode - for example, debug and profile.
-	 * </p>
-	 * @param modes launch mode identifiers to append to the current set of
-	 * 	launch modes set on this configuration
-	 * 
-	 * @since 3.3
-	 */
-	public void addModes(Set modes);
-	
-	/**
-	 * Removes the specified launch modes from this configuration's settings.
-	 * <p>
-	 * Setting launch modes on a configuration allows the configuration to
-	 * be launched in a mixed mode - for example, debug and profile.
-	 * </p>
-	 * @param modes launch mode identifiers to remove from the current set of
-	 * 	launch modes set on this configuration
-	 * 
-	 * @since 3.3
-	 */
-	public void removeModes(Set modes);
-	
-	/**
-	 * Returns the parent of this working copy or <code>null</code> if this working
-	 * copy is not a nested copy of another working copy.
-	 * 
-	 * @return parent or <code>null</code>
-	 * @since 3.3
-	 */
-	public ILaunchConfigurationWorkingCopy getParent();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchDelegate.java
deleted file mode 100644
index 038bc75..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchDelegate.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-
-/**
- * A proxy to an {@link ILaunchConfigurationDelegate}. Represents a
- * launch delegate contributed to the <code>org.eclipse.debug.core.launchDelegates</code>
- * extension point. 
- * <p>
- * This interface is NOT to be implemented by clients
- * </p>
- * @since 3.3
- */
-public interface ILaunchDelegate {
-
-	/**
-	 * Returns this delegate's unique identifier.
-	 * 
-	 * @return launch delegate identifier
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a human readable name for this launch delegate
-	 * or <code>null</code> if none.
-	 * 
-	 * @return name or <code>null</code>
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a description of this launch delegate, or 
-	 * <code>null</code> if none.
-	 * 
-	 * @return description or <code>null</code>
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns the name of the plug-in that contributed this delegate.
-	 * 
-	 * @return contributor name
-	 */
-	public String getContributorName();
-	
-	/**
-	 * Returns the underlying launch configuration.
-	 * Causes the delegate to be instantiated.
-	 * 
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the delegate
-	 */
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException;
-	
-	/**
-	 * Returns the complete set of launch modes supported by this delegate as a list of sets.
-	 * Each set contains one of more launch mode identifiers. When a set contains more than
-	 * one launch mode, it indicates that a mixed launch mode is supported.
-	 * If no modes are available an empty list is returned.
-	 * 
-	 * @return the complete set of launch modes this delegate supports
-	 */
-	public List getModes();
-	
-	/**
-	 * Returns the id of the plug-in that contributed this launch delegate.
-	 * 
-	 * @return the id of the plug-in that contributed this launch delegate
-	 */
-	public String getPluginIdentifier();
-	
-	/**
-	 * Returns the specified perspective id for the given mode set, or null if one is not provided 
-	 * @param modes the set of modes to get the perspective id
-	 * @return the perspective id associated with the given mode set, or <code>null</code> if none provided
-	 */
-	public String getPerspectiveId(Set modes);
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
deleted file mode 100644
index 427b6f4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A launch listener is notified of launches as they
- * are added and removed from the launch manager. Also,
- * when a process or debug target is added to a launch,
- * listeners are notified of a change.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchesListener
- */
-public interface ILaunchListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launch has been removed.
-	 *
-	 * @param launch the removed launch
-	 * @since 2.0
-	 */
-	public void launchRemoved(ILaunch launch);
-	/**
-	 * Notifies this listener that the specified launch
-	 * has been added.
-	 * 
-	 * @param launch the newly added launch
-	 * @since 2.0
-	 */
-	public void launchAdded(ILaunch launch);	
-	/**
-	 * Notifies this listener that the specified launch
-	 * has changed. For example, a process or debug target
-	 * has been added to the launch.
-	 * 
-	 * @param launch the changed launch
-	 * @since 2.0
-	 */
-	public void launchChanged(ILaunch launch);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
deleted file mode 100644
index 15337bc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * The launch manager manages the set of registered launches, maintaining
- * a collection of active processes and debug targets. Clients interested
- * in launch notification may register with the launch manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @see ILaunch
- * @see ILaunchListener
- */
-public interface ILaunchManager {
-	/**
-	 * A launch in a normal, non-debug mode(value <code>"run"</code>).
-	 */
-	public static final String RUN_MODE= "run"; //$NON-NLS-1$
-	/**
-	 * A launch in a special debug mode (value <code>"debug"</code>).
-	 */
-	public static final String DEBUG_MODE= "debug"; //$NON-NLS-1$
-	/**
-	 * A launch in a special profile mode (value <code>"profile"</code>).
-	 * @since 3.0
-	 */
-	public static final String PROFILE_MODE= "profile"; //$NON-NLS-1$	
-	
-	/**
-	 * Launch configuration attribute name. The value is a map of environment
-	 * variables passed into Runtime.exec(...) when a launch configuration is launched.
-	 * Default value is <code>null</code> which indicates the default environment
-	 * should be used. 
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".environmentVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute name. The value is a boolean value specifying
-	 * whether the environment variables in a launch configuration
-	 * should be appended to the native environment (i.e. when <code>true</code>),
-	 * or if they should replace the environment (i.e. <code>false</code>). The
-	 * default value is <code>true</code>.
-	 * 
-	 * @since 3.0 
-	 */
-	public static final String ATTR_APPEND_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".appendEnvironmentVariables"; //$NON-NLS-1$	
-	
-	/**
-	 * Adds the 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 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);	
-	/**
-	 * 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);	
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to register
-	 * @since 2.1
-	 */
-	public void addLaunchListener(ILaunchesListener listener);		
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to register
-	 */
-	public void addLaunchListener(ILaunchListener listener);
-	/**
-	 * 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
-	 * @return launch configuration name
-	 * @since 2.0
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String namePrefix);
-	/**
-	 * Returns the collection of debug targets currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of debug targets
-	 */
-	public IDebugTarget[] getDebugTargets();
-	/** 
-	 * Returns an array of environment variables to be used when
-	 * launching the given configuration or <code>null</code> if unspecified.
-	 * Each entry is of the form "<code>var_name=value</code>".
-	 * 
-	 * @return an array of environment variables to use when launching the given
-	 *  configuration or <code>null</code> if unspecified
-	 * @param configuration launch configuration
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 * @since 3.0
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException;
-	/**
-	 * This method returns the character encoding to use when launching the specified <code>ILaunchConfiguration</code>.
-	 * The returned encoding can be derived from one of three places in the following order:
-	 * <ol> 
-	 * <li>An attribute saved on the configuration itself (where no attribute means use the default encoding).</li>
-	 * <li>The mapped resources for the configuration, in the event one of them has a specific encoding that 
-	 * is not the workspace default. If there are more than one mapped resource we optimistically ask only the first resource
-	 * for its encoding.</li>
-	 * <li>We ask the <code>ResourcesPlugin</code> for the workspace preference (which resolves back to the system
-	 * property <code>file.encoding</code> if the user has made no changes to the workspace encoding preference).</li>
-	 * </ol>
-	 * @param configuration the <code>ILaunchConfiguration</code> to get the encoding for
-	 * @return the encoding to use when launching the specified <code>ILaunchConfiguration</code>
-	 * @throws CoreException
-	 * 
-	 * @since 3.4
-	 */
-	public String getEncoding(ILaunchConfiguration configuration) 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.
-	 * 
-	 * @param memento launch configuration memento
-	 * @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 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 retrieving
-	 *  a launch configuration
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException;
-	
-	/**
-	 * 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);
-	
-	/**
-	 * Returns all defined launch configuration type extensions
-	 * 
-	 * @return all defined launch configuration type extensions
-	 * @since 2.0
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes();
-	
-	/**
-	 * Returns the collection of launches currently registered
-	 * with this launch manager.
-	 * 
-	 * @return an array of launches
-	 */
-	public ILaunch[] getLaunches();
-	
-	/**
-	 * Returns the launch mode registered with the given mode identifier,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param mode mode identifier
-	 * @return launch mode or <code>null</code>
-	 * @since 3.0
-	 */
-	public ILaunchMode getLaunchMode(String mode);
-	
-	/**
-	 * Returns all registered launch modes.
-	 * 
-	 * @return all registered launch modes
-	 * @since 3.0
-	 */
-	public ILaunchMode[] getLaunchModes();
-	
-	/**
-	 * Returns a collection of launch configurations that required migration to be
-	 * compatible with current tooling.
-	 * 
-	 * @return a collection of launch configurations that required migration
-	 * @exception org.eclipse.core.runtime.CoreException if an exception occurs determining
-	 * 	 migration candidates
-	 * @since 3.2
-	 */
-	public ILaunchConfiguration[] getMigrationCandidates() 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 the native system environment variables as a map of
-	 * variable names and values (Strings).
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. On 
-	 * WIN32, this method normalizes mixed-case keys variable names
-	 * to upper case. Use {@link #getNativeEnvironmentCasePreserved()}
-	 * instead to get a WIN32 system environment where the keys are
-	 * the mixed-case variable names recorded by the OS.
-	 * </p>
-	 * 
-	 * @return the native system environment variables; on WIN32, mixed-case
-	 * variable names (keys) have been normalized to upper case
-	 * (key type: <code>String</code>; value type: <code>String</code>)
-	 * @since 3.0
-	 */	
-	public Map getNativeEnvironment();
-
-	/**
-	 * Returns the native system environment variables as a map of
-	 * variable names and values (Strings).
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. This
-	 * method returns mixed-case keys using the variable names 
-	 * recorded by the OS.
-	 * Use {@link #getNativeEnvironment()} instead to get a WIN32 system
-	 * environment where all keys have been normalized to upper case.
-	 * </p>
-	 * 
-	 * @return the native system environment variables; on WIN32, mixed-case
-	 * variable names (keys) are returned without normalization
-	 * (key type: <code>String</code>; value type: <code>String</code>)
-	 * @since 3.1
-	 */	
-	public Map getNativeEnvironmentCasePreserved();
-
-	/**
-	 * Returns the collection of processes currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of processes
-	 */
-	public IProcess[] getProcesses();
-	
-	/**
-	 * Returns the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id unique identifier of a source container type extension
-	 * @return the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourceContainerType getSourceContainerType(String id);
-	
-	/**
-	 * Returns all registered source container type extensions.
-	 * 
-	 * @return all registered source container type extensions
-	 * @since 3.0
-	 */
-	public ISourceContainerType[] getSourceContainerTypes();
-
-	/**
-	 * Returns a source path computer to compute a default source lookup path for
-	 * the given launch configuration, or <code>null</code> if a source path
-	 * computer has not been registered for the associated launch configuration
-	 * type.
-	 *  
-	 * @param configuration a launch configuration
-	 * @return a source path computer registered for the associated launch
-	 *  configurations type, or <code>null</code> if unspecified
-	 * @throws CoreException if an exception occurs while instantiating a source
-	 *  path computer
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id source path computer identifier
-	 * @return the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id);	
-	
-	/**
-	 * Return <code>true</code> if there is a launch configuration with the specified name, 
-	 * <code>false</code> otherwise.
-	 * 
-	 * @return whether a launch configuration already exists with the given name
-	 * @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;
-	
-	/**
-	 * Returns whether the given launch is currently registered.
-	 * 
-	 * @param launch a launch
-	 * @return whether the launch is currently registered
-	 * @since 3.1
-	 */
-	public boolean isRegistered(ILaunch launch);
-	
-	/**
-	 * 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;
-
-	/**
-	 * 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 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);
-
-	/**
-	 * 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);
-	
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to unregister
-	 * @since 2.1
-	 */
-	public void removeLaunchListener(ILaunchesListener listener);
-	
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to unregister
-	 */
-	public void removeLaunchListener(ILaunchListener listener);
-	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
deleted file mode 100644
index 248c820..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A launch mode. The debug platform contributes launch modes
- * for run, debug, and profile. Clients may contribute additional launch
- * modes in plug-in XML via the <code>launchModes</code> extension point.
- * <p>
- * Following is an example launch mode contribution for profiling. A launch
- * mode has an unique identifier specified by the <code>mode</code> attribute
- * and a human readable label specified by the <code>label</code> attribute.
- * <pre>
- *  &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
- *   &lt;launchMode
- *    mode=&quot;profile&quot;
- *    label=&quot;Profile&quot;&gt;
- *   &lt;/launchMode&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchMode {
-	
-	/**
-	 * Returns the unique identifier for this launch mode.
-	 * 
-	 * @return the unique identifier for this launch mode
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns a human readable label for this launch mode.
-	 * 
-	 * @return a human readable label for this launch mode
-	 */
-	public String getLabel();
-	
-	/**
-	 * Returns a human readable label for this launch mode when used in a
-	 * cascade menu. For example, "Run As". Allows the label to be
-	 * properly externalized.
-	 * <p>
-	 * A new attribute has been added the the launch mode extension in 3.2
-	 * to specify this label. When unspecified a default label is generated
-	 * by concatenation, for backwards compatibility.
-	 * </p>
-	 * @return human readable label for this launch mode when used in a
-	 * cascade menu
-	 * @since 3.2
-	 */
-	public String getLaunchAsLabel();
-}
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 1c93c48..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 analogous to <code>ILaunchListerner</code>, except
- * notifications are batched to include more than one launch object
- * when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchManager
- * @since 2.1
- */
-public interface ILaunchesListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launches have been removed.
-	 *
-	 * @param launches the removed launch objects
-	 */
-	public void launchesRemoved(ILaunch[] launches);
-	/**
-	 * Notifies this listener that the specified launches
-	 * have been added.
-	 * 
-	 * @param launches the newly added launch objects
-	 */
-	public void launchesAdded(ILaunch[] launches);	
-	/**
-	 * Notifies this listener that the specified launches
-	 * have changed. For example, a process or debug target
-	 * has been added to a launch.
-	 * 
-	 * @param launches the changed launch object
-	 */
-	public void launchesChanged(ILaunch[] launches);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
deleted file mode 100644
index 7bf7022..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * Enhancements to the launches listener interface. Provides notification
- * when one or more launches terminate.
- * <p>
- * Clients implementing launches listener may implement
- * this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchesListener2 extends ILaunchesListener {
-	
-	/**
-	 * Notification that the given launches have terminated.
-	 * 
-	 * @param launches the launches that have terminated
-	 */
-	public void launchesTerminated(ILaunch[] launches);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
deleted file mode 100644
index df4fb48..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Provides logical structure types applicable to a raw implementation value from
- * a debug model. Associated with a logical structure provider extension.
- * <p>
- * The following is an example of a logical structure provider extension:
- * <pre>
- *  &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureProviders&quot;&gt;
- *   &lt;logicalStructureProvider
- *    class=&quot;com.example.ExampleLogicalStructureProvider&quot;
- *    modelIdentifier=&quot;com.example.debug.model&quot;&gt;
- *   &lt;/logicalStructureProvider&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * In the example above, the specified logical structure provider will be consulted for
- * alternative logical structures for values from the <code>com.example.debug.model</code>
- * debug model as they are displayed in the variables view.
- * </p>
- * <p>
- * Clients contributing logical structure providers must implement this
- * interface.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureProvider {
-	
-	/**
-	 * Returns the logical structure types which are applicable to the given value.
-	 * 
-	 * @param value value for which logical structure types are being requested
-	 * @return the logical structure types which are applicable to the given value
-	 */
-	public ILogicalStructureType[] getLogicalStructureTypes(IValue value);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
deleted file mode 100644
index ae049d5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2;
-
-/**
- * Provides a value representing the logical structure of a raw implementation value
- * from a debug model. Logical structures are useful for navigating complex data
- * structures. Logical structure types are contributed via extensions in plug-in XML,
- * and provide a delegate for performing logical value computation. Logical 
- * structure types can be retrieved from the <code>DebugPlugin</code>.
- * <p>
- * Following is example plug-in XML to define a logical structure type.
- * </p>
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureTypes&quot;&gt;
- *  &lt;logicalStructureType
- *   id=&quot;com.example.ExampleLogicalStructure&quot;
- *   class=&quot;com.example.ExampleLogicalStructureDelegate&quot;
- *   modelIdentifier=&quot;com.example.debug.model&quot;
- *   description=&quot;Ordered Collection&quot;&gt;
- *  &lt;/logicalStructureType&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * The attributes are specified as follows:
- * <ul>
- * <li>id - unique identifier for this logical structure type</li>
- * <li>class - fully qualified name of class that implements 
- *   <code>ILogicalStructureTypeDelegate</code></li>
- * <li>modelIdentifier - identifier of the debug model this logical structure
- *   type is associated with</li>
- * <li>description - description of the logical structure provided</li>
- * </ul>
- * </p>
- * <p>
- * Clients contributing logicalStructureType extensions are not intended to implement
- * this interface. Rather, they provide an <code>ILogicalStructureTypeDelegate</code>
- * that optionally implements <code>ILogicalStructureTypeDelegate2</code> to provide
- * dynamic descriptions of logical structures.
- * Since 3.1, clients contributing logicalStructureProviders extensions may implement this
- * interface to return a collection of logical structure types applicable to a value.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate
- * @see org.eclipse.debug.core.ILogicalStructureProvider
- */
-public interface ILogicalStructureType extends ILogicalStructureTypeDelegate, ILogicalStructureTypeDelegate2 {
-	
-	/**
-	 * Returns a simple description of the logical structure provided by this
-	 * structure type.
-	 * <p>
-	 * Since 3.1, this method can return <code>null</code> if this logical structure
-	 * type's delegate implements <code>ILogicalStructureTypeDelegate2</code>.
-	 * </p>
-	 * 
-	 * @return a simple description of the logical structure provided by this
-	 * structure type, possibly <code>null</code>
-	 */
-	public String getDescription();
-	
-	/**
-	 * Returns this logical structure type's unique identifier, as defined
-	 * in plug-in XML.
-	 * 
-	 * @return this logical structure type's unique identifier
-	 */
-	public String getId();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
deleted file mode 100644
index 65ff4d5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-/**
- * A memory block listener is notified of the addition and removal
- * of memory blocks with the memory block manager. Listeners must
- * register with the memory block manager for notification.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IMemoryBlockListener {
-	
-	/**
-	 * Notification the given memory blocks have been added to the
-	 * memory block manager.
-	 * 
-	 * @param memory blocks added to the memory block manager
-	 */
-	void memoryBlocksAdded(IMemoryBlock[] memory);
-
-	/**
-	 * Notification the given memory blocks have been removed from
-	 * the memory block manager.
-	 * 
-	 * @param memory blocks removed from the memory block manager
-	 */
-	void memoryBlocksRemoved(IMemoryBlock[] memory);
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
deleted file mode 100644
index bbafff8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Manages registered memory blocks in the workspace. Clients
- * interested in notification of the addition and removal of 
- * memory blocks may register as a memory block listener with 
- * the memory block manager.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.model.IMemoryBlock
- * @see org.eclipse.debug.core.IMemoryBlockListener
- * @since 3.1
- */
-public interface IMemoryBlockManager {
-
-	/**
-	 * Adds the given memory blocks to the memory block manager.
-	 * Registered memory block listeners are notified of the additions.
-	 * Has no effect on memory blocks that are already registered.
-	 *   
-	 * @param memoryBlocks memory blocks to add
-	 */
-	public void addMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
-	/**
-	 * Removes the given memory blocks from the memory block manager.
-	 * Registered memory block listeners are notified of the removals.
-	 * Has no effect on memory blocks that are not currently registered.
-	 * 
-	 * @param memoryBlocks memory blocks to remove
-	 */
-	public void removeMemoryBlocks(IMemoryBlock[] memoryBlocks);
-	
-	/**
-	 * Registers the given listener for memory block addition and
-	 * removal notification. Has no effect if an identical listener
-	 * is already registered.
-	 *    
-	 * @param listener the listener to add
-	 */
-	public void addListener(IMemoryBlockListener listener);
-	
-	/**
-	 * Unregisters the given listener for memory block addition and
-	 * removal notification. Has no effect if an identical listener
-	 * is not already registered.
-	 * 
-	 * @param listener the listener to remove
-	 */
-	public void removeListener(IMemoryBlockListener listener);
-	
-	/**
-	 * Returns all registered memory blocks.
-	 * 
-	 * @return all registered memory blocks
-	 */
-	public IMemoryBlock[] getMemoryBlocks();
-	
-	/**
-	 * Returns all registered memory blocks associated with the
-	 * given debug target. That is, all registered memory blocks
-	 * whose <code>getDebugTarget()</code> method returns the
-	 * specified debug target.
-	 * 
-	 * @param debugTarget target for which memory blocks have been requested
-	 * @return all registered memory blocks associated with the given debug
-	 *  target
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget);
-	
-	/**
-	 * Returns all registered memory blocks that originated from the
-	 * given memory retrieval source.
-	 * 
-	 * @param source source for which memory blocks have been requested
-	 * @return all registered memory blocks that originated from the
-	 *  given memory retrieval source
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval source);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
deleted file mode 100644
index 802ffc9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import java.util.Map;
-
-import org.eclipse.debug.core.model.IProcess;
-
-/**
- * A process factory is used to override default process (<code>IProcess</code>)
- * creation by the debug plug-in, and can be contributed via plug-in XML. When a
- * new process is created via <code>DebugPlugin.newProcess(..)</code>, the
- * launch configuration associated with the specified launch is consulted for
- * a process factory attribute (<code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>). If
- * present, the associated process factory is consulted to create a process for
- * the launch. If not present a default process implementation is created and
- * returned by the debug plug-in.
- * <p>
- * Following is example plug-in XML that contributes a process factory.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.processFactories"&gt;
- *   &lt;processFactory
- *           id="com.example.ExampleIdentifier"
- *           class="com.example.ExampleProcessFactory"&gt;
- *   &lt;/processFactory&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li>id - a unique identifier for this extension point</li>
- * <li>class - the fully qualified name of a class the implements
- *   <code>IProcessFactory</code></li>
- * </ul>
- * </p>
- * <p>
- * Clients contributing a process factory are intended to implement this interface.
- * </p>
- * @since 3.0
- */
-
-public interface IProcessFactory {
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch, and the process is initialized
-	 * with the given attribute map.
-	 *
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param attributes initial values for the attribute map
-	 * @return the process
-	 * @see IProcess
-	 */
-	public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java
deleted file mode 100644
index 1bec072..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IRequest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * Common base interface for an asynchronously processed request. A request may succeed,
- * fail or be canceled as indicated by the request's status. When a request is complete
- * the client fulfilling the request must call <code>done()</code> on the request whether
- * the operation succeeds, fails, or is canceled.
- * <p>
- * Specific requests (sub types of this interface) often include data pertaining to
- * the request and usually contain results of the request.
- * </p>
- * <p>
- * Clients are expected to poll a request (using <code>isCanceled</code>)
- * periodically and abort at their earliest convenience calling <code>done()</code>.
- * A request can be canceled by the originator of the request or a client
- * fulfilling a request. 
- * </p>
- * <p>
- * Clients that invoke request handlers may implemented this interface.
- * </p>
- * @since 3.3
- */
-public interface IRequest {
-
-    /**
-     * Sets the status for this request indicating whether this request
-     * succeeded, failed, or was canceled. When a request fails, the status
-     * indicates why the request failed. A <code>null</code> status is considered
-     * to be successful. Only clients fulfilling a request should call this
-     * method. Clients making a request are not intended to call this method.
-     * 
-     * @param status request status or <code>null</code>
-     */
-    public void setStatus(IStatus status);
-    
-    /**
-     * Returns the status of this request, or <code>null</code>.
-     * 
-     * @return request status - <code>null</code> is equivalent
-     *  to an OK status
-     */
-    public IStatus getStatus();
-    
-    /**
-     * Indicates this request is complete. Clients must call this method
-     * whether the request succeeds, fails, or is cancelled to indicate that
-     * processing is complete. Only clients fulfilling a request should call this
-     * method. Clients making a request are not intended to call this method.
-     */
-    public void done();
-    
-    /**
-     * Cancels this request. A request may be canceled by the originator of request
-     * or a client fulfilling a request. Optionally a canceled status may be set on
-     * this request with more details. A client fulfilling a request must still call
-     * <code>done()</code> to indicate the request is complete.
-     */
-    public void cancel();
-    
-    /**
-     * Returns whether this request has been canceled.
-     * <p>
-     * Clients fulfilling a request are expected to poll a request (using <code>isCanceled</code>)
-     * periodically and abort at their earliest convenience calling <code>done()</code>.
-     * A request can be canceled by the originator of the request or a processor fulfilling a
-     * request. 
-     * </p>
-     * @return whether this request has been canceled
-     */
-    public boolean isCanceled();
-    
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
deleted file mode 100644
index 571b064..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A status handler registers to handle a specific status - error
- * or otherwise. Provides a mechanism for separating core (headless)
- * function from UI interaction. The debug plug-in provides a
- * status handlers extension point, against which handlers can
- * register for specific status codes - identified by plug-in
- * identifier and plug-in specific status code. The interaction between
- * an object requiring a status handler (source), and the status handler
- * is defined by the source and handler.
- * <p>
- * For example, a launch configuration delegate might encounter a timeout
- * while launching an application. In this case the delegate could abort
- * or, via the use of a status handler, prompt the user to continue. This
- * allows the launcher to be implemented in a plug-in that does not require
- * UI support, and allows another (UI) plug-in to register a handler.
- * </p>
- * <p>
- * A status handler extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a status handler extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
- *   &lt;statusHandler 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleStatusHandler"
- *      plugin="com.example.ExamplePluginId"
- *      code="123"&gt;
- *   &lt;/statusHandler&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this status handler.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IStatusHandler</code>.</li>
- * <li><code>plugin</code> plug-in identifier that corresponds to the
- *   plug-in of the status this handler is registered for (i.e.
- *   <code>IStatus.getPlugin()</code>).</li>
- * <li><code>code</code> specifies the status code this handler
- *   is registered for.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin#getStatusHandler(IStatus)
- * @since 2.0
- */
-
-public interface IStatusHandler {
-
-	/**
-	 * Notifies this status handler that the given status has been
-	 * generated by the specified source object and requires resolution.
-	 * 
-	 * @param status the status to handle
-	 * @param source the object delegating to this status handler
-	 *   the given status
-	 * @return an object representing the resolution of the status
-	 * @exception CoreException if unable to resolve the status
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
deleted file mode 100644
index a074c89..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-
-/**
- * A stream listener is notified of changes
- * to a stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStreamMonitor
- */
-public interface IStreamListener {
-	/**
-	 * Notifies this listener that text has been appended to
-	 * the given stream monitor.
-	 *
-	 * @param text the appended text
-	 * @param monitor the stream monitor to which text was appended
-	 */
-	public void streamAppended(String text, IStreamMonitor monitor);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
deleted file mode 100644
index 6cd9962..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ /dev/null
@@ -1,594 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Pawel Piech - Bug 82003: The IDisconnect implementation by Launch module is too restrictive.
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.LaunchManager;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes. This class provides
- * a public implementation of <code>ILaunch</code> for client
- * use.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class.
- * </p>
- * @see ILaunch
- * @see ILaunchManager
- */
-
-public class Launch extends PlatformObject implements ILaunch, IDisconnect, ILaunchListener, ILaunchConfigurationListener, IDebugEventSetListener {
-	
-	/**
-	 * The debug targets associated with this
-	 * launch (the primary target is the first one
-	 * in this collection), or empty if
-	 * there are no debug targets.
-	 */
-	private List fTargets= new ArrayList();
-
-	/**
-	 * The configuration that was launched, or null.
-	 */
-	private ILaunchConfiguration fConfiguration= null;
-
-	/**
-	 * The system processes associated with
-	 * this launch, or empty if none.
-	 */
-	private List fProcesses= new ArrayList();
-
-	/**
-	 * The source locator to use in the debug session
-	 * or <code>null</code> if not supported.
-	 */
-	private ISourceLocator fLocator= null;
-
-	/**
-	 * The mode this launch was launched in.
-	 */
-	private String fMode;
-	
-	/**
-	 * Table of client defined attributes
-	 */
-	private HashMap fAttributes;	
-	
-	/**
-	 * Flag indicating that change notification should
-	 * be suppressed. <code>true</code> until this
-	 * launch has been initialized.
-	 */
-	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) {		
-		fConfiguration = launchConfiguration;
-		setSourceLocator(locator);
-		fMode = mode;
-		fSuppressChange = false;
-		getLaunchManager().addLaunchListener(this);
-		getLaunchManager().addLaunchConfigurationListener(this);
-	}
-	
-	/**
-	 * Registers debug event listener.
-	 */
-	private void addEventListener() {
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * Removes debug event listener.
-	 */
-	private void removeEventListener() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		List processes = getProcesses0();
-		for (int i = 0; i < processes.size(); i++) {
-			IProcess process = (IProcess)processes.get(i);
-			if (process.canTerminate()) {
-				return true;
-			}
-		}
-		List targets = getDebugTargets0();
-		for (int i = 0; i < targets.size(); i++) {
-			IDebugTarget target = (IDebugTarget)targets.get(i);
-			if (target.canTerminate() || target.canDisconnect()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see ILaunch#getChildren()
-	 */
-	public Object[] getChildren() {
-		ArrayList children = new ArrayList(getDebugTargets0());
-		children.addAll(getProcesses0());
-		return children.toArray();
-	}
-
-	/**
-	 * @see ILaunch#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		if (!getDebugTargets0().isEmpty()) {
-			return (IDebugTarget)getDebugTargets0().get(0);
-		}
-		return null;
-	}
-		
-	/**
-	 * @see ILaunch#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		return (IProcess[])getProcesses0().toArray(new IProcess[getProcesses0().size()]);
-	}
-	
-	/**
-	 * Returns the processes associated with this
-	 * launch, in its internal form - a list.
-	 * 
-	 * @return list of processes
-	 */
-	protected List getProcesses0() {
-		return fProcesses;
-	}	
-	
-	/**
-	 * @see ILaunch#getSourceLocator()
-	 */
-	public ISourceLocator getSourceLocator() {
-		return fLocator;
-	}
-	
-	/**
-	 * @see ILaunch#setSourceLocator(ISourceLocator)
-	 */
-	public void setSourceLocator(ISourceLocator sourceLocator) {
-		fLocator = sourceLocator;
-	}	
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		if (getProcesses0().isEmpty() && getDebugTargets0().isEmpty()) {
-			return false;
-		}
-
-		Iterator processes = getProcesses0().iterator();
-		while (processes.hasNext()) {
-			IProcess process = (IProcess)processes.next();
-			if (!process.isTerminated()) {
-				return false;
-			}
-		}
-		
-		Iterator targets = getDebugTargets0().iterator();
-		while (targets.hasNext()) {
-			IDebugTarget target = (IDebugTarget)targets.next();
-			if (!(target.isTerminated() || target.isDisconnected())) {
-				return false;
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		MultiStatus status= 
-			new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.Launch_terminate_failed, null); 
-		
-		// terminate the system processes
-		IProcess[] processes = getProcesses();
-		for (int i = 0; i < processes.length; i++) {
-			IProcess process = processes[i];
-			if (process.canTerminate()) {
-				try {
-					process.terminate();
-				} catch (DebugException e) {
-					status.merge(e.getStatus());
-				}
-			}
-		}
-		
-		// terminate or disconnect debug target if it is still alive
-		IDebugTarget[] targets = getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			IDebugTarget target= targets[i];
-			if (target != null) {
-				if (target.canTerminate()) {
-					try {
-						target.terminate();
-					} catch (DebugException e) {
-						status.merge(e.getStatus());
-					}
-				} else {
-					if (target.canDisconnect()) {
-						try {
-							target.disconnect();
-						} catch (DebugException de) {
-							status.merge(de.getStatus());
-						}
-					}
-				}
-			}
-		}
-		if (status.isOK()) {
-			return;
-		}
-		IStatus[] children= status.getChildren();
-		if (children.length == 1) {
-			throw new DebugException(children[0]);
-		} 
-		throw new DebugException(status);
-	}
-
-	/**
-	 * @see ILaunch#getLaunchMode()
-	 */
-	public String getLaunchMode() {
-		return fMode;
-	}
-	
-	/**
-	 * @see ILaunch#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfiguration;
-	}
-
-	/**
-	 * @see ILaunch#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		fAttributes.put(key, value);		
-	}
-
-	/**
-	 * @see ILaunch#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-
-	/**
-	 * @see ILaunch#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		return (IDebugTarget[])fTargets.toArray(new IDebugTarget[fTargets.size()]);
-	}
-	
-	/**
-	 * Returns the debug targets associated with this
-	 * launch, in its internal form - a list
-	 * 
-	 * @return list of debug targets
-	 */
-	protected List getDebugTargets0() {
-		return fTargets;
-	}	
-
-	/**
-	 * @see ILaunch#addDebugTarget(IDebugTarget)
-	 */
-	public void addDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (!getDebugTargets0().contains(target)) {
-				addEventListener();
-				getDebugTargets0().add(target);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeDebugTarget(IDebugTarget)
-	 */
-	public void removeDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (getDebugTargets0().remove(target)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * @see ILaunch#addProcess(IProcess)
-	 */
-	public void addProcess(IProcess process) {
-		if (process != null) {
-			if (!getProcesses0().contains(process)) {
-				addEventListener();
-				getProcesses0().add(process);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeProcess(IProcess)
-	 */
-	public void removeProcess(IProcess process) {
-		if (process != null) {
-			if (getProcesses0().remove(process)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * Adds the given processes to this launch.
-	 * 
-	 * @param processes processes to add
-	 */
-	protected void addProcesses(IProcess[] processes) {
-		if (processes != null) {
-			for (int i = 0; i < processes.length; i++) {
-				addProcess(processes[i]);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners that this launch has changed.
-	 * Has no effect of this launch has not yet been
-	 * properly created/initialized.
-	 */
-	protected void fireChanged() {
-		if (!fSuppressChange) {
-			((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.CHANGED);
-			((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.CHANGED);
-		}
-	}
-
-	/**
-	 * Notifies listeners that this launch has terminated.
-	 * Has no effect of this launch has not yet been
-	 * properly created/initialized.
-	 */
-	protected void fireTerminate() {
-		if (!fSuppressChange) {
-			((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.TERMINATE);
-			((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.TERMINATE);
-		}
-		removeEventListener();
-	}
-	
-	/**
-	 * @see ILaunch#hasChildren()
-	 */
-	public boolean hasChildren() {
-		return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0);
-	}
-	
-	/**
-     * Returns whether any processes or targets can be disconnected. 
-     * Ones that are already terminated or disconnected are ignored.
-     * 
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
-	public boolean canDisconnect() {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect process = (IDisconnect)processes.get(i); 
-                if (process.canDisconnect()) {
-                    return true;
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            if ( ((IDebugTarget)targets.get(i)).canDisconnect() ) {
-                return true;
-            }
-        }
-        return false;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
-	public void disconnect() throws DebugException {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect disconnect = (IDisconnect)processes.get(i);
-                if (disconnect.canDisconnect()) {
-                    disconnect.disconnect();
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            IDebugTarget debugTarget = (IDebugTarget)targets.get(i);
-            if (debugTarget.canDisconnect()) {
-                debugTarget.disconnect();
-            }
-        }
-	}
-
-	/**
-     * Returns whether all of the contained targets and processes are 
-     * disconnected. Processes that don't support disconnecting are not 
-     * counted.
-     * 
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
-	public boolean isDisconnected() {
-        List processes = getProcesses0();
-        for (int i = 0; i < processes.size(); i++) {
-            if (processes.get(i) instanceof IDisconnect) {
-                IDisconnect process = (IDisconnect)processes.get(i); 
-                if (!process.isDisconnected()) {
-                    return false;
-                }
-            }
-        }
-        List targets = getDebugTargets0();
-        for (int i = 0; i < targets.size(); i++) {
-            if ( !((IDebugTarget)targets.get(i)).isDisconnected() ) {
-                return false;
-            }
-        }
-        // only return true if there are processes or targets that are disconnected
-        return hasChildren();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch)) {
-			removeEventListener();
-			getLaunchManager().removeLaunchListener(this);
-			getLaunchManager().removeLaunchConfigurationListener(this);
-		}
-	}
-
-	/**
-	 * Returns the launch manager.
-	 * 
-	 * @return the launch manager.
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * If the launch configuration this launch is associated with is
-	 * moved, update the underlying handle to the new location.
-	 *  
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		ILaunchConfiguration from = getLaunchManager().getMovedFrom(configuration);
-		if (from != null && from.equals(getLaunchConfiguration())) {
-			fConfiguration = configuration;
-			fireChanged();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {}
-
-	/* (non-Javadoc)
-	 * 
-	 * Update the launch configuration associated with this launch if the
-	 * underlying configuration is deleted.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		if (configuration.equals(getLaunchConfiguration())) {
-			if (getLaunchManager().getMovedTo(configuration) == null) {
-				fConfiguration = null;
-				fireChanged();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE) {
-				Object object = event.getSource();
-				ILaunch launch = null;
-				if (object instanceof IProcess) {
-					launch = ((IProcess)object).getLaunch();
-				} else if (object instanceof IDebugTarget) {
-					launch = ((IDebugTarget)object).getLaunch();
-				}
-				if (this.equals(launch)) {
-					if (isTerminated()) {
-						fireTerminate();
-					}
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(ILaunch.class)) {
-			return this;
-		}
-		//CONTEXTLAUNCHING
-		if(adapter.equals(ILaunchConfiguration.class)) {
-			return getLaunchConfiguration();
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java
deleted file mode 100644
index 437882b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-
-
-/**
- * Handles a command for a debugger. Specific command handlers extend this interface.
- * <p>
- * The debug platform provides actions for common debug commands that operate against
- * these handler interfaces. For example, the platform provides a terminate action that
- * operates on the active debug context (selected element in the debug view). The action
- * delegates to the active context's {@link ITerminateHandler} implementation to update
- * its enabled state and execute the command. Debug model elements may implement supported
- * command handler interfaces directly or provide them as adapters. The debug platform
- * provides implementations of handlers for standard debug models. 
- * </p>
- * <p>
- * Clients are not intended to implement this interface directly. Clients may 
- * implement specific command handler interfaces that extend this interface.
- * </p>
- * @see org.eclipse.core.runtime.IAdaptable
- * @see IDisconnectHandler
- * @see IDropToFrameHandler
- * @see IResumeHandler
- * @see IStepFiltersHandler
- * @see IStepIntoHandler
- * @see IStepOverHandler
- * @see IStepReturnHandler
- * @see ISuspendHandler
- * @see ITerminateHandler
- * @since 3.3
- */
-public interface IDebugCommandHandler {
-	
-	/**
-	 * Determines whether this handler can execute on the elements specified
-	 * in the given request by reporting enabled state to the request.
-	 * <p>
-	 * Implementations must be non-blocking and may respond asynchronously to the
-	 * given request. Errors can reported by setting an appropriate status
-	 * on the given request. A request can be canceled by this handler or caller.
-	 * A <code>null</code> status is equivalent to an OK status.
-	 * When a request succeeds, fails, or is canceled, implementations must call
-	 * <code>done()</code> on the given request.
-	 * </p>
-	 * <p>
-	 * Clients are expected to poll the request (using <code>isCanceled</code>)
-	 * periodically and abort at their earliest convenience calling <code>done()</code>
-	 * on the request.
-	 * </p>
-	 * @param request specifies elements to operate on and collects enabled state
-	 */
-	public void canExecute(IEnabledStateRequest request);
-	
-	/**
-	 * Executes this command on the elements specified in the given request
-	 * reporting status to the given request and returns whether this handler should
-	 * remain enabled while the command is executing.
-	 * <p>
-	 * Implementations must be non-blocking and may respond asynchronously to the
-	 * given request. Errors can reported by setting an appropriate status
-	 * on the given request. A request can be canceled by this handler or the caller. 
-	 * A <code>null</code> status is equivalent to an OK status. When a request is
-	 * complete, has encountered an error, or cancelled, implementations must call
-	 * <code>done()</code> on the given collector.
-	 * </p>
-	 * <p>
-	 * Handlers are expected to poll the request (using <code>isCanceled</code>)
-	 * periodically and abort at their earliest convenience calling <code>done()</code>
-	 * on the request.
-	 * </p>
-	 * @param request specifies elements to operate on and collects execution status
-	 * @return whether this handler remains enabled while command is executing
-	 */
-	public boolean execute(IDebugCommandRequest request);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
deleted file mode 100644
index b721005..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDebugCommandRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-import org.eclipse.debug.core.IRequest;
-
-/**
- * A request to execute a command on specific elements. A debug command request is 
- * passed to a {@link IDebugCommandHandler} when a command is invoked.
- * <p>
- * Clients that invoke command handlers may implement this interface.
- * </p>
- * @since 3.3
- */
-public interface IDebugCommandRequest extends IRequest {
-
-	/**
-	 * Returns the elements to execute a command on.
-	 * 
-	 * @return elements to execute a command on
-	 */
-	public Object[] getElements();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDisconnectHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDisconnectHandler.java
deleted file mode 100644
index 99b9bd8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDisconnectHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A disconnect handler disconnects the debug user interface from
- * a debug session. Typically a disconnect handler is supported by remote
- * debuggers allowing the debug user interface to disconnect and the
- * remote process to continue.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * disconnect action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the disconnect handler registered
- * as an adapter on objects that implement {@link org.eclipse.debug.core.model.IDisconnect}.
- * </p>
- * @since 3.3
- */
-public interface IDisconnectHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDropToFrameHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDropToFrameHandler.java
deleted file mode 100644
index d600c09..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IDropToFrameHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A drop to frame handler typically resets a program's instruction pointer
- * to the first executable line of code associated with a stack frame.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * drop to frame action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the drop to frame handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.IDropToFrame}.
- * </p>
- * @since 3.3
- */
-public interface IDropToFrameHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
deleted file mode 100644
index ee3e5b5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IEnabledStateRequest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-
-
-/**
- * A request to update the enabled state of a command. A enabled state request
- * is passed to a {@link IDebugCommandHandler} to update the enabled state of
- * the handler.
- * <p>
- * Clients than invoke command handlers may implement this interface.
- * </p>
- * @since 3.3
- */
-public interface IEnabledStateRequest extends IDebugCommandRequest {
-
-	/**
-	 * Sets the enabled state of a command handler.
-	 * 
-	 * @param result whether enabled
-	 */
-	public void setEnabled(boolean result);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IResumeHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IResumeHandler.java
deleted file mode 100644
index 6df44ef..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IResumeHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A resume handler typically resumes execution of a suspended thread or target.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * resume action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the resume handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.ISuspendResume}.
- * </p>
- * @since 3.3
- */
-public interface IResumeHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
deleted file mode 100644
index 5d0b739..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepFiltersHandler.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A step filters handler typically toggles the use of step filters
- * in a debug session based on the user preference setting. To determine if step filters
- * should be enabled use the method <code>isUseStepFilters()</code> in
- * {@link DebugPlugin}. 
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * toggle step filters action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the step filters handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.IStepFilters}.
- * </p>
- * @since 3.3
- */
-public interface IStepFiltersHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepIntoHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepIntoHandler.java
deleted file mode 100644
index 96a38cb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepIntoHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A step into handler typically steps into the next instruction to
- * be executed.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * step into action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the step into handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.IStep}.
- * </p>
- * @since 3.3
- */
-public interface IStepIntoHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepOverHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepOverHandler.java
deleted file mode 100644
index 14e3b0e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepOverHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A step over handler typically steps over the next instruction or line
- * of code to be executed.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * step over action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the step over handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.IStep}.
- * </p>
- * @since 3.3
- */
-public interface IStepOverHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepReturnHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepReturnHandler.java
deleted file mode 100644
index 01a8eda..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/IStepReturnHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A step return handler typically steps out of the current method or function
- * that the debugger is suspended in.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * step return action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the step return handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.IStep}.
- * </p>
- * @since 3.3
- */
-public interface IStepReturnHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ISuspendHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ISuspendHandler.java
deleted file mode 100644
index 39dc939..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ISuspendHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A suspend handler typically suspends an executing thread or target.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * suspend action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the suspend handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.ISuspendResume}.
- * </p>
- * @since 3.3
- */
-public interface ISuspendHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ITerminateHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ITerminateHandler.java
deleted file mode 100644
index db26008..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/ITerminateHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.commands;
-
-/**
- * A terminate handler typically terminates an executing thread or target.
- * <p>
- * Clients may implement this interface. The debug platform provides a
- * terminate action that delegates to this handler interface. As well, the
- * debug platform provides an implementation of the terminate handler registered
- * as an adapter on objects that implement
- * {@link org.eclipse.debug.core.model.ITerminate}.
- * </p>
- * @since 3.3
- */
-public interface ITerminateHandler extends IDebugCommandHandler {
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/package.html
deleted file mode 100644
index 5bae793..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/commands/package.html
+++ /dev/null
@@ -1,29 +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>Debug Commands</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides a set of interfaces for common debug commands.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set interfaces for common debug commands. A debug command 
-  represent a debugger function that can be enabled or disabled and executed. 
-  The debug platform provides actions corresponding to the common debug commands. 
-  The actions delegate to the command handler interfaces to determine enabled 
-  state and execute.</p>
-<p>A debugger implementation can provide its own implementation of a command by 
-  implementing a command handler interface directly, or by registering an adapter 
-  that implements the command handler interface. The debug platform's actions 
-  update enabled state and execute based on the active debug context. The debug 
-  platform provides implementations of handlers for the common debug commands 
-  for debuggers that are an implementation of the standard debug model. For example, 
-  the debug platform registers an <code>IStepOverHandler</code> adapter for implementations 
-  of <code>IStep</code>.</p>
-</body>
-</html>
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 3fd04ff..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Abstract implementation of a breakpoint. This class is
- * intended to be subclassed by implementations
- * of breakpoints.
- * 
- * @see IBreakpoint
- * @since 2.0
- */
-
-public abstract class Breakpoint extends PlatformObject implements IBreakpoint {
-	
-	static {
-		// making sure that the BreakpointManager is correctly initialized
-		// before any breakpoint marker related operation (see bug 54993)
-		DebugPlugin.getDefault().getBreakpointManager().getBreakpoints();
-	}
-				
-	/**
-	 * Underlying marker.
-	 */
-	private IMarker fMarker= null;
-	
-	/**
-	 * @see IBreakpoint#setMarker(IMarker)
-	 */
-	public void setMarker(IMarker marker) throws CoreException {
-		fMarker= marker;
-	}
-	
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object item) {
-		if (item instanceof IBreakpoint) {
-			return getMarker().equals(((IBreakpoint)item).getMarker());
-		}
-		return false;
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getMarker().hashCode();
-	}
-		
-	/**
-	 * @see IBreakpoint#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) throws CoreException {
-		if (enabled != isEnabled()) {
-			setAttribute(ENABLED, enabled);
-		}
-	}
-	
-	/**
-	 * @see IBreakpoint#isEnabled()
-	 */
-	public boolean isEnabled() throws CoreException {
-		return getMarker().getAttribute(ENABLED, false);
-	}
-	
-	/**
-	 * @see IBreakpoint#isRegistered()
-	 */
-	public boolean isRegistered() throws CoreException {
-			IMarker marker= getMarker();
-			return marker.exists() && marker.getAttribute(REGISTERED, true);
-	}	
-	
-	/**
-	 * @see IBreakpoint#setRegistered(boolean)
-	 */
-	public void setRegistered(boolean registered) throws CoreException {
-		if (isRegistered() != registered) {
-			setAttribute(REGISTERED, registered);
-			IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();
-			if (registered) {
-				mgr.addBreakpoint(this);
-			} else {
-				mgr.removeBreakpoint(this, false);
-			}
-		}
-	}	
-
-	/**
-	 * @see IBreakpoint#delete()
-	 */
-	public void delete() throws CoreException {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(this, false);
-		getMarker().delete();
-	}
-
-	/**
-	 * @see IBreakpoint#getMarker()
-	 */
-	public IMarker getMarker() {
-		return fMarker;
-	}
-
-	/**
-	 * @see IBreakpoint#isPersisted()
-	 */
-	public boolean isPersisted() throws CoreException {
-		return getMarker().getAttribute(PERSISTED, true);
-	}
-
-	/**
-	 * @see IBreakpoint#setPersisted(boolean)
-	 */
-	public void setPersisted(boolean persisted) throws CoreException {
-		if (isPersisted() != persisted) {
-			setAttributes(new String[] {PERSISTED, IMarker.TRANSIENT}, new Object[] {Boolean.valueOf(persisted), Boolean.valueOf(!persisted)});
-		}
-	}
-	
-	/**
-	 * Convenience method to set the given boolean attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, boolean)
-	 */
-	protected void setAttribute(final String attributeName, final boolean value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-	
-	/**
-	 * Convenience method to set the given integer attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, int)
-	 */
-	protected void setAttribute(final String attributeName, final int value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-
-	/**
-	 * Convenience method to set the given attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	protected void setAttribute(final String attributeName, final Object value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), 0, null);
-	}
-
-	/**
-	 * Convenience method to set the given attributes of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeNames attribute names
-	 * @param values attribute values
-	 * @exception CoreException is setting the attributes fails
-	 * @see IMarker#setAttributes(java.lang.String[], java.lang.Object[])
-	 */
-	protected void setAttributes(final String[] attributeNames, final Object[] values) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttributes(attributeNames, values);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null);
-	}
-
-	/**
-	 * Convenience method to set the attributes of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributes attribute map
-	 * @exception CoreException is setting the attributes fails
-	 * @see IMarker#setAttributes(java.util.Map)
-	 */
-	protected void setAttributes(final Map attributes) throws CoreException{
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttributes(attributes);
-				}
-			};
-			
-		workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null);
-	}
-
-	/**
-	 * Returns the marker associated with this breakpoint.
-	 * 
-	 * @return breakpoint marker
-	 * @exception DebugException if no marker is associated with 
-	 *  this breakpoint or the associated marker does not exist
-	 */
-	protected IMarker ensureMarker() throws DebugException {
-		IMarker m = getMarker();
-		if (m == null || !m.exists()) {
-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED,
-				DebugCoreMessages.Breakpoint_no_associated_marker, null)); 
-		}
-		return m;
-	}
-	
-	/**
-	 * Returns whether this breakpoint has an associated marker that exists.
-	 * 
-	 * @return returns whether this breakpoint has an associated marker that exists
-	 * @since 2.1
-	 */
-	protected boolean markerExists() {
-		IMarker m = getMarker();
-		return (m != null && m.exists());
-	}
-
-	/**
-	 * Returns a scheduling rule to use when modifying markers on the given resource,
-	 * possibly <code>null</code>.
-	 * 
-	 * @param resource a resource on which a marker will be created, modified, or deleted
-	 * @return a scheduling rule to use when modifying markers on the given resource
-	 * 	possibly <code>null</code>
-	 * @since 3.1
-	 */
-    protected ISchedulingRule getMarkerRule(IResource resource) {
-        ISchedulingRule rule = null;
-        if (resource != null) {
-            IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-            rule = ruleFactory.markerRule(resource);
-        }
-        return rule;
-    }
-    
-	/**
-	 * Returns a scheduling rule to use when modifying or deleting this breakpoint's marker, 
-	 * possibly <code>null</code>. This method is only valid when this breakpoint's
-	 * marker has already been created. When creating a marker on a specific resource,
-	 * use <code>getMarkerRule(IResource)</code> instead.
-	 * 
-	 * @return a scheduling rule to use when modifying or deleting this breakpoint's marker
-	 * @since 3.1
-	 */
-    protected ISchedulingRule getMarkerRule() {
-        ISchedulingRule rule = null;
-        IMarker marker = getMarker();
-        if (marker != null) {
-	        IResource resource = marker.getResource();
-	        if (resource != null) {
-	            IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory();
-	            rule = ruleFactory.markerRule(resource);
-	        }
-        }
-        return rule;
-    }
-    
-    /**
-	 * Execute the given workspace runnable with the scheduling rule to use when running the operation.
-	 * 
-	 * @param rule the rule to use when running the operation
-     * @param wr the runnable operation
-     * @throws DebugException If a core exception occurs performing the operation
-	 * @since 3.1
-	 */
-    protected void run(ISchedulingRule rule, IWorkspaceRunnable wr) throws DebugException {
-    	try {
-    		ResourcesPlugin.getWorkspace().run(wr, rule, 0, null);
-    	} catch (CoreException e) {
-    		throw new DebugException(e.getStatus());
-    	}			
-    }  
-    
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
deleted file mode 100644
index 2d13943..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/DebugElement.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Implementation of common function for debug elements.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public abstract class DebugElement extends PlatformObject implements IDebugElement {
-    
-    private IDebugTarget fTarget;
-
-    /**
-     * Constructs a debug element referring to an artifact in the given
-     * debug target.
-     * 
-     * @param target debug target containing this element
-     */
-    public DebugElement(IDebugTarget target) {
-        fTarget = target;
-    }
-
-    /* (non-Javadoc)
-     * 
-     * Debug target implementation should override this method.
-     * 
-     * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-     */
-    public IDebugTarget getDebugTarget() {
-        return fTarget;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-     */
-    public ILaunch getLaunch() {
-        return getDebugTarget().getLaunch();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class adapter) {
-		if (adapter == IDebugElement.class) {
-			return this;
-		}
-		
-		// a debug target may not implement IStepFilters
-		if (adapter == IStepFilters.class) {
-			if (getDebugTarget() instanceof IStepFilters)
-				return getDebugTarget();
-		}
-		if (adapter == IDebugTarget.class) {
-			return getDebugTarget();
-		}
-		if (adapter == ILaunch.class) {
-		    return getLaunch();
-		}
-		if (adapter == IProcess.class) {
-		    return getDebugTarget().getProcess();
-		}
-		//CONTEXTLAUNCHING
-		if(adapter == ILaunchConfiguration.class) {
-			return getLaunch().getLaunchConfiguration();
-		}
-		return super.getAdapter(adapter);
-    }
-
-	/**
-	 * Fires a debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	public void fireEvent(DebugEvent event) {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
-	}    
-
-	/**
-	 * Fires a change event for this debug element
-	 * with the specified detail code.
-	 * 
-	 * @param detail detail code for the change event,
-	 *  such as <code>DebugEvent.STATE</code> or <code>DebugEvent.CONTENT</code>
-	 */
-	public void fireChangeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, detail));
-	}
-	
-	/**
-	 * Fires a creation event for this debug element.
-	 */
-    public void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}	
-	
-	/**
-	 * Fires a resume for this debug element with
-	 * the specified detail code.
-	 * 
-	 * @param detail detail code for the resume event, such 
-	 *  as <code>DebugEvent.STEP_OVER</code>
-	 */
-    public void fireResumeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail));
-	}
-	
-	/**
-	 * Fires a suspend event for this debug element with
-	 * the specified detail code.
-	 * 
-	 * @param detail detail code for the suspend event, such
-	 *  as <code>DebugEvent.BREAKPOINT</code>
-	 */
-    public void fireSuspendEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.SUSPEND, detail));
-	}	
-	
-	/**
-	 * Fires a terminate event for this debug element.
-	 */
-    public void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}	
-	
-	/**
-	 * Throws a debug exception with a status code of <code>TARGET_REQUEST_FAILED</code>.
-	 * 
-	 * @param message exception message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws DebugException
-	 */
-	protected void requestFailed(String message, Throwable e) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-				DebugException.TARGET_REQUEST_FAILED, message, e));
-	}
-	
-	/**
-	 * Throws a debug exception with a status code of <code>NOT_SUPPORTED</code>.
-	 * 
-	 * @param message exception message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws DebugException
-	 */
-	protected void notSupported(String message, Throwable e) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-				DebugException.NOT_SUPPORTED, message, e));
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
deleted file mode 100644
index d258655..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A breakpoint is capable of suspending the execution of a
- * program at a specific location when a program is running
- * in debug mode. Each breakpoint has an associated marker which
- * stores and persists all attributes associated with a breakpoint.
- * <p>
- * A breakpoint is defined in two parts:
- * <ol>
- * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li>
- * <li>By a marker definition that corresponds to the above breakpoint extension</li>
- * </ol>
- * <p>
- * For example, following is a definition of corresponding breakpoint
- * and breakpoint marker definitions. Note that the <code>markerType</code>
- * attribute defined by the breakpoint extension corresponds to the 
- * type of the marker definition.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.breakpoints"&gt;
- *   &lt;breakpoint 
- *      id="com.example.Breakpoint"
- *      class="com.example.Breakpoint"
- *      markerType="com.example.BreakpointMarker"&gt;
- *   &lt;/breakpoint&gt;
- * &lt;/extension&gt;
- * &lt;extension point="org.eclipse.core.resources.markers"&gt;
- *   &lt;marker 
- *      id="com.example.BreakpointMarker"
- *      super type="org.eclipse.debug.core.breakpointMarker"
- *      attribute name ="exampleAttribute"&gt;
- *   &lt;/marker&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * The breakpoint manager instantiates persisted breakpoints by
- * traversing all markers that are a subtype of
- * <code>"org.eclipse.debug.core.breakpointMarker"</code>, and 
- * instantiating the class defined by the <code>class</code> attribute
- * on the associated breakpoint extension. The method <code>setMarker</code>
- * is then called to associate a marker with the breakpoint.
- * </p>
- * <p>
- * Breakpoints may or may not be registered with the breakpoint manager, and
- * are persisted and restored as such. Since marker definitions only allow
- * all or none of a specific marker type to be persisted, breakpoints define
- * a <code>PERSISTED</code> attribute for selective persistence of breakpoints
- * of the same type.
- * </p>
- * 
- * @since 2.0
- */
-
-public interface IBreakpoint extends IAdaptable {
-	
-	/**
-	 * Root breakpoint marker type	
-	 * (value <code>"org.eclipse.debug.core.breakpointMarker"</code>).
-	 */
-	public static final String BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".breakpointMarker"; //$NON-NLS-1$
-	
-	/**
-	 * Line breakpoint marker type
-	 * (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>).
-	 */
-	public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".lineBreakpointMarker"; //$NON-NLS-1$
-			
-	/**
-	 * Enabled breakpoint marker attribute (value <code>"org.eclipse.debug.core.enabled"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to the
-	 * enabled state of a breakpoint.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$
-	
-	/**
-	 * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).
-	 * The attribute is a <code>String</code> corresponding to the
-	 * identifier of the debug model a breakpoint is associated with.
-	 */
-	public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$
-	
-	/**
-	 * Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint has been registered with the breakpoint manager.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String REGISTERED= "org.eclipse.debug.core.registered"; //$NON-NLS-1$	
-	
-	/**
-	 * Persisted breakpoint marker attribute (value <code>"org.eclipse.debug.core.persisted"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint is to be persisted across workspace
-	 * invocations.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$
-	
-	/**
-	 * Deletes this breakpoint's underlying marker, and removes
-	 * this breakpoint from the breakpoint manager.
-	 *
-	 * @exception CoreException if unable to delete this breakpoint's
-	 *  underlying marker
-	 */
-	public void delete() throws CoreException;
-	
-	/**
-	 * Returns the marker associated with this breakpoint, or
-	 * <code>null</code> if no marker is associated with this breakpoint.
-	 * 
-	 * @return associated marker, or <code>null</code> if there is
-	 * 	no associated marker.
-	 */
-	public IMarker getMarker();
-	/**
-	 * Sets the marker associated with this breakpoint. This method is
-	 * called once at breakpoint creation.
-	 * 
-	 * @param marker the marker to associate with this breakpoint
-	 * @exception CoreException if an error occurs accessing the marker
-	 */
-	public void setMarker(IMarker marker) throws CoreException;
-	/**
-	 * Returns the identifier of the debug model this breakpoint is
-	 * associated with.
-	 * 
-	 * @return the identifier of the debug model this breakpoint is
-	 * 	associated with
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns whether this breakpoint is enabled
-	 * 
-	 * @return whether this breakpoint is enabled
-	 * @exception CoreException if unable to access the associated
-	 *  attribute from this breakpoint's underlying marker
-	 */
-	public boolean isEnabled() throws CoreException;
-	/**
-	 * Sets the enabled state of this breakpoint. This has no effect
-	 * if the current enabled state is the same as specified by the
-	 * enabled parameter.
-	 * 
-	 * @param enabled  whether this breakpoint should be enabled
-	 * @exception CoreException if unable to set the associated attribute on
-	 *  this breakpoint's underlying marker.
-	 */
-	public void setEnabled(boolean enabled) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is currently registered with
-	 * the breakpoint manager.
-	 * 
-	 * @return whether this breakpoint is currently registered with
-	 *  the breakpoint manager
-	 * @exception CoreException if unable to access the associated 
-	 *  attribute on this breakpoint's underlying marker
-	 */
-	public boolean isRegistered() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is currently registered with the
-	 * breakpoint manager. 
-	 * 
-	 * @param registered whether this breakpoint is registered with the
-	 *   breakpoint manager
-	 * @exception CoreException if unable to set the associated attribute
-	 *  on this breakpoint's underlying marker.
-	 */
-	public void setRegistered(boolean registered) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Since marker definitions only allow all/none of a specific type
-	 * of marker to be persisted (rather than selected markers of a
-	 * specific type), breakpoints define this functionality.
-	 * 
-	 * @return whether this breakpoint is to be persisted
-	 * @exception CoreException if unable to access the associated attribute
-	 *  on this breakpoint's underlying marker
-	 */
-	public boolean isPersisted() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Has no effect if this breakpoint's marker definition is defined as not
-	 * persisted. Sets the underlying <code>TRANSIENT</code> attribute on this
-	 * breakpoint's marker to <code>true</code>.
-	 * 
-	 * @param registered whether this breakpoint is to be persisted across
-	 * workspace invocations
-	 * @exception CoreException if unable to set the associated attribute on
-	 *  this breakpoint's underlying marker.
-	 */
-	public void setPersisted(boolean registered) throws CoreException;
-    
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
deleted file mode 100644
index a6defd6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A debug element represents an artifact in a program being
- * debugged.
- * <p>
- * Some methods on debug elements require communication
- * with the target program. Such methods may throw a <code>DebugException</code>
- * with a status code of <code>TARGET_REQUEST_FAILED</code>
- * when unable to complete a request due to a failure on the target.
- * Methods that require communication with the target program or require
- * the target to be in a specific state (for example, suspended), are declared
- * as such.
- * </p>
- * <p>
- * Debug elements are language independent. However, language specific
- * features can be made available via the adapter mechanism provided by
- * <code>IAdaptable</code>, or by extending the debug element interfaces.
- * A debug model is responsible for declaring any special adapters 
- * its debug elements implement.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IDebugElement extends IAdaptable {
-	
-	/**
-	 * Returns the unique identifier of the plug-in
-	 * this debug element originated from.
-	 *
-	 * @return the plug-in identifier
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns the debug target this element is contained in.
-	 * 
-	 * @return the debug target this element is contained in
-	 */
-	public IDebugTarget getDebugTarget();
-	/**
-	 * Returns the launch this element is contained in.
-	 * 
-	 * @return the launch this element is contained in
-	 */
-	public ILaunch getLaunch();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
deleted file mode 100644
index 49fd177..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A debug model provider provides debug model identifiers.
- * This interface is used as an adapter to determine what 
- * debug models are associated with an adaptable object. 
- * Generally, when debugging one language, only one debug
- * model is associated with a debug element. However,
- * a debug model that provides cross language debugging
- * may represent several debug models. 
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IDebugModelProvider {
-	
-	/**
-	 * Returns a collection of debug model identifiers.
-	 * 
-	 * @return a collection of debug model identifiers
-	 */
-	public String[] getModelIdentifiers();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
deleted file mode 100644
index 35c21b6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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. 
-	 * 
-	 * @param breakpoint breakpoing to consider
-	 * @return whether this target can install the given breakpoint
-	 */
-	public boolean supportsBreakpoint(IBreakpoint breakpoint);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
deleted file mode 100644
index c0cf267..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The ability to end a debug session with a target program
- * and allow the target to continue running.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IDebugTarget
- */
-public interface IDisconnect {
-	/**
-	 * Returns whether this element can currently disconnect.
-	 * 
-	 * @return whether this element can currently disconnect
-	 */
-	public boolean canDisconnect();
-	/**
-	 * Disconnects this element from its target. Generally, disconnecting
-	 * ends a debug session with a debug target, but allows the target
-	 * program to continue running.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void disconnect() throws DebugException;
-	/**
-	 * Returns whether this element is disconnected.
-	 *
-	 * @return whether this element is disconnected
-	 */
-	public boolean isDisconnected();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
deleted file mode 100644
index 79229af..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDropToFrame.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to drop to frame. Drop to frame
- * generally means popping a selected stack frame (and all frames above it) from
- * the execution stack and then stepping back into the frame.
- * 
- * @since 3.1
- */
-public interface IDropToFrame {
-
-    /**
-     * Returns whether this element can currently perform a drop to frame.
-     * @return whether this element can currently perform a drop to frame
-     */
-    public boolean canDropToFrame();
-    
-    /**
-     * Performs a drop to frame on this element. Implementations must generate
-     * events such that debug clients can update appropriately, such as corresponding
-     * <code>RESUME</code> and <code>SUSPEND</code> events, or a single <code>CHANGE</code>
-     * event when the drop is complete. Implementations should implement drop to frame
-     * in a non-blocking fashion. 
-     * 
-     * @throws DebugException on failure. Reasons include:<ul>
-     * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-     * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-     * </ul>
-     */
-    public void dropToFrame() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
deleted file mode 100644
index 3ba24d4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * An expression that can report errors which occurred during the
- * expression's evaluation.
- * 
- * @since 3.0
- */
-public interface IErrorReportingExpression extends IExpression {
-	/**
-	 * Returns whether this expression has errors to report. An expression
-	 * can have errors if errors were generated the last time its value was
-	 * computed
-	 * 
-	 * @return whether this expression's result has errors
-	 */
-	public boolean hasErrors();
-	/**
-	 * Returns this expression's error messages, if any. An expression can
-	 * have errors if errors were generated the last time its value was
-	 * computed.
-	 *  
-	 * @return this expression's error messages
-	 */
-	public String[] getErrorMessages();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
deleted file mode 100644
index 31c4f25..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-/**
- * An expression is a snippet of code that can be evaluated
- * to produce a value. When and how an expression is evaluated
- * is implementation specific. The context/binding required to
- * evaluate an expression varies by debug model, and by
- * user intent. Furthermore, an expression may need to be evaluated
- * at a specific location in a program (for example, at a
- * breakpoint/line where certain variables referenced in the
- * expression are visible/allocated). A user may want to
- * evaluate an expression once to produce a value that can
- * be inspected iteratively, or they may wish to evaluate an
- * expression iteratively producing new values each time
- * (i.e. as in a watch list). 
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IExpression extends IDebugElement {
-	
-	/**
-	 * Returns this expression's snippet of code.
-	 * 
-	 * @return the expression
-	 */
-	public abstract String getExpressionText();
-
-	/**
-	 * Returns the current value of this expression or
-	 * <code>null</code> if this expression does not
-	 * currently have a value.
-	 * 
-	 * @return value or <code>null</code>
-	 */
-	public abstract IValue getValue();
-	
-	/**
-	 * Returns the debug target this expression is associated
-	 * with, or <code>null</code> if this expression is not
-	 * associated with a debug target.
-	 * 
-	 * @return debug target or <code>null</code>
-	 * @see IDebugElement#getDebugTarget()
-	 */
-	public abstract IDebugTarget getDebugTarget();
-	
-	/**
-	 * Notifies this expression that it has been removed
-	 * from the expression manager. Any required clean up
-	 * is be performed such that this expression can be
-	 * garbage collected.
-	 */
-	public abstract void dispose();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
deleted file mode 100644
index 24e375c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to perform a filtered step. Implementations must be non-
- * blocking. Filter implementation is debug model specific and may not be
- * supported by all debug models.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- * @deprecated clients should implement <code>IStepFilters</code> instead
- */
-public interface IFilteredStep extends IStep {
-	/**
-	 * Returns whether this element can currently perform a filtered step into.
-	 *
-	 * @return whether this element can currently perform a filtered step into
-	 */
-	public boolean canStepWithFilters();
-	/**
-	 * Steps into the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread, applying step
-	 * filters, as applicable for the associated thread. Can only be called when
-	 * the associated thread is suspended. Implementations must implement
-	 * stepping as non- blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepWithFilters() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
deleted file mode 100644
index 463faa3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-
-/**
- * A stream monitor who's contents can be flushed. As well, a client may
- * turn buffering on/off in a flushable stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-public interface IFlushableStreamMonitor extends IStreamMonitor {
-
-	/**
-	 * Empties the contents of this stream monitor's underlying buffer.
-	 */
-	public void flushContents();
-	
-	/**
-	 * Sets whether the contents of this monitor's underlying stream should be
-	 * buffered. When <code>false</code>, contents appended to this stream monitor
-	 * are not stored in a buffer, and are thus not available from
-	 * <code>getContents()</code>. Registered listeners are notified of appended
-	 * text, and must buffer the contents if desired.
-	 * 
-	 * @param buffer whether the contents of this monitor's underlying stream
-	 * should be buffered
-	 */
-	public void setBuffered(boolean buffer);
-	
-	/**
-	 * Returns whether the contents of this monitor's underlying stream is
-	 * buffered.
-	 * 
-	 * @return whether the contents of this monitor's underlying stream is
-	 * buffered
-	 */
-	public boolean isBuffered();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
deleted file mode 100644
index 0b66289..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A value containing an indexed collection of variables - for example,
- * an array.
- * <p>
- * The indexed collection value has been added to the debug model to support
- * automatic partitioning of large arrays in the debug UI. Clients are not required
- * to implement this interface for values representing indexed collections,
- * however, doing so will provide enhanced display options in the debug UI.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IIndexedValue extends IValue {
-	
-	/**
-	 * Returns the variable at the given offset in this collection.
-	 * The offset is zero based.
-	 * @param offset zero based offset into this collection  
-	 * @return returns the variable in this collection at the given
-	 *  offset
-	 * @throws DebugException if unable to retrieve the variable at the
-	 * given offset
-	 */
-	public IVariable getVariable(int offset) throws DebugException;
-	
-	/**
-	 * Returns a subset of the elements in this collection of variables as
-	 * specified by the given offset and length.
-	 * 
-	 * @param offset beginning offset of the subset of elements to return 
-	 * @param length the number of elements to return
-	 * @return a subset of the elements in this collection of variables as
-	 *  specified by the given offset and length
-	 * @throws DebugException if unable to retrieve the variables
-	 */
-	public IVariable[] getVariables(int offset, int length) throws DebugException;
-
-	/**
-	 * Returns the number of entries in this indexed collection.
-	 * 
-	 * @return the number of entries in this indexed collection
-	 * @throws DebugException if unable to determine the number
-	 * of entries in this collection
-	 */
-	public int getSize() throws DebugException;
-	
-	/**
-	 * Returns the index of the first variable contained in this value.
-	 * Generally, indexed values are zero based, but this allows for
-	 * an arbitrary base offset.
-	 * 
-	 * @return the index of the first variable contained in this value
-	 */
-	public int getInitialOffset();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
deleted file mode 100644
index e648099..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A launch configuration delegate performs launching for a
- * specific type of launch configuration. A launch configuration
- * delegate is defined by the <code>delegate</code> attribute
- * of a <code>launchConfigurationType</code> extension.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationDelegate {
-	
-	/**
-	 * Launches the given configuration in the specified mode, contributing
-	 * debug targets and/or processes to the given launch object. The
-	 * launch object has already been registered with the launch manager.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> -
-	 *  <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>
-	 * @param launch the launch object to contribute processes and debug
-	 *  targets to
-	 * @exception CoreException if launching fails 
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
deleted file mode 100644
index 525b86a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Optional enhancements to the launch configuration delegate interface.
- * Allows launch delegates to abort a launch, build relevant projects in
- * the workspace before a launch, and create the launch object to be used
- * in a launch.
- * <p>
- * Clients implementing <code>ILaunchConfigurationDelegate</code> may also
- * implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchConfigurationDelegate2 extends ILaunchConfigurationDelegate {
-	
-	/**
-	 * Returns a launch object to use when launching the given launch
-	 * configuration in the given mode, or <code>null</code> if a new default
-	 * launch object should be created by the debug platform. If a launch object
-	 * is returned, its launch mode must match that of the mode specified in
-	 * this method call.
-	 *  
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @return a launch object or <code>null</code>
-	 * @throws CoreException if unable to launch
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException;
-	
-	/**
-	 * Optionally performs any required building before launching the given
-	 * configuration in the specified mode, and returns whether the debug platform
-	 * should perform an incremental workspace build before the launch continues.
-	 * If <code>false</code> is returned the launch will proceed without further
-	 * building, and if <code>true</code> is returned an incremental build will
-	 * be performed on the workspace before launching.
-	 * <p>
-	 * This method is only called if the launch is invoked with flag indicating
-	 * building should take place before the launch. This is done via the    
-	 * method
-	 * <code>ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)</code>.
-	 * </p> 
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @param monitor progress monitor
-	 * @return whether the debug platform should perform an incremental workspace
-	 *  build before the launch
-	 * @throws CoreException if an exception occurs while building
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called after
-	 * <code>preLaunchCheck()</code> and <code>buildForLaunch()</code> providing
-	 * a final chance for this launch delegate to abort a launch if required.
-	 * For example, a delegate could cancel a launch if it discovered compilation
-	 * errors that would prevent the launch from succeeding.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs during final checks
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called first
-	 * in the launch sequence providing an opportunity for this launch delegate
-	 * to abort the launch.
-	 * 
-	 * @param configuration configuration being launched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs while performing pre-launch checks
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
deleted file mode 100644
index 9b7b4cf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A breakpoint that can be located at a specific line of source code.
- */
-public interface ILineBreakpoint extends IBreakpoint {
-
-/**
- * Returns the line number in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not
- * present.
- *
- * @return this breakpoint's line number, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.LINE_NUMBER</code> marker attribute
- */
-public int getLineNumber() throws CoreException;
-/**
- * Returns starting source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char start value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_START</code> marker attribute
- */
-public int getCharStart() throws CoreException;
-/**
- * Returns ending source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char end value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_END</code> marker attribute
- */
-public int getCharEnd() throws CoreException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
deleted file mode 100644
index 50865a7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A delegate that provides a value representing the logical structure of a raw
- * implementation value from a debug model. Associated with a logical structure
- * type extension.
- * <p>
- * Clients contributing logical structure types should implement this
- * interface.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureTypeDelegate {
-	
-	/**
-	 * Returns whether this structure type can provide a logical structure for 
-	 * the given value.
-	 * 
-	 * @param value value for which a logical structure is being requested
-	 * @return whether this structure type can provide a logical structure for 
-	 * the given value
-	 */
-	public boolean providesLogicalStructure(IValue value);
-	
-	/**
-	 * Returns a value representing a logical structure of the given value.
-	 * 
-	 * @param value value for which a logical structure is being requested
-	 * @return value representing logical structure
-	 * @throws CoreException if an exception occurs generating a logical
-	 *  structure
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
deleted file mode 100644
index ff5f4e8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-/**
- * Optional extension to <code>ILogicalStructureTypeDelegate</code> that allows
- * a logical structure type delegate to provide a description for a value.
- * This allows a logical structure type to provide logical structures and
- * descriptions for more than one type of value.
- * <p>
- * If a logical structure type delegate implements this interface, it will
- * be consulted for a description rather than using the description attribute
- * provided in plug-in XML.
- * </p>
- * <p>
- * Clients contributing logical structure types can implement this
- * interface.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureTypeDelegate2 {
-	
-	/**
-	 * Returns a simple description of the logical structure provided by this
-	 * structure type delegate, for the given value.
-	 * Cannot return <code>null</code>. This method is only called if this
-	 * logical structure type delegate returns <code>true</code> for
-	 * <code>providesLogicalStructure(IValue)</code>.
-	 * 
-	 * @param value a value a description is requested for
-	 * @return a simple description of the logical structure provided by this
-	 * structure type delegate, for the given value
-	 */
-	public String getDescription(IValue value);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
deleted file mode 100644
index 7740c8a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A contiguous segment of memory in an execution context.
- * A memory block is represented by a starting memory address
- * and a length. Not all debug architectures support the retrieval
- * of memory blocks.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IMemoryBlockRetrieval
- * @since 2.0
- */
-public interface IMemoryBlock extends IDebugElement {
-	
-	/**
-	 * Returns the start address of this memory block.
-	 * 
-	 * @return the start address of this memory block
-	 */
-	public long getStartAddress();
-	
-	/**
-	 * Returns the length of this memory block in bytes.
-	 * 
-	 * @return the length of this memory block in bytes
-	 */	
-	public long getLength();
-	
-	/**
-	 * Returns the values of the bytes currently contained
-	 * in this this memory block.
-	 * 
-	 * @return the values of the bytes currently contained
-	 *  in this this memory block
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */	
-	public byte[] getBytes() throws DebugException;
-	
-	/**
-	 * Returns whether this memory block supports value modification
-	 * 
-	 * @return whether this memory block supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Sets the value of the bytes in this memory block at the specified
-	 * offset within this memory block to the specified bytes.
-	 * The offset is zero based.
-	 * 
-	 * @param offset the offset at which to set the new values
-	 * @param bytes the new values
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This memory block does not support value modification</li>
-	 * <li>The specified offset is greater than or equal to the length
-	 *   of this memory block, or the number of bytes specified goes
-	 *   beyond the end of this memory block (index of out of range)</li>
-	 * </ul>
-	 */
-	public void setValue(long offset, byte[] bytes) throws DebugException;
-	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
deleted file mode 100644
index cb41348..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Extensions to {@link org.eclipse.debug.core.model.IMemoryBlock}. Allows
- * for bytes to be accessed in a larger address space, and for state information
- * to be provided for each byte. 
- * <p>
- * Clients may optionally implement this interface when providing implementations of
- * {@link org.eclipse.debug.core.model.IMemoryBlock}.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.model.MemoryByte
- */
-public interface IMemoryBlockExtension extends IMemoryBlock {
-	
-	/**
-	 * Returns the expression used to create this memory block. An expression can
-	 * be used as name for a memory block and typically represents an expression
-	 * used to compute a base address for a memory block.
-	 * 
-	 * @return the expression used to create this memory block
-	 */
-	public String getExpression();	
-	
-	/**
-	 * Returns the base address of this memory block as a big integer. The 
-	 * address is in terms of addressable units.
-	 * 
-	 * @return the base address of this memory block
-	 * @throws DebugException if unable to retrieve the base address
-	 */
-	public BigInteger getBigBaseAddress() throws DebugException;
-	
-	/**
-	 * Returns the hard start address of this memory block as a big integer, or 
-	 * <code>null</code> if none. A <code>null</code> start address indicates that
-	 * memory may be retrieved at any address less than this memory block's base
-	 * address.
-	 * 
-	 * @return the hard start address of this memory block or <code>null</code>
-	 * @throws DebugException if unable to retrieve the start address of this memory block.
-	 */
-	public BigInteger getMemoryBlockStartAddress() throws DebugException;
-	
-	/**
-	 * Returns the hard end address of this memory block as a big integer, or
-	 * <code>null</code> if none. A <code>null</code> end address indicates that
-	 * memory may be retrieved from any positive offset relative to the base address
-	 * of this memory block. 
-	 * 
-	 * @return the hard end address of this memory block or <code>null</code>
-	 * @throws DebugException if unable to retrieve the end address of this memory block.
-	 */
-	public BigInteger getMemoryBlockEndAddress() throws DebugException;
-	
-	/**
-	 * Returns the length of this memory block, or -1 if unbounded.
-	 * Returns "end address - start address"  for a memory block with a fixed
-	 * length (i.e. when both start and end address are known).
-	 * Returns -1 for an unbounded memory block (i.e. when start or end address is
-	 * <code>null</code>).
-	 * 
-	 * @return length of this memory block or -1 if unbounded
-	 * @throws DebugException if unable to retrieve the length of this memory block.
-	 */
-	public BigInteger getBigLength() throws DebugException;
-	
-	/**
-	 * Returns the address size of this memory block in number of bytes. The address
-	 * size indicates the number of bytes used to construct an address.
-	 *  
-	 * @return address size in number of bytes
-	 * @throws DebugException if unable to retrieve the address size
-	 */
-	public int getAddressSize() throws DebugException;
-	
-	/**
-	 * Returns whether the base address of this memory block can be modified.
-	 * 
-	 * @return whether the base address of this memory block can be modified
-	 * @throws DebugException is unable to determine if base address modification is supported
-	 */
-	public boolean supportBaseAddressModification() throws DebugException;
-	
-	/**
-	 * Returns whether this memory block manages the change state of its bytes.
-	 * <p>
-	 * If a memory block manages changes the memory block is responsible for
-	 * setting the <code>CHANGED</code> state of its <code>MemoryByte</code>'s
-	 * returned from <code>getBytesFromAddress</code> and
-	 * <code>getBytesFromOffset</code>. The changed state of a byte should
-	 * be updated each time a thread suspends in a memory block's target.
-	 * </p>
-	 * @return whether this memory block manages the change state of its bytes  
-	 */
-	public boolean supportsChangeManagement();
-	
-	/**
-	 * Sets the base address of this memory block to the given address.
-	 * 
-	 * @param address new base address
-	 * @throws DebugException if unable to modify the base address, or modification
-	 *  of the base address fails
-	 */
-	public void setBaseAddress(BigInteger address) throws DebugException;
-
-	/**
-	 * Returns bytes from this memory block based on the base address and
-	 * addressable size of this memory block.
-	 * <p>
-	 * A memory block may be asked to retrieve bytes beyond it's start
-	 * or end address. If a memory block is unable to retrieve memory outside
-	 * these boundaries, implementations should return memory bytes with
-	 * the <code>READABLE</code> bit turned off for each byte outside
-	 * the of the accessible range. An exception should not be thrown in this
-	 * case.
-	 * </p> 
-	 * @param unitOffset zero based offset into this memory block at which to start
-	 *  retrieving bytes in terms of addressable units. Client should retrieve
-	 *  memory starting from "base address + offset".
-	 * @param addressableUnits the number of addressable units to retrieve
-	 * @return an array of bytes from this memory block based on the given offset
-	 *  and number of units. The size of the array returned must to be equal to 
-	 *  <code>units</code> * <code>getAddressableSize()</code>.
-	 * @throws DebugException if unable to retrieve the specified bytes due to
-	 *  a failure communicating with the target
-	 * @see MemoryByte
-	 */
-	public MemoryByte[] getBytesFromOffset(BigInteger unitOffset, long addressableUnits) throws DebugException;
-	
-	/**
-	 * Returns bytes from this memory block based on the given address and the
-	 * addressable size of this memory block.
-	 * <p>
-	 * A memory block may be asked to retrieve bytes beyond it's start
-	 * or end address. If a memory block is unable to retrieve memory outside
-	 * these boundaries, implementations should return memory bytes with
-	 * the <code>READABLE</code> bit turned off for each byte outside
-	 * the of the accessible range. An exception should not be thrown in this
-	 * case.
-	 * </p>
-	 * @param address address at which to begin retrieving bytes in terms
-	 *  of addressable units
-	 * @param units is the number of addressable units of memory to retrieve 
-	 * @return an array of bytes from this memory block based on the given address
-	 *  and number of units. The size of the array returned must to be equal to 
-	 *  <code>units</code> * <code>getAddressableSize()</code>.
-	 * @throws DebugException if unable to retrieve the specified bytes due to
-	 *  a failure communicating with the target 
-	 * @see MemoryByte
-	 */
-	public MemoryByte[] getBytesFromAddress(BigInteger address, long units) throws DebugException;	
-
-	/**
-	 * Sets bytes in this memory block at the specified offset within this memory block to
-	 * the specified bytes. The offset is zero based. After successfully modifying the
-	 * specified bytes, a debug event should be fired with a kind of <code>CHANGE</code>. 
-	 * 
-	 * @param offset the zero based offset at which to set the new value.  Modify
-	 * the memory starting from base address + offset.
-	 * @param bytes replacement bytes
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This memory block does not support value modification</li>
-	 * <li>The specified offset is greater than or equal to the length
-	 *   of this memory block, or the number of bytes specified goes
-	 *   beyond the end of this memory block (index of out of range)</li>
-	 * </ul>
-	 * @see org.eclipse.debug.core.DebugEvent
-	 */
-	public void setValue(BigInteger offset, byte[] bytes) throws DebugException;
-
-	/**
-	 * Connects the given client to this memory block. Allows a memory block
-	 * to know when it is being monitored. Has no effect if an identical
-	 * client is already connected.
-	 * <p>
-	 * Memory blocks supporting change management may selectively turn off
-	 * change management when no clients are connected, for reasons of
-	 * efficiency. Clients that require access to change state information
-	 * are required to connect to a memory block before change information
-	 * is considered to be valid.
-	 * </p>
-	 * @param client the client to connect
-	 */
-	public void connect(Object client);
-	
-	/**
-	 * Disconnects the given client from this memory block. Has no effect if
-	 * an identical client is not already connected.
-	 *  
-	 * @param client the client to disconnect
-	 */
-	public void disconnect(Object client);
-	
-	/**
-	 * Returns the possibly empty list of clients currently connected to this
-	 * memory block.
-	 *  
-	 * @return the possibly empty list of clients currently connected to this
-	 * memory block
-	 */
-	public Object[] getConnections();
-	
-	/**
-	 * Dispose this memory block. Connected clients are disconnected.
-	 * @throws DebugException if the memory block cannot be disposed.
-	 */
-	public void dispose() throws DebugException;
-	
-	/**
-	 * Returns the origin of this memory block.
-	 * 
-	 * @return the origin of this memory block
-	 */
-	public IMemoryBlockRetrieval getMemoryBlockRetrieval();
-	
-	/**
-	 * Returns this memory block's addressable size in number of bytes. The addressable size
-	 * of memory block indicates the minimum number of bytes that can be retrieved as
-	 * a single unit.
-	 *  
-	 * @return this memory block's addressable size
-	 * @throws DebugException if the addressable size cannot be obtained.
-	 */
-	public int getAddressableSize() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
deleted file mode 100644
index 9253662..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * Supports the retrieval of arbitrary blocks of memory.
- * 
- * @see IMemoryBlock
- * @since 2.0
- */
-public interface IMemoryBlockRetrieval {
-	
-	/**
-	 * Returns whether this debug target supports the retrieval
-	 * of memory blocks.
-	 * 
-	 * @return whether this debug target supports the retrieval
-	 *  of memory blocks
-	 */
-	public boolean supportsStorageRetrieval();
-	
-	/**
-	 * Returns a memory block that starts at the specified
-	 * memory address, with the specified length.
-	 * 
-	 * @param startAddress starting address
-	 * @param length length of the memory block in bytes
-	 * @return a memory block that starts at the specified
-	 *  memory address, with the specified length
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This debug target does not support memory block retrieval</li>
-	 * <li>The specified address and length are not within valid
-	 *  ranges</li>
-	 * </ul>
-	 */
-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
deleted file mode 100644
index f6aea1b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrievalExtension.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-
-/**
- * Extended capabilities for memory block retrieval. Supports the retrieval
- * of memory blocks based on an expression and context.
- * 
- * @since 3.1
- */
-public interface IMemoryBlockRetrievalExtension extends IMemoryBlockRetrieval {
-	
-	/**
-	 * Retrieves and returns a memory block. 
-	 * 
-	 * @param expression expression to be evaluated to an address
-	 * @param context context for evaluating the expression.  This is typically
-	 *  a debug element.
-	 * @return a memory block based on the given expression and context
-	 * @throws DebugException if unable to retrieve the specified memory
-	 */
-	
-	public IMemoryBlockExtension getExtendedMemoryBlock(String expression, Object context) throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
deleted file mode 100644
index 8433aa8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 specific 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 
- * @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 source lookup for
-	 * @exception CoreException on failure to initialize
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException;
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
deleted file mode 100644
index 7ce2452..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A process represents a program running in normal (non-debug) mode.
- * Processes support setting and getting of client defined attributes.
- * This way, clients can annotate a process with any extra information
- * important to them. For example, classpath annotations, or command
- * line arguments used to launch the process may be important to a client.
- * <p>
- * Clients may implement this interface, however, the debug plug-in
- * provides an implementation of this interface for a
- * <code>java.lang.Process</code>. 
- * </p>
- * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String)
- */
-public interface IProcess extends IAdaptable, ITerminate {
-	
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute is the command line a process was launched with.
-	 * 
-	 * @since 2.1
-	 */
-	public final static String ATTR_CMDLINE= DebugPlugin.getUniqueIdentifier() + ".ATTR_CMDLINE"; //$NON-NLS-1$
-	
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute is an identifier for the type of this process. Process types
-	 * are client defined - whoever creates a process may define its type. For
-	 * example, a process type could be "java", "javadoc", or "ant".
-	 *
-	 * @since 2.1
-	 */
-	public final static String ATTR_PROCESS_TYPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_TYPE"; //$NON-NLS-1$		
-
-	/**
-	 * Attribute key for a common, optional, process property. The value of this
-	 * attribute specifies an alternate dynamic label for a process, displayed by
-	 * the console.
-	 * 
-	 * @since 3.0
-	 */
-	public final static String ATTR_PROCESS_LABEL = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_LABEL"; //$NON-NLS-1$
-	
-	/**
-	 * Returns a human-readable label for this process.
-	 *
-	 * @return a label for this process
-	 */
-	public String getLabel();
-	/**
-	 * Returns the launch this element originated from.
-	 *
-	 * @return the launch this process is contained in
-	 */
-	public ILaunch getLaunch();
-	/**
-	 * Returns a proxy to the standard input, output, and error streams 
-	 * for this process, or <code>null</code> if not supported.
-	 *
-	 * @return a streams proxy, or <code>null</code> if not supported
-	 */
-	public IStreamsProxy getStreamsProxy();
-	
-	/**
-	 * Sets the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @param value the attribute value
-	 */
-	public void setAttribute(String key, String value);
-	
-	/**
-	 * Returns the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @return value the String attribute value, or <code>null</code> if undefined
-	 */
-	public String getAttribute(String key);
-	
-	/**
-	 * Returns the exit value of this process. Conventionally, 0 indicates
-	 * normal termination.
-	 * 
-	 * @return the exit value of this process
-	 * @exception DebugException if this process has not yet terminated
-	 */
-	public int getExitValue() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
deleted file mode 100644
index d3bd739..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register is a special kind of variable that is contained
- * in a register group. Each register has a name and a value.
- * Not all debug architectures provide access to registers.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRegister extends IVariable {
-	
-	/**
-	 * Returns the register group this register is contained in.
-	 * 
-	 * @return the register group this register is contained in
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegisterGroup getRegisterGroup() throws DebugException; 
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
deleted file mode 100644
index 528df35..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register group is a group of registers that are
- * assigned to a stack frame. Some debug architectures
- * provide access to registers, and registers are often
- * grouped logically. For example, a floating point
- * register group. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.0
- */
-public interface IRegisterGroup extends IDebugElement {
-	
-
-	/**
-	 * Returns the name of this register group.
-	 * 
-	 * @return this register group's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the registers in this register group.
-	 * 
-	 * @return the registers in this register group
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegister[] getRegisters() throws DebugException;
-	
-	/**
-	 * Returns whether this register group currently contains any registers.
-	 * 
-	 * @return whether this register group currently contains any registers
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean hasRegisters() throws DebugException;	
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
deleted file mode 100644
index e78a7f8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.core.model.IPersistableSourceLocator
- */
-public interface ISourceLocator {
-	
-	/**
-	 * Returns a source element that corresponds to the given stack frame, or
-	 * <code>null</code> if a source element could not be located. The object returned
-	 * by this method will be used by the debug UI plug-in to display source.
-	 * The debug UI uses the debug model presentation associated
-	 * with the given stack frame's debug model to translate a source object into an
-	 * {editor input, editor id} pair in which to display source.
-	 * <p>
-	 * For example, a java source locator could return an object representing a
-	 * compilation unit or class file. The java debug model presentation would
-	 * then be responsible for providing an editor input and editor id for each
-	 * compilation unit and class file such that the debug UI could display source.
-	 * </p>
-	 *
-	 * @param stackFrame the stack frame for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(IStackFrame stackFrame);
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
deleted file mode 100644
index 72ee242..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A stack frame represents an execution context in a suspended thread.
- * A stack frame contains variables representing visible locals and arguments at
- * the current execution location. Minimally, a stack frame supports
- * the following:
- * <ul>
- * <li>suspend/resume (convenience to resume this stack frame's thread)
- * <li>stepping
- * <li>termination (convenience to terminate this stack frame's thread or debug target)
- * </ul>
- * <p>
- * A debug model implementation may choose to re-use or discard
- * stack frames on iterative thread suspensions. Clients
- * cannot assume that stack frames are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * A debug model implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if stack frames are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list. 
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStep
- * @see ISuspendResume
- * @see ITerminate
- */
-public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate {
-	/**
-	 * Returns the thread this stack frame is contained in.
-	 * 
-	 * @return thread
-	 * @since 2.0
-	 */
-	public IThread getThread();
-	/**
-	 * Returns the visible variables in this stack frame. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return collection of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame currently contains any visible variables.
-	 * 
-	 * @return whether this stack frame currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;
-		
-	/**
-	 * Returns the line number of the instruction pointer in 
-	 * this stack frame that corresponds to a line in an associated source
-	 * element, or <code>-1</code> if line number information
-	 * is unavailable.
-	 *
-	 * @return line number of instruction pointer in this stack frame, or 
-	 * <code>-1</code> if line number information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public int getLineNumber() throws DebugException;
-	
-	/**
-	 * Returns the index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharStart() throws DebugException;
-	
-	/**
-	 * Returns the index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharEnd() throws DebugException;	
-		
-	/**
-	 * Returns the name of this stack frame. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this frame's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the register groups assigned to this stack frame,
-	 * or an empty collection if no register groups are assigned
-	 * to this stack frame.
-	 * 
-	 * @return the register groups assigned to this stack frame
-	 *  or an empty collection if no register groups are assigned
-	 *  to this stack frame
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IRegisterGroup[] getRegisterGroups() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame contains any register groups.
-	 * 
-	 * @return whether this stack frame contains any visible register groups
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasRegisterGroups() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
deleted file mode 100644
index 009aaad..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to step into, over, and return
- * from the current execution location.  Implementations
- * must be non-blocking.
- * <p>
- * Implementations should honor step filter settings in their
- * associated debug target, as defined by <code>IStepFilters</code>.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStepFilters
- */
-public interface IStep {
-	/**
-	 * Returns whether this element can currently perform a step into.
-	 *
-	 * @return whether this element can currently perform a step into
-	 */
-	public boolean canStepInto();
-	/**
-	 * Returns whether this element can currently perform a step over.
-	 *
-	 * @return whether this element can currently perform a step over
-	 */
-	public boolean canStepOver();
-	/**
-	 * Returns whether this element can currently perform a step return.
-	 *
-	 * @return whether this element can currently perform a step return
-	 */
-	public boolean canStepReturn();
-	/**
-	 * Returns whether this element is currently stepping.
-	 * <p>
-	 * For example, a thread is considered to be stepping
-	 * after the <code>stepOver</code> call until the step over is completed,
-	 * a breakpoint is reached, an exception is thrown, or the thread or debug target is
-	 * terminated.
-	 * </p>
-	 *
-	 * @return whether this element is currently stepping
-	 */
-	public boolean isStepping();
-	/**
-	 * Steps into the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called
-	 * when the associated thread is suspended. Implementations must implement
-	 * stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepInto() throws DebugException;
-	/**
-	 * Steps over the current statement, generating <code>RESUME</code>
-	 * and <code>SUSPEND</code> events for the associated thread. Can only be called
-	 * when the associated thread is suspended. Implementations must implement
-	 * stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepOver() throws DebugException;
-	/**
-	 * Steps to the next return statement in the current scope,
-	 * generating <code>RESUME</code> and <code>SUSPEND</code> events for
-	 * the associated thread. Can only be called when the associated thread is suspended.
-	 * Implementations must implement stepping as non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target</li>
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target</li>
-	 * </ul>
-	 */
-	public void stepReturn() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
deleted file mode 100644
index 1e11c95..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * Support for step filters for a debug target. A debug target
- * that supports step filters should implement this interface.
- * Step filters can be toggled on/off for a debug target via
- * this interface. When a step method is called (see
- * <code>IStep</code>), the step implementation must respect
- * the state of the step filters as defined by this interface.
- * This allows step filters to be toggled on/off for
- * all stepping operations (in, over, return).
- * <p>
- * Step filter management is debug model specific - this interface
- * is used only to turn them on/off.
- * </p>
- * <p>
- * In 2.1, the <code>IFilteredStep</code> interface was used
- * to implement step filtering. The <code>IFilteredStep</code>
- * interface is now deprecated, and this interface should be used
- * in its place to allow filters to be applied to any step
- * function.
- * </p>
- * <p>
- * Clients may implement this interface. Debug targets that support
- * step filters should implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStep
- * @since 3.0
- */
-public interface IStepFilters {
-	
-	/**
-	 * Returns whether this debug target supports step filters.
-	 *
-	 * @return whether this debug target supports step filters
-	 */
-	public boolean supportsStepFilters();
-	
-	/**
-	 * Returns whether step filters are currently enabled in this
-	 * debug target.
-	 * 
-	 * @return whether step filters are currently enabled in this
-	 * debug target
-	 */
-	public boolean isStepFiltersEnabled();
-	
-	/**
-	 * Sets whether step filters are enabled in this debug target.
-	 * 
-	 * @param enabled whether step filters are enabled in this debug target
-	 */
-	public void setStepFiltersEnabled(boolean enabled);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
deleted file mode 100644
index fdabfb2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.IStreamListener;
-
-/**
- * A stream monitor manages the contents of the stream a process
- * is writing to, and notifies registered listeners of changes in
- * the stream.
- * <p>
- * Clients may implement this interface. Generally, a client that
- * provides an implementation of the <code>IStreamsProxy</code>
- * interface must also provide an implementation of this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStreamsProxy
- * @see org.eclipse.debug.core.model.IFlushableStreamMonitor
- */
-public interface IStreamMonitor {
-	/**
-	 * Adds the given listener to this stream monitor's registered listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addListener(IStreamListener listener);
-	/**
-	 * Returns the entire current contents of the stream. An empty
-	 * String is returned if the stream is empty.
-	 *
-	 * @return the stream contents as a <code>String</code>
-	 */
-	public String getContents();
-	/**
-	 * Removes the given listener from this stream monitor's registered listeners.
-	 * Has no effect if the listener is not already registered.
-	 *
-	 * @param listener the listener to remove
-	 */
-	public void removeListener(IStreamListener listener);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
deleted file mode 100644
index 120e5e8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.io.IOException;
-
-/**
- * A streams proxy acts as proxy between the streams of a
- * process and interested clients. This abstraction allows
- * implementations of <code>IProcess</code> to handle I/O related
- * to the standard input, output, and error streams associated
- * with a process.
- * <p>
- * Clients implementing the <code>IProcess</code> interface must also
- * provide an implementation of this interface.
- * </p>
- * @see IProcess
- */
-public interface IStreamsProxy {
-	/**
-	 * Returns a monitor for the error stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the error stream of the
-	 * associated process.
-	 *
-	 * @return an error stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getErrorStreamMonitor();
-	/**
-	 * Returns a monitor for the output stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the output stream of the
-	 * associated process.
-	 *
-	 * @return an output stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getOutputStreamMonitor();
-	/**
-	 * Writes the given text to the output stream connected to the
-	 * standard input stream of this proxy's process.
-	 *
-	 * @param input the text to be written
-	 * @exception IOException when an error occurs writing to the 
-	 *		underlying <code>OutputStream</code>.
-	 *
-	 */
-	public void write(String input) throws IOException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
deleted file mode 100644
index d0294db..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.io.IOException;
-
-/**
- * Extension to a streams proxy that allows closing of the output stream
- * connected to the standard input stream of a proxy's process.
- * <p>
- * Clients should implement this interface, in addition to
- * <code>IStreamsProxy</code>, if interested closing the standard
- * input stream.
- * </p>
- * @since 3.1
- */
-public interface IStreamsProxy2 extends IStreamsProxy {
-
-    /**
-     * Closes the output stream connected to the standard input stream
-     * of this proxy's process.
-     * 
-     * @throws IOException if unable to close the stream
-     */
-    public void closeInputStream() throws IOException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
deleted file mode 100644
index 9ffe269..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to suspend and resume a thread
- * or debug target.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ISuspendResume {
-	/**
-	 * Returns whether this element can currently be resumed.
-	 *
-	 * @return whether this element can currently be resumed
-	 */
-	public boolean canResume();
-	/**
-	 * Returns whether this element can currently be suspended.
-	 *
-	 * @return whether this element can currently be suspended
-	 */
-	public boolean canSuspend();
-	/**
-	 * Returns whether this element is currently suspended.
-	 *
-	 * @return whether this element is currently suspended
-	 */
-	public boolean isSuspended();
-	/**
-	 * Causes this element to resume its execution, generating a <code>RESUME</code> event. 
-	 * Has no effect on an element that is not suspended. This call is non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void resume() throws DebugException;
-	/**
-	 * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event.
-	 * Has no effect on an already suspended element.
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void suspend() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
deleted file mode 100644
index 0c376aa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to terminate an execution
- * context - for example, a thread, debug target or process.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ITerminate {
-	/**
-	 * Returns whether this element can be terminated.
-	 *
-	 * @return whether this element can be terminated
-	 */
-	public boolean canTerminate();
-	/**
-	 * Returns whether this element is terminated.
-	 *
-	 * @return whether this element is terminated
-	 */
-	public boolean isTerminated();
-	/**
-	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.  
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void terminate() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
deleted file mode 100644
index 54f5667..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A thread is a sequential flow of execution in a debug target.
- * A thread contains stack frames.  Stack frames are only available when the
- * thread is suspended, and are returned in top-down order.
- * Minimally, a thread supports the following:
- * <ul>
- * <li>suspend/resume
- * <li>stepping
- * <li>terminate
- * </ul>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISuspendResume
- * @see IStep
- * @see ITerminate
- * @see IStackFrame
- */
-
-public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminate {
-	/**
-	 * Returns the stack frames contained in this thread. An
-	 * empty collection is returned if this thread contains
-	 * no stack frames, or is not currently suspended. Stack frames
-	 * are returned in top down order.
-	 * 
-	 * @return a collection of stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IStackFrame[] getStackFrames() throws DebugException;
-	
-	/**
-	 * Returns whether this thread currently contains any stack
-	 * frames.
-	 * 
-	 * @return whether this thread currently contains any stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasStackFrames() throws DebugException;
-	
-	/**
-	 * Returns the priority of this thread. The meaning of this
-	 * number is operating-system dependent.
-	 *
-	 * @return thread priority
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public int getPriority() throws DebugException;
-	/** 
-	 * Returns the top stack frame or <code>null</code> if there is
-	 * currently no top stack frame.
-	 *
-	 * @return the top stack frame, or <code>null</code> if none
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IStackFrame getTopStackFrame() throws DebugException;
-	/**
-	 * Returns the name of this thread. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this thread's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-
-	/**
-	 * Returns the breakpoints that caused this thread to suspend,
-	 * or an empty collection if this thread is not suspended or
-	 * was not suspended by a breakpoint. Usually a single breakpoint
-	 * will be returned, but this collection can contain more than
-	 * one breakpoint if two breakpoints are at the same location in
-	 * a program.
-	 *
-	 * @return the collection of breakpoints that caused this thread to suspend
-	 */
-	public IBreakpoint[] getBreakpoints();	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
deleted file mode 100644
index 89652fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A value represents the value of a variable.
- * A value representing a complex data structure contains variables.
- * <p>
- * An implementation may choose to re-use or discard
- * values on iterative thread suspensions. Clients
- * cannot assume that values are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * An implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if variables are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list or tree.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-
-
-public interface IValue extends IDebugElement {
-	
-	/**
-	 * Returns a description of the type of data this value contains
-	 * or references.
-	 * 
-	 * @return the name of this value's reference type
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getReferenceTypeName() throws DebugException;
-	
-	/**
-	 * Returns this value as a <code>String</code>.
-	 *
-	 * @return a String representation of this value
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getValueString() throws DebugException;
-		
-	/**
-	 * Returns whether this value is currently allocated.
-	 * <p>
-	 * For example, if this value represents
-	 * an object that has been garbage collected, <code>false</code> is returned.
-	 * </p>
-	 * @return whether this value is currently allocated
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean isAllocated() throws DebugException;
-	/**
-	 * Returns the visible variables in this value. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return an array of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this value currently contains any visible variables.
-	 * 
-	 * @return whether this value currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
deleted file mode 100644
index b426601..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to modify the value of a variable in
- * a target.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-public interface IValueModification {
-
-	/**
-	 * Attempts to set the value of this variable to the
-	 * value of the given expression.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void setValue(String expression) throws DebugException;
-	
-	/**
-	 * Sets the value of this variable to the given value.
-	 *
-	 * @param value a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public void setValue(IValue value) throws DebugException;	
-	
-	/**
-	 * Returns whether this variable supports value modification.
-	 *
-	 * @return whether this variable supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Returns whether the given expression is valid to be used in
-	 * setting a new value for this variable.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @return whether the expression is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public boolean verifyValue(String expression) throws DebugException;
-	
-	/**
-	 * Returns whether the given value can be used as
-	 * a new value for this variable.
-	 *
-	 * @param value a new value
-	 * @return whether the value is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean verifyValue(IValue value) throws DebugException;
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
deleted file mode 100644
index f199c05..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 necessarily
-	 * 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 ff7fa81..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A watch expression is an expression that is evaluated in the context
- * of a specific stack frame, thread, debug target, process, or launch.
- * Generally, a watch expression is a snippet of code that is evaluated
- * each time a debug target suspends, or when a user provides a context
- * for an evaluation by selecting a debug target or thread. An expression
- * updates its value when it is provided with a context in which it
- * can perform an evaluation. 
- * <p>
- * Clients are not intended to implement this interface. An implementation
- * is provided by the debug platform. Clients that support watch expressions
- * should contribute and implement a watch expression delegate. Watch
- * expressions can be created via the <code>IExpressionManager</code>.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @see org.eclipse.debug.core.IExpressionManager
- * @since 3.0
- */
-public interface IWatchExpression extends IErrorReportingExpression {
-	
-	/**
-	 * Updates this watch expression's value based on the current evaluation
-	 * context. This watch expression fires a debug change event when the
-	 * evaluation is complete. A watch expression can be asked to
-	 * evaluate even when it is disabled. Note that implementations should
-	 * generally be asynchronous to avoid blocking the calling thread. 
-	 */
-	public void evaluate();
-	/**
-	 * Sets the context for this watch expression, or <code>null</code> if none.
-	 * If the given context is valid for this expression, this expression may
-	 * update its value. When the value update is complete, a debug change event is
-	 * fired. When <code>null</code> is specified as a context, this expression
-	 * may choose to retain its previous value.
-	 * <p>
-	 * The context is usually one of (but not limited to):
-	 * <ul>
-	 * <li>a debug target (<code>IDebugTarget</code>)</li>
-	 * <li>a thread (<code>IThread</code>)</li>
-	 * <li>a stack frame (<code>IStackFrame</code>)</li>
-	 * </ul>
-	 * </p>
-	 *  
-	 * @param context context in which to update this expression's value, or
-	 * 	<code>null</code> if none
-	 */
-	public void setExpressionContext(IDebugElement context);
-	/**
-	 * Sets this watch expression's snippet of code. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param expressionText the snippet which will be evaluated
-	 */
-	public void setExpressionText(String expressionText);
-	/**
-	 * Returns whether the result of this watch expression is pending.
-	 * An expression is pending if an evaluation has been requested, but
-	 * the value has not yet been returned.
-	 * 
-	 * @return whether this expression's result is pending
-	 */
-	public boolean isPending();
-	/**
-	 * Returns whether this expression is enabled. An enabled expression will
-	 * update its value. A disabled expression will not.
-	 * 
-	 * @return whether this expression is enabled
-	 */
-	public boolean isEnabled();
-	/**
-	 * Sets this expression's enabled state. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param enabled whether this expression should be enabled
-	 */
-	public void setEnabled(boolean enabled);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
deleted file mode 100644
index ec662ec..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A delegate which computes the value of a watch expression
- * when provided a context. Watch delegates are provided on a
- * per debug model basis. Watch expressions query the appropriate
- * delegate based on the debug model of the context element.
- * Plug-ins that wish to contribute watch expression delegates may do so using the
- * <code>org.eclipse.debug.core.watchExpressionDelegates</code>
- * extension point.
- * <p>
- * For example, the following is the definition of a watch expression
- * delegate for the com.example.foo plug-in:
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.watchExpressionDelegates"&gt;
- *   &lt;watchExpressionDelegate
- *     debugModel="org.eclipse.jdt.debug"
- *     delegateClass="org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate"/&gt;
- *  &lt;/extension&gt;
- * </pre>
- * <p>
- * Clients are intended to implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpression
- * @see org.eclipse.debug.core.model.IWatchExpressionListener
- * 
- * @since 3.0
- */
-public interface IWatchExpressionDelegate {
-	
-	/**
-	 * Evaluates the given expression in the given context asynchronously and
-	 * notifies the given listener when the evaluation finishes.
-	 * 
-	 * @param expression the expression to evaluate 
-	 * @param context the context for the evaluation
-	 * @param listener the listener to notify when the evaluation completes
-	 */
-	public void evaluateExpression(String expression, IDebugElement context, IWatchExpressionListener listener);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
deleted file mode 100644
index 34007a9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A watch expression listener is notified when an
- * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>
- * completes an evaluation.
- * 
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @see org.eclipse.debug.core.model.IWatchExpressionResult
- * @since 3.0
- */
-public interface IWatchExpressionListener {
-
-	/**
-	 * Notifies the listener that an evaluation has completed.
-	 * 
-	 * @param result the result of the evaluation
-	 */
-	public void watchEvaluationFinished(IWatchExpressionResult result);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
deleted file mode 100644
index 26bfd77..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The result of an evaluation performed by an
- * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>.
- * A watch expression reports the value of the evaluation
- * and any errors or exceptions that occurred.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @since 3.0
- */
-public interface IWatchExpressionResult {
-	/**
-	 * Returns the value representing the result of the
-	 * evaluation, or <code>null</code> if the
-	 * associated evaluation failed. If
-	 * the associated evaluation failed, there will
-	 * be problems, or an exception in this result.
-	 *
-	 * @return the resulting value, possibly
-	 * <code>null</code>
-	 */
-	public IValue getValue();
-	
-	/**
-	 * Returns whether the evaluation had any problems
-	 * or if an exception occurred while performing the
-	 * evaluation.
-	 *
-	 * @return whether there were any problems.
-	 * @see #getErrorMessages()
-	 * @see #getException()
-	 */
-	public boolean hasErrors();
-		
-	/**
-	 * Returns an array of problem messages. Each message describes a problem that
-	 * occurred while compiling the snippet.
-	 *
-	 * @return evaluation error messages, or an empty array if no errors occurred
-	 */
-	public String[] getErrorMessages();
-		
-	/**
-	 * Returns the expression that was evaluated.
-	 *
-	 * @return The string expression.
-	 */
-	public String getExpressionText();
-	
-	/**
-	 * Returns any exception that occurred while performing the evaluation
-	 * or <code>null</code> if an exception did not occur.
-	 * The exception will be a debug exception or a debug exception
-	 * that wrappers a debug model specific exception that indicates a problem communicating
-	 * with the target or with actually performing some action in the target.
-	 *
-	 * @return The exception that occurred during the evaluation
-	 * @see org.eclipse.debug.core.DebugException
-	 */
-	public DebugException getException();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
deleted file mode 100644
index bb356fe..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A breakpoint that suspends when an associated variable is
- * read or written.
- * <p>
- * Clients may implement this interface. Clients are not required to 
- * implement this interface to implement watchpoints, but those that do inherit
- * default rendering of images for watchpoints from the debug platform's
- * default label provider and actions to toggle access and modification
- * properties of a watchpoint.
- * </p>
- * @since 3.1
- */
-public interface IWatchpoint extends IBreakpoint {
-	/**
-	 * Returns whether this watchpoint will suspend execution when its associated
-	 * variable is accessed (read).
-	 * 
-	 * @return whether this is an access watchpoint
-	 * @exception CoreException if unable to access the property
-	 * 	on this breakpoint's underlying marker
-	 */	
-	public boolean isAccess() throws CoreException;
-	/**
-	 * Sets whether this breakpoint will suspend execution when its associated
-	 * variable is accessed.
-	 * 
-	 * @param access whether to suspend on access
-	 * @exception CoreException if unable to set the property on this breakpoint's
-	 *  underlying marker or if the capability is not supported
-	 */
-	public void setAccess(boolean access) throws CoreException;
-	/**
-	 * Returns whether this watchpoint will suspend execution when its associated
-	 * variable is written.
-	 * 
-	 * @return whether this is a modification watchpoint
-	 * @exception CoreException if unable to access the property
-	 * 	on this breakpoint's underlying marker
-	 */	
-	public boolean isModification() throws CoreException;
-	/**
-	 * Sets whether this breakpoint will suspend execution when its associated
-	 * variable is modified.
-	 * 
-	 * @param modification whether to suspend on modification
-	 * @exception CoreException if unable to set the property on
-	 * 	this breakpoint's underlying marker or if the capability is not supported
-	 */
-	public void setModification(boolean modification) throws CoreException;
-	/**
-	 * Returns whether this breakpoints supports the capability to suspend
-	 * when an associated variable is read.
-	 * 
-	 * @return whether this breakpoints supports the capability to suspend
-	 * when an associated variable is read
-	 */
-	public boolean supportsAccess();
-	/**
-	 * Returns whether this breakpoints supports the ability to suspend
-	 * when an associated variable is written.
-	 * 
-	 * @return whether this breakpoints supports the ability to suspend
-	 * when an associated variable is written
-	 */	
-	public boolean supportsModification();
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
deleted file mode 100644
index 7f18e38..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Default implementation of a launch configuration delegate. Provides
- * convenience methods for computing the build order of projects,
- * building projects, and searching for errors in the workspace. The
- * default pre-launch check prompts the user to launch in debug mode
- * if breakpoints are present in the workspace. 
- * <p>
- * Clients implementing launch configuration delegates should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class LaunchConfigurationDelegate implements ILaunchConfigurationDelegate2 {
-	
-	/**
-	 * Constant to define debug.core for the status codes
-	 * 
-	 * @since 3.2
-	 */
-	private static final String DEBUG_CORE = "org.eclipse.debug.core"; //$NON-NLS-1$
-	
-	/**
-	 * Constant to define debug.ui for the status codes
-	 * 
-	 * @since 3.2
-	 */
-	private static final String DEBUG_UI = "org.eclipse.debug.ui"; //$NON-NLS-1$
-	
-	/**
-	 * Constant to represent the empty string
-	 * 
-	 * @since 3.2
-	 */
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	
-	/**
-	 * Status code for which a UI prompter is registered.
-	 */
-	protected static final IStatus promptStatus = new Status(IStatus.INFO, DEBUG_UI, 200, EMPTY_STRING, null);
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if they
-	 * want to launch in debug mode when breakpoints are present.
-	 */
-	protected static final IStatus switchToDebugPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 201, EMPTY_STRING, null);
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if the
-	 * want to continue launch despite existing compile errors
-	 */
-	protected static final IStatus complileErrorPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 202, EMPTY_STRING, null);
-	
-	/**
-	 * Status code for which a prompter will ask the user to save any/all of the dirty editors which have only to do
-	 * with this launch (scoping them to the current launch/build)
-	 * 
-	 * @since 3.2
-	 */
-	protected static final IStatus saveScopedDirtyEditors = new Status(IStatus.INFO, DEBUG_CORE, 222, EMPTY_STRING, null);
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if the
-	 * want to continue launch despite existing compile errors in specific
-	 * projects. This enhances the 'compileErrorPromptStatus' by specifying
-	 * which projects the errors exist in.
-	 * 
-	 * @since 3.1
-	 */
-	protected static final IStatus complileErrorProjectPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 203, EMPTY_STRING, null);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IProject[] projects = getBuildOrder(configuration, mode);
-		if (projects == null) {
-			return true;
-		} 
-		buildProjects(projects, monitor);
-		return false;
-	}
-	
-	/**
-	 * Returns the projects to build before launching the given launch configuration
-	 * or <code>null</code> if the entire workspace should be built incrementally.
-	 * Subclasses should override as required.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @return projects to build, in build order, or <code>null</code>
-	 * @throws CoreException if an exception occurs
-	 */
-	protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/**
-	 * Returns the set of projects to use when searching for errors or <code>null</code> 
-	 * if no search is to be done.  
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @return a list of projects or <code>null</code>
-	 * @throws CoreException if an exception occurs
-	 */
-	protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#finalLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IProject[] projects = getProjectsForProblemSearch(configuration, mode);
-		if (projects == null) {
-			return true; //continue launch
-		}
-		boolean continueLaunch = true;
-			
-		monitor.subTask(DebugCoreMessages.LaunchConfigurationDelegate_6); 
-		List errors = new ArrayList();
-		for (int i = 0; i < projects.length; i++) {
-			monitor.subTask(MessageFormat.format(DebugCoreMessages.LaunchConfigurationDelegate_7, new String[]{projects[i].getName()})); 
-			if (existsProblems(projects[i])) {
-				errors.add(projects[i]);
-			}	
-		}	
-		if (!errors.isEmpty()) {
-			errors.add(0, configuration);
-			IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-			if (prompter != null) {
-				continueLaunch = ((Boolean) prompter.handleStatus(complileErrorProjectPromptStatus, errors)).booleanValue();
-			}
-		}
-			
-		return continueLaunch;
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * If launching in run mode, and the configuration supports debug mode, check
-	 * if there are any breakpoints in the workspace, and ask the user if they'd
-	 * rather launch in debug mode.
-	 * <p>
-	 * Since 3.2, this check also performs saving of resources before launching.
-	 * </p>
-	 * 
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		if (!saveBeforeLaunch(configuration, mode, monitor)) {
-			return false;
-		}
-		if (mode.equals(ILaunchManager.RUN_MODE) && configuration.supportsMode(ILaunchManager.DEBUG_MODE)) {
-			IBreakpoint[] breakpoints= getBreakpoints(configuration);
-            if (breakpoints == null) {
-                return true;
-            }
-			for (int i = 0; i < breakpoints.length; i++) {
-				if (breakpoints[i].isEnabled()) {
-					IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-					if (prompter != null) {
-						boolean launchInDebugModeInstead = ((Boolean)prompter.handleStatus(switchToDebugPromptStatus, configuration)).booleanValue();
-						if (launchInDebugModeInstead) { 
-							return false; //kill this launch
-						} 
-					}
-					// if no user prompt, or user says to continue (no need to check other breakpoints)
-					return true;
-				}
-			}
-		}	
-		// no enabled breakpoints... continue launch
-		return true;
-	}
-	
-	/**
-	 * Performs the scoped saving of resources before launching and returns whether
-	 * the launch should continue. By default, only resources contained within the projects
-	 * which are part of the build scope are considered.
-	 * <p>
-	 * Subclasses may override this method if required.
-	 * </p>
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode the launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should continue
-	 * @throws CoreException if an exception occurs during the save
-	 * @since 3.2
-	 */
-	protected boolean saveBeforeLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-		if(prompter != null) {
-			//do save here and remove saving from DebugUIPlugin to avoid it 'trumping' this save
-			IProject[] buildOrder = getBuildOrder(configuration, mode);
-			if(!((Boolean)prompter.handleStatus(saveScopedDirtyEditors, new Object[]{configuration, buildOrder})).booleanValue()) {
-				return false;
-			}
-		}	
-		return true;
-	}
-
-    /**
-     * Returns the breakpoint collection that is relevant for this launch delegate.
-     * By default this is all the breakpoints registered with the Debug breakpoint manager.
-     * 
-     * @since 3.1
-     * @return the breakpoints that are relevant for this launch delegate
-     */ 
-    protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration) {
-        IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-        if (!breakpointManager.isEnabled()) {
-            // no need to check breakpoints individually.
-            return null;
-        }
-        return breakpointManager.getBreakpoints();
-    }
-	
-	/**
-	 * Returns an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * and all of their referenced projects.
-	 *  
-	 * @param baseProjects a collection of projects
-	 * @return an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected IProject[] computeReferencedBuildOrder(IProject[] baseProjects) throws CoreException {
-		HashSet unorderedProjects = new HashSet();
-		for(int i = 0; i< baseProjects.length; i++) {
-			unorderedProjects.add(baseProjects[i]);
-			addReferencedProjects(baseProjects[i], unorderedProjects);
-		}
-		IProject[] projectSet = (IProject[]) unorderedProjects.toArray(new IProject[unorderedProjects.size()]);
-		return computeBuildOrder(projectSet);
-	}
-	
-	
-	/**
-	 * Adds all projects referenced by <code>project</code> to the given
-	 * set.
-	 * 
-	 * @param project project
-	 * @param references set to which referenced projects are added
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected void addReferencedProjects(IProject project, Set references) throws CoreException{
-		if (project.isOpen()) {
-			IProject[] projects = project.getReferencedProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject refProject= projects[i];
-				if (refProject.exists() && !references.contains(refProject)) {
-					references.add(refProject);
-					addReferencedProjects(refProject, references);
-				}
-			}		
-		}
-	}
-	
-	/**  
-	 * Returns a list of projects in their suggested build order from the
-	 * given unordered list of projects.
-	 * 
-	 * @param projects the list of projects to sort into build order
-	 * @return a new array containing all projects from <code>projects</code> sorted
-	 *   according to their build order.
-	 */
-	protected IProject[] computeBuildOrder(IProject[] projects) { 
-		String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription().getBuildOrder();
-		if (orderedNames != null) {
-			List orderedProjects = new ArrayList(projects.length);
-			//Projects may not be in the build order but should be built if selected
-			List unorderedProjects = new ArrayList(projects.length);
-			for(int i = 0; i < projects.length; ++i) {
-				unorderedProjects.add(projects[i]);
-			}
-			
-			for (int i = 0; i < orderedNames.length; i++) {
-				String projectName = orderedNames[i];
-				for (Iterator iterator = unorderedProjects.iterator(); iterator.hasNext(); ) {
-					IProject project = (IProject)iterator.next();
-					if (project.getName().equals(projectName)) {
-						orderedProjects.add(project);
-						iterator.remove();
-						break;
-					}
-				}
-			}
-			//Add anything not specified before we return
-			orderedProjects.addAll(unorderedProjects);
-			return (IProject[]) orderedProjects.toArray(new IProject[orderedProjects.size()]);
-		}
-		
-		// Computing build order returned null, try the project prerequisite order
-		IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace().computeProjectOrder(projects);
-		return po.projects;
-	}	
-	
-	/**
-	 * Returns whether the given project contains any problem markers of the
-	 * specified severity.
-	 * 
-	 * @param proj the project to search
-	 * @return whether the given project contains any problems that should
-	 *  stop it from launching
-	 * @throws CoreException if an error occurs while searching for
-	 *  problem markers
-	 */
-	protected boolean existsProblems(IProject proj) throws CoreException {
-		IMarker[] markers = proj.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
-		if (markers.length > 0) {
-			for (int i = 0; i < markers.length; i++) {
-				if (isLaunchProblem(markers[i])) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given problem should potentially abort the launch.
-	 * By default if the problem has an error severity, the problem is considered
-	 * a potential launch problem. Subclasses may override to specialize error
-	 * detection.
-	 * 
-	 * @param problemMarker candidate problem
-	 * @return whether the given problem should potentially abort the launch
-	 * @throws CoreException if any exceptions occur while accessing marker attributes
-	 */
-	protected boolean isLaunchProblem(IMarker problemMarker) throws CoreException {
-		Integer severity = (Integer)problemMarker.getAttribute(IMarker.SEVERITY);
-		if (severity != null) {
-			return severity.intValue() >= IMarker.SEVERITY_ERROR;
-		} 
-		
-		return false;
-	}
-	
-	/**
-	 * Performs an incremental build on each of the given projects.
-	 * 
-	 * @param projects projects to build
-	 * @param monitor progress monitor
-	 * @throws CoreException if an exception occurs while building
-	 */
-	protected void buildProjects(IProject[] projects, IProgressMonitor monitor) throws CoreException {
-		for (int i = 0; i < projects.length; i++ ) {
-			projects[i].build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
deleted file mode 100644
index 94f04ba..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * Abstract implementation of a line breakpoint. This class is
- * intended to be subclassed by debug model specific implementations
- * of line breakpoints.
- * 
- * @see ILineBreakpoint
- */
-
-public abstract class LineBreakpoint extends Breakpoint implements ILineBreakpoint {
-	
-
-	/**
-	 * @see ILineBreakpoint#getLineNumber()
-	 */
-	public int getLineNumber() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.LINE_NUMBER, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharStart()
-	 */
-	public int getCharStart() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_START, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharEnd()
-	 */
-	public int getCharEnd() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_END, -1);
-		}
-		return -1;
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
deleted file mode 100644
index 6498ec3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-/**
- * A byte of memory in a memory block. Each byte of memory has a value and
- * attributes indicating if the byte is read-only, valid, or if its value has
- * changed.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class to 
- * add other attributes to a memory byte, as required.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.model.IMemoryBlockExtension
- */
-public class MemoryByte {
-	
-    /**
-     * Bit mask used to indicate a byte is writable.
-     */
-	public static final byte	WRITABLE	= 0x01;
-	
-	/**
-	 * Bit mask used to indicate a byte is readable.
-	 * A memory byte is readable when its value and attributes are retrievable.
-	 * Otherwise, a byte is considered non-readable.
-	 */
-	public static final byte	READABLE		= 0x02;
-	
-	/**
-	 * Bit mask used to indicate a byte has changed since the last
-	 * suspend event.
-	 * 
-	 * @see org.eclipse.debug.core.DebugEvent#SUSPEND
-	 */
-	public static final byte	CHANGED		= 0x04;
-	
-	/**
-	 * Bit mask used to indicate a memory byte has history to
-	 * determine if its value has changed. When a memory byte's
-	 * history is unknown, the change state has no meaning.
-	 */
-	public static final byte 	HISTORY_KNOWN		= 0x08;
-	
-	/**
-	 * Bit mask used to indicate a this byte of memory
-	 * is big endian.  If this byte of memory is little endian,
-	 * turn this bit mask to off.
-	 */
-	public static final byte	BIG_ENDIAN	= 0x10;
-	
-	/**
-	 * Bit mask used to indicate that the endianess of this byte
-	 * of memory is known.  When a memory byte's endianess is
-	 * unknown, the endianess of this byte has no meaning.  
-	 */
-	public static final byte	ENDIANESS_KNOWN = 0x20;
-	
-	/**
-	 * Value of this byte.
-	 */
-	protected byte value;
-	
-	/**
-	 * Attribute flags.
-	 * <p>
-	 * To specify READABLE:  flags |= MemoryByte.READABLE;
-	 * To specify WRITABLE:  flags |= MemoryByte.WRITABLE;
-	 * </p>
-	 */
-	protected byte flags;
-	
-	/**
-	 * Constructs a readable, writable memory byte without a change history,
-	 * and a value of 0.  The byte's endianess is known and is little endian
-	 * by default.
-	 */
-	public MemoryByte() {
-	    this((byte)0, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
-	}
-	
-	/**
-	 * Constructs a readable, writable memory byte without a change history,
-	 * with the given value.  The byte's endianess is known and is little endian
-	 * by default.  
-	 * 
-	 * @param byteValue value of this memory byte
-	 * 
-	 */
-	public MemoryByte(byte byteValue) {
-	    this(byteValue, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
-	}
-	
-	/**
-	 * Constructs a memory byte with the given value and attributes.
-	 * 
-	 * @param byteValue value of this memory byte
-	 * @param byteFlags attributes of the byte specified as a bit mask 
-	 */
-	public MemoryByte(byte byteValue, byte byteFlags) {		
-		value = byteValue;
-		flags = byteFlags;
-	}
-
-	/**
-	 * Returns this memory byte's attribute as a bit mask.
-	 * 
-	 * @return this memory byte's attribute as a bit mask
-	 */
-	public byte getFlags() {
-		return flags;
-	}
-	/**
-	 * Sets this memory byte's attributes based on the given bit mask.
-	 * 
-	 * @param flags bit mask of attributes
-	 */
-	public void setFlags(byte flags) {
-		this.flags = flags;
-	}
-
-	/**
-	 * Returns the value of this memory byte.
-	 * 
-	 * @return the value of this memory byte
-	 */
-	public byte getValue() {
-		return value;
-	}
-	
-	/**
-	 * Sets the value of this memory byte.
-	 * 
-	 * @param value the new value of this memory byte
-	 */
-	public void setValue(byte value) {
-		this.value = value;
-	}
-	
-	/**
-	 * Sets whether this memory byte is readable. A memory byte
-	 * is considered readable when its value and attributes are
-	 * retrievable.
-	 * 
-	 * @param readable whether this memory byte is readable
-	 */
-	public void setReadable(boolean readable) {
-		flags |= MemoryByte.READABLE;
-		if (!readable)
-			flags ^= MemoryByte.READABLE;
-	}
-	
-	/**
-	 * Returns whether this memory byte is readable. A memory byte
-	 * is considered readable when its value and attributes are
-	 * retrievable.
-	 * 
-	 * @return whether this memory byte is readable
-	 */
-	public boolean isReadable() {
-		return ((flags & MemoryByte.READABLE) == MemoryByte.READABLE);
-	}
-	
-	/**
-	 * Sets whether this memory byte is writable.
-	 * 
-	 * @param writable whether this memory byte is writable.
-	 */
-	public void setWritable(boolean writable) {
-		flags |= MemoryByte.WRITABLE;
-		if (!writable)
-			flags ^= MemoryByte.WRITABLE;
-	}
-	
-	/**
-	 * Returns whether this memory byte is writable.
-	 * 
-	 * @return whether this memory byte is writable
-	 */
-	public boolean isWritable() {
-		return ((flags & MemoryByte.WRITABLE) == MemoryByte.WRITABLE);
-	}
-	
-	/**
-	 * Sets whether this memory byte has changed.
-	 * 
-	 * @param changed whether this memory byte has changed
-	 */
-	public void setChanged(boolean changed) {
-		flags |= MemoryByte.CHANGED;
-		if (!changed)
-			flags ^= MemoryByte.CHANGED;
-	}
-	
-	/**
-	 * Returns whether this memory byte has changed.
-	 * 
-	 * @return whether this memory byte has changed
-	 */
-	public boolean isChanged() {
-		return ((flags & MemoryByte.CHANGED) == MemoryByte.CHANGED);
-	}
-	
-	/**
-	 * Sets whether the history of this byte is known. When history
-	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
-	 * @param known whether the change state of this byte is known
-	 */
-	public void setHistoryKnown(boolean known) {
-		flags |= MemoryByte.HISTORY_KNOWN;
-		if (!known)
-			flags ^= MemoryByte.HISTORY_KNOWN;
-	}
-	
-	/**
-	 * Returns whether the history of this byte is known. When history
-	 * is unknown, the change state of a memory byte has no meaning.
-	 * 
-	 * @return whether the change state of this byte is known
-	 */
-	public boolean isHistoryKnown() {
-		return ((flags & MemoryByte.HISTORY_KNOWN) == MemoryByte.HISTORY_KNOWN);
-	}
-	
-	/**
-	 * Sets whether this byte of memory is big endian.
-	 * 
-	 * @param isBigEndian whether the byte of memory is big endian.
-	 */
-	public void setBigEndian(boolean isBigEndian)
-	{
-		flags |= MemoryByte.BIG_ENDIAN;
-		if (!isBigEndian)
-			flags ^= MemoryByte.BIG_ENDIAN;
-	}
-	
-	/**
-	 * Returns whether this byte of memory is big endian.
-	 * 
-	 * @return whether the byte of memory is big endian.
-	 */
-	public boolean isBigEndian()
-	{
-		return ((flags & MemoryByte.BIG_ENDIAN) == MemoryByte.BIG_ENDIAN);
-	}
-	
-	/**
-	 * Sets whether the endianess of this byte of memory is known.
-	 * If the endianess is unknown, the endianess of this byte
-	 * has no meaning. 
-	 * 
-	 * @param isEndianessKnown whether the endianess of this byte is known.
-	 */
-	public void setEndianessKnown(boolean isEndianessKnown)
-	{
-		flags |= MemoryByte.ENDIANESS_KNOWN;
-		if (!isEndianessKnown)
-			flags ^= MemoryByte.ENDIANESS_KNOWN;
-	}
-	
-	/**
-	 * Returns whether the endianess of this byte of memory is known.
-	 * If the endianess is unknown, the endianess of this byte
-	 * has no meaning.
-	 *  
-	 * @return whether the endianess of this byte of memory is known.
-	 */
-	public boolean isEndianessKnown()
-	{
-		return ((flags & MemoryByte.ENDIANESS_KNOWN) == MemoryByte.ENDIANESS_KNOWN);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
deleted file mode 100644
index 8aa90bf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.NullStreamsProxy;
-import org.eclipse.debug.internal.core.StreamsProxy;
-
-
-/**
- * Standard implementation of an <code>IProcess</code> that wrappers a system
- * process (<code>java.lang.Process</code>).
- * <p>
- * Clients may subclass this class. Clients that need to replace the implementation
- * of a streams proxy associated with an <code>IProcess</code> should subclass this
- * class. Generally clients should not instantiate this class directly, but should
- * instead call <code>DebugPlugin.newProcess(...)</code>, which can delegate to an 
- * <code>IProcessFactory</code> if one is referenced by the associated launch configuration.
- * </p>
- * @see org.eclipse.debug.core.model.IProcess
- * @see org.eclipse.debug.core.IProcessFactory
- * @since 3.0
- */
-public class RuntimeProcess extends PlatformObject implements IProcess {
-
-	private static final int MAX_WAIT_FOR_DEATH_ATTEMPTS = 10;
-	private static final int TIME_TO_WAIT_FOR_THREAD_DEATH = 500; // ms
-	
-	/**
-	 * The launch this process is contained in
-	 */
-	private ILaunch fLaunch;
-	
-	/**
-	 * The system process represented by this <code>IProcess</code>
-	 */
-	private Process fProcess;
-	
-	/**
-	 * This process's exit value
-	 */
-	private int fExitValue;
-	
-	/**
-	 * The monitor which listens for this runtime process' system process
-	 * to terminate.
-	 */
-	private ProcessMonitorThread fMonitor;
-	
-	/**
-	 * The streams proxy for this process
-	 */
-	private IStreamsProxy fStreamsProxy;
-
-	/**
-	 * The name of the process
-	 */
-	private String fName;
-
-	/**
-	 * Whether this process has been terminated
-	 */
-	private boolean fTerminated;
-	
-	/**
-	 * Table of client defined attributes
-	 */
-	private Map fAttributes;
-	
-	/**
-	 * Whether output from the process should be captured or swallowed
-	 */
-	private boolean fCaptureOutput = true;
-
-	/**
-	 * Constructs a RuntimeProcess on the given system process
-	 * with the given name, adding this process to the given
-	 * launch.
-	 * 
-	 * @param launch the parent launch of this process
-	 * @param process underlying system process
-	 * @param name the label used for this process
-	 * @param attributes map of attributes used to initialize the attributes
-	 *   of this process, or <code>null</code> if none
-	 */
-	public RuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
-		setLaunch(launch);
-		initializeAttributes(attributes);
-		fProcess= process;
-		fName= name;
-		fTerminated= true;
-		try {
-			process.exitValue();
-		} catch (IllegalThreadStateException e) {
-			fTerminated= false;
-		}
-		
-		String captureOutput = launch.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT);
-		fCaptureOutput = !("false".equals(captureOutput)); //$NON-NLS-1$
-
-		fStreamsProxy= createStreamsProxy();
-		fMonitor = new ProcessMonitorThread(this);
-		fMonitor.start();
-		launch.addProcess(this);
-		fireCreationEvent();
-	}
-
-	/**
-	 * Initialize the attributes of this process to those in the given map.
-	 * 
-	 * @param attributes attribute map or <code>null</code> if none
-	 */
-	private void initializeAttributes(Map attributes) {
-		if (attributes != null) {
-			Iterator keys = attributes.keySet().iterator();
-			while (keys.hasNext()) {
-				String key = (String)keys.next();
-				setAttribute(key, (String)attributes.get(key));
-			}	
-		}
-	}
-
-	/**
-	 * @see ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !fTerminated;
-	}
-
-	/**
-	 * @see IProcess#getLabel()
-	 */
-	public String getLabel() {
-		return fName;
-	}
-	
-	/**
-	 * Sets the launch this process is contained in
-	 * 
-	 * @param launch the launch this process is contained in
-	 */
-	protected void setLaunch(ILaunch launch) {
-		fLaunch = launch;
-	}
-
-	/**
-	 * @see IProcess#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-
-	/**
-	 * Returns the underlying system process associated with this process.
-	 * 
-	 * @return system process
-	 */
-	protected Process getSystemProcess() {
-		return fProcess;
-	}
-
-	/**
-	 * @see ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return fTerminated;
-	}
-
-	/**
-	 * @see ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		if (!isTerminated()) {			
-			if (fStreamsProxy instanceof StreamsProxy) {
-				((StreamsProxy)fStreamsProxy).kill();
-			}
-			Process process = getSystemProcess();
-			if (process != null) {
-			    process.destroy();
-			}
-			int attempts = 0;
-			while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {
-				try {
-				    process = getSystemProcess();
-					if (process != null) {
-						fExitValue = process.exitValue(); // throws exception if process not exited
-					}
-					return;
-				} catch (IllegalThreadStateException ie) {
-				}
-				try {
-					Thread.sleep(TIME_TO_WAIT_FOR_THREAD_DEATH);
-				} catch (InterruptedException e) {
-				}
-				attempts++;
-			}
-			// clean-up
-			if (fMonitor != null) {
-				fMonitor.killThread();
-				fMonitor = null;
-			}
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_terminate_failed, null);		 
-			throw new DebugException(status);
-		}
-	}
-
-	/**
-	 * Notification that the system process associated with this process
-	 * has terminated.
-	 */
-	protected void terminated() {
-		if (fStreamsProxy instanceof StreamsProxy) {
-			((StreamsProxy)fStreamsProxy).close();
-		}
-		fTerminated= true;
-		try {
-			fExitValue = fProcess.exitValue();
-		} catch (IllegalThreadStateException ie) {
-		}
-		fProcess= null;
-		fireTerminateEvent();
-	}
-		
-	/**
-	 * @see IProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-	    if (!fCaptureOutput) {
-	        return null;
-	    }
-		return fStreamsProxy;
-	}
-	
-	/**
-	 * Creates and returns the streams proxy associated with this process.
-	 * 
-	 * @return streams proxy
-	 */
-	protected IStreamsProxy createStreamsProxy() {
-	    if (!fCaptureOutput) {
-	        return new NullStreamsProxy(getSystemProcess());
-	    }
-		String encoding = getLaunch().getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING);	    
-		return new StreamsProxy(getSystemProcess(), encoding);
-	}	
-	
-	/**
-	 * Fires a creation event.
-	 */
-	protected void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-
-	/**
-	 * Fires the given debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	protected void fireEvent(DebugEvent event) {
-		DebugPlugin manager= DebugPlugin.getDefault();
-		if (manager != null) {
-			manager.fireDebugEventSet(new DebugEvent[]{event});
-		}
-	}
-
-	/**
-	 * Fires a terminate event.
-	 */
-	protected void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}
-
-	/**
-	 * Fires a change event.
-	 */	
-	protected void fireChangeEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE));
-	}
-
-	/**
-	 * @see IProcess#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		Object origVal = fAttributes.get(key);
-		if (origVal != null && origVal.equals(value)) {
-			return; //nothing changed.
-		}
-		
-		fAttributes.put(key, value);
-		fireChangeEvent();
-	}
-	
-	/**
-	 * @see IProcess#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IProcess.class)) {
-			return this;
-		}
-		if (adapter.equals(IDebugTarget.class)) {
-			ILaunch launch = getLaunch();
-			IDebugTarget[] targets = launch.getDebugTargets();
-			for (int i = 0; i < targets.length; i++) {
-				if (this.equals(targets[i].getProcess())) {
-					return targets[i];
-				}
-			}
-			return null;
-		}
-		if (adapter.equals(ILaunch.class)) {
-			return getLaunch();
-		}
-		//CONTEXTLAUNCHING
-		if(adapter.equals(ILaunchConfiguration.class)) {
-			return getLaunch().getLaunchConfiguration();
-		}
-		return super.getAdapter(adapter);
-	}
-	/**
-	 * @see IProcess#getExitValue()
-	 */
-	public int getExitValue() throws DebugException {
-		if (isTerminated()) {
-			return fExitValue;
-		} 
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_Exit_value_not_available_until_process_terminates__1, null)); 
-	}
-	
-	/**
-	 * Monitors a system process, waiting for it to terminate, and
-	 * then notifies the associated runtime process.
-	 */
-	class ProcessMonitorThread extends Thread {
-		
-		/**
-		 * Whether the thread has been told to exit.
-		 */
-		protected boolean fExit;
-		/**
-		 * The underlying <code>java.lang.Process</code> being monitored.
-		 */
-		protected Process fOSProcess;	
-		/**
-		 * The <code>IProcess</code> which will be informed when this
-		 * monitor detects that the underlying process has terminated.
-		 */
-		protected RuntimeProcess fRuntimeProcess;
-
-		/**
-		 * The <code>Thread</code> which is monitoring the underlying process.
-		 */
-		protected Thread fThread;
-		
-		/**
-		 * A lock protecting access to <code>fThread</code>.
-		 */
-		private final Object fThreadLock = new Object();
-
-		/**
-		 * @see Thread#run()
-		 */
-		public void run() {
-			synchronized (fThreadLock) {
-				if (fExit) {
-					return;
-				}
-				fThread = Thread.currentThread();
-			}
-			while (fOSProcess != null) {
-				try {
-					fOSProcess.waitFor();
-				} catch (InterruptedException ie) {
-					// clear interrupted state
-					Thread.interrupted();
-				} finally {
-					fOSProcess = null;
-					fRuntimeProcess.terminated();
-				}
-			}
-			fThread = null;
-		}
-
-		/**
-		 * Creates a new process monitor and starts monitoring the process for
-		 * termination.
-		 * 
-		 * @param process process to monitor for termination
-		 */
-		public ProcessMonitorThread(RuntimeProcess process) {
-			super(DebugCoreMessages.ProcessMonitorJob_0); 
-			setDaemon(true);
-			fRuntimeProcess= process;
-			fOSProcess= process.getSystemProcess();
-		}
-
-		/**
-		 * Kills the monitoring thread.
-		 * 
-		 * This method is to be useful for dealing with the error
-		 * case of an underlying process which has not informed this
-		 * monitor of its termination.
-		 */
-		protected void killThread() {
-			synchronized (fThreadLock) {
-				if (fThread == null) {
-					fExit = true;
-				} else {
-					fThread.interrupt();
-				}
-			}
-		}
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 6192e28..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for debug model elements, source lookup, and launching.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces known as the &quot;debug model&quot; 
-  which support an extensible set of debug architectures and languages. The debug 
-  model is a set of interfaces representing common artifacts in debuggable programs. 
-  The debug plug-in itself does not provide an implementation of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Debug Model</h4>
-
-<p>A client implements a debug model by
-providing an implementation of the interfaces defined in this package. (There is no explicit
-extension point that represents a debug model). Each debug model provides one or more
-launch configuration types capable of initiating a debug session.</p>
-
-<p>The common elements defined by the debug model are: 
-
-<ul>
-  <li>Debug Target - A debug target represents a debuggable program - for example, a virtual
-    machine or a process.</li>
-  <li>Thread - A debug target may contain one or more threads.</li>
-  <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>
-  <li>Variable - A stack frame may contain variables.</li>
-  <li>Value - Each variable has an associated value, and a value may contain more variables (to
-  	represent complex data structures and objects).</li>
-  <li>Register Group - A stack frame may (optionally) be associated with one or more register
-    groups.</li>
-  <li>Register - A register group contains one or more registers.</li>
-  <li>Memory Blocks - A debug target may (optionally) support the retrieval of
-    arbitrary contiguous segments of memory.</li>
-  <li>Breakpoint - Breakpoints suspend the execution of a program.</li>
-  <li>Expression -  An expression is a snippet of code that can be evaluated to
-  	produce a value.</li>
-</ul>
-
-<p>A debug model implementation is responsible for firing debug events. A debug event
-corresponds to an event in a program being debugged - for example the creation or
-termination of a thread.</p>
-
-<h4>Breakpoints</h4>
-
-<p>Breakpoints are used to suspend the execution of a program being debugged. There are
-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count
-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug
-architecture, and the information required to create those breakpoints
-is dictated by each debug architecture. The debug platform supports an extensible
-set of breakpoint via the breakpoints extension point.</p>
-
-<p>The debug platform provides a breakpoint manager that maintains the collection 
-  of all registered breakpoints. Clients add and remove breakpoints via this manager. 
-  Breakpoints are implemented by instances of <b>IBreakpoint</b>. Each breakpoint 
-  object has an associated marker, which provides persistence and presentation 
-  in editors. The debug platform defines a generic breakpoint and line breakpoint, 
-  as well as their corresponding marker definitions. Breakpoint creation is a 
-  client responsibility - that is, defining the attributes of a breakpoint and 
-  the resource to associate a breakpoint marker with.</p>
-
-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined 
-  with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints 
-  are restored at workspace startup time by the breakpoint manager - that is, 
-  breakpoint objects are created for all persisted markers which are a subtype 
-  of the root breakpoint marker and are added to the breakpoint manager. To allow 
-  for selective persistence of breakpoints (of the same kind), the <b>IBreakpoint</b> 
-  interface and root breakpoint implementation defines a &quot;persisted&quot; 
-  attribute. If this value is set to false, the breakpoint will not be persisted 
-  across workspace invocations.</p>
-
-<p>As breakpoint markers are modified (created, removed, and changed), resource 
-  deltas are created by the platform. The breakpoint manager translates pertinent 
-  resource deltas into breakpoint change notifications (breakpoint added/removed/changed 
-  messages). Interested listeners may register with the breakpoint manager. The 
-  breakpoint manager only fires change notifications for registered breakpoints. 
-  This simplifies breakpoint processing for clients, as resource delta traversal 
-  and analysis is not required. Debug targets that support breakpoints should 
-  register for breakpoint change notifications.</p>
-<h4>New Features in the Debug Model, Eclipse 3.0</h4>
-<blockquote> 
-  <h4>Launch Delegate Enhancements<br>
-  </h4>
-  <p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>. 
-    This allows launch delegates to provide a launch object to be used for a launch. 
-    For example, when debugging on a server a delegate could create a new launch 
-    object or may reuse an existing launch object if the server is already running 
-    in debug mode. As well, the inteface provides a mechanism for performing a 
-    scoped build prior to launching (i.e. scoped to the projects in the workspace 
-    pertaining to the launch), and searching for errors in the workspace which 
-    may prevent the launch from succeeding (for example, compilation errors).</p>
-  <p></p>
-  <h4>Extensible Watch Expressions</h4>
-  <p>The debug platform provides an implementation of watch expressions. Debug 
-    models can contribute watch expression delegates if they support watch expressions. 
-    When a stack frame is selected, the associated delegate is queried to provide 
-    a value for a watch expression in that context. The debug platform provides 
-    persistence, enabling, disabling, entering, and editing of watch expressions.</p>
-  <h4>Automatic Array Partitioning<br>
-  </h4>
-  <p>The debug plug-in supports automatic partitioning of indexed collections, 
-    which partitions large arrays into sub-ranges in the variables view. This 
-    is supported with the introduction of a new interface in the debug model representing 
-    an indexed value - <code>IIndexedValue</code>. If a value implements this 
-    interface, the variables view will automatically partition its elements as 
-    required, into sub-ranges</p>
-  <h4>Logical Structure Types<br>
-  </h4>
-  <p>Often, it is convenient to navigate complex data structures in terms of a 
-    logical structure, rather than an implementation structure. For example, no 
-    matter how a list is implemented (i.e. linked list, collection of arrays, 
-    etc.), it is often convenient to be able to view the list as an ordered collection. 
-    To facilitate the display of logical structures in the variables view, an 
-    extension point has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>) 
-    allowing debug models to contribute logical structures of its values, where 
-    applicable. Debug models may contribute delegates to translate raw implementation 
-    values into logical values. The variables view will display the logical values, 
-    when the option to display logical structures is turned on. More than one 
-    logical structure can be provided for a single value - the user can choose 
-    which structure to display.</p>
-  <h4>Step Filters<br>
-  </h4>
-  <p>To support step filters on all stepping functions (into, over, return), a 
-    new interface has been added to the debug platform - <code>IStepFilters</code> 
-    - which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>, 
-    which is now deprecated. The debugger provides a global toggle that turns 
-    step filters on/off for all stepping functions. Debug targets should implement 
-    this new interface and honor the step filter enablement setting when stepping.</p>
-  <p>This change maintains binary compatibility with previous releases. However, 
-    targets wishing to leverage the new function must implement the new interface.<br>
-  </p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
deleted file mode 100644
index 069ad32..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for launching programs, breakpoint management, expression management,
-and debug events.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support facilities common among 
-  many debug architectures: launching programs, breakpoint management, expression 
-  management, and debug events. An extensible set of debug architectures and languages 
-  are supported by the definition of a &quot;debug model&quot; - a set of interfaces 
-  representing common artifacts in debuggable programs, which are defined in <b>org.eclipse.debug.core.model</b>. 
-  The debug plug-in itself does not provide an implementation of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Managers</h4>
-
-<p>The debug platform defines and provides an implementation of the following managers:
-<ul>
-  <li>Launch Manager - The launch manager maintains the set of registered launches 
-    - that is, a collection of programs that have been launched in debuggable 
-    or non-debuggable (run) mode. Each launch contains its associated debug targets 
-    and system processes. A launch that represents a debuggable program may specify 
-    an associated source locator used to locate source elements associated with 
-    stack frames for a particular debug session. Clients may provide implementations 
-    of source locators, which are generally tied to the manner in which a program 
-    is launched.</li>
- <li>Breakpoint Manager - The breakpoint manager maintains, persists, and restores the collection
-    of all registered breakpoints in the workspace. As well, it provides change notification for
-    breakpoints.</li>
- <li>Expression Manager - The expression manager maintains a collection of registered expressions.
-    Expressions are not automatically persisted, but a client could persist its own expressions
-    if required.</li>
-</ul>
-<p></p>
-
-<h4>Launch Configurations</h4>
-
-<p>A launch configuration is a persistable description of how to launch an application. 
-  Each launch configuration is an instance of a type of launch configuration - 
-  for example, a Java Application. The debug plug-in defines a launch configuration 
-  type extension point that clients can contribute to. A launch configuration 
-  is a set of attributes describing how to launch a program. The launching of 
-  an application is performed by an associated implementation of a launch configuration 
-  delegate, contributed by each launch configuration type extension.</p>
-<p>A launch configuration may be stored as a file in the worksapce (and shared 
-  in a repository via standard team mechanisms), or may be stored locally, essentially 
-  making the launch configuration private for a single user.</p>
-<h4>New Features in the Debug Platform, Eclipse 3.0</h4>
-<blockquote> 
-  <h4>Extensible Launch Modes</h4>
-  <p>The debug platform supports an extensible set of launch modes. Prior releases 
-    only supported two launch modes - run and debug. The debug platform defines 
-    an extension point for contributing new launch modes (<code>org.eclipse.debug.core.launchModes)</code>, 
-    and contributes three basic launch modes itself: run, debug, and profile. 
-    The launch manager has API to retrieve all launch modes, and a human readable 
-    label for each launch mode.</p>
-  <p>The debug platform has an extension point to support the contribution of 
-    a launch delegate for a specific launch configuration type and launch mode 
-    - <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch 
-    configurations to be extended by third parties, to support new launch modes. 
-    For example, a client could contribute a launch delegate that launches a Java 
-    Application in profile mode (currently, the SDK does not provide a Java profiler).</p>
-  <p>For backwards compatibility, the launch delegate supplied by a launch configuration 
-    type extension is used for the launch modes specified by the launch configuration 
-    type. A launch delegate supplied for a specific mode, is used only for that 
-    mode.</p>
-  <h4>Extensible Debug Events</h4>
-  <p>The debug platform supports an extensible set of debug events. A debug event 
-    kind of <code>MODEL_SPECIFIC</code> has been added to indicate an application 
-    specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-    is created, the detail code in the event is client defined. The source of 
-    the event (debug element that generated the event) identifies the debug model 
-    from which the event was generated. The debug platform and user interface 
-    ignores model specific debug events.</p>
-  <p>A data field has been added to debug events to allow clients to store application 
-    specific data in debug events.<br>
-  </p>
-  <h4>Process Factories<br>
-  </h4>
-  <p>The debug platform provides an extension point (<code>org.eclipse.debug.core.processFactories</code>) 
-    for contributing process factories. A process factory can be used to override 
-    default process creation for a launch configuration when the debug plug-in 
-    creates a new process. A launch configuration can specify a process factory 
-    to use when creating a process, via the launch configuration attribute<code> 
-    DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>.</p>
-  <h4>Launch Termination Notification<br>
-  </h4>
-  <p>The debug platform provides a mechanism for launch listeners to be notified 
-    when a launch terminates. A launch is a container of processes and debug targets. 
-    When all of the contained targets and processes terminate, a terminate notification 
-    is sent to those listeners implementing <code>ILaunchesListener2</code>.</p>
-  <h4>Breakpoint Manager Enablement<br>
-  </h4>
-  <p>The breakpoint manager defines the methods <code>setEnabled(boolean)</code> 
-    and <code>isEnabled()</code>. When the breakpoint manager is disabled, debuggers 
-    should ignore all registered breakpoints. The debug platform also provides 
-    a new listener mechanism, <code>IBreakpointManagerListener</code> which allows 
-    clients to register with the breakpoint manager to be notified when its enablement 
-    changes.</p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
deleted file mode 100644
index e5a2892..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
+++ /dev/null
@@ -1,746 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 88232
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Directs source lookup among a collection of source lookup participants,
- * and a common collection of source containers.
- * Each source lookup participant is a source locator itself, which allows
- * more than one source locator to participate in source lookup for a
- * launch. Each source lookup participant searches for source in the source
- * containers managed by this director, and each participant is notified
- * of changes in the source containers (i.e. when the set of source
- * containers changes).
- * <p>
- * When a source director is initialized, it adds it self as a launch listener,
- * and automatically disposes itself when its associated launch is removed
- * from the launch manager. If a source director is instantiated by a client
- * that is not part of a launch, that client is responsible for disposing
- * the source director.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ISourceLocator
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant
- */
-public abstract class AbstractSourceLookupDirector implements ISourceLookupDirector, ILaunchConfigurationListener, ILaunchListener {
-	
-	// source locator type identifier
-	protected String fId;
-	//ISourceLocatorParticipants that are listening for container changes
-	protected ArrayList fParticipants = new ArrayList();
-	//list of current source containers
-	protected ISourceContainer[] fSourceContainers = null;
-	//the launch config associated with this director
-	protected ILaunchConfiguration fConfig; 
-	//whether duplicates should be searched for or not
-	protected boolean fDuplicates = false;
-	// source path computer, or null if default
-	protected ISourcePathComputer fComputer = null;
-	/**
-	 * Cache of resolved source elements when duplicates exist.
-	 * Keys are the duplicates, values are the source element to use.
-	 */
-	protected Map fResolvedElements = null;
-	
-	protected static final IStatus fPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	protected static final IStatus fResolveDuplicatesStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 205, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	// XML nodes & attributes for persistence
-	protected static final String DIRECTOR_ROOT_NODE = "sourceLookupDirector"; //$NON-NLS-1$
-	protected static final String CONTAINERS_NODE = "sourceContainers"; //$NON-NLS-1$
-	protected static final String DUPLICATES_ATTR = "duplicates"; //$NON-NLS-1$
-	protected static final String CONTAINER_NODE = "container"; //$NON-NLS-1$
-	protected static final String CONTAINER_TYPE_ATTR = "typeId"; //$NON-NLS-1$
-	protected static final String CONTAINER_MEMENTO_ATTR = "memento"; //$NON-NLS-1$
-	  
-	class SourceLookupQuery implements ISafeRunnable {
-		
-		private List fSourceElements = new ArrayList();
-		private Object fElement = null;
-		private Throwable fException = null;
-		
-		SourceLookupQuery(Object element) {
-			fElement = element;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			fException = exception;
-		}
-		
-		/**
-		 * Returns any exception that occurred during source lookup.
-		 * 
-		 * @return the (any) exception that occured during source lookup
-		 */
-		public Throwable getException() {
-			return fException;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			MultiStatus multiStatus = null;
-			CoreException single = null;
-			ISourceLookupParticipant[] participants = getParticipants();
-			for(int i=0; i < participants.length; i++) {
-				Object[] sourceArray;
-				try {
-					sourceArray = participants[i].findSourceElements(fElement);
-					if (sourceArray !=null && sourceArray.length > 0) {
-						if (isFindDuplicates()) {
-							for(int j=0; j<sourceArray.length; j++)
-								if(!checkDuplicate(sourceArray[j], fSourceElements))
-									fSourceElements.add(sourceArray[j]);
-						} else {
-							fSourceElements.add(sourceArray[0]);
-							return;
-						}
-					}
-				} catch (CoreException e) {
-					if (single == null) {
-						single = e;
-					} else if (multiStatus == null) {
-						multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null); 
-						multiStatus.add(e.getStatus());
-					} else {
-						multiStatus.add(e.getStatus());
-					}
-				}
-			}	
-			if (fSourceElements.isEmpty()) {
-				// set exception if there was one
-				if (multiStatus != null) {
-					fException = new CoreException(multiStatus);
-				} else if (single != null) {
-					fException = single;
-				}
-			}
-		}
-		
-		public List getSourceElements() {
-			return fSourceElements;
-		}
-
-		public void dispose() {
-			fElement = null;
-			fSourceElements = null;
-			fException = null;
-		}
-		
-	}
-	
-	/**
-	 * Constructs source lookup director
-	 */
-	public AbstractSourceLookupDirector() {
-	}
-	
-	/**
-	 * Sets the type identifier for this source locator's type
-	 *  
-	 * @param id corresponds to source locator type identifier for a
-	 *  persistable source locator 
-	 */
-	public void setId(String id) {
-		fId = id;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#dispose()
-	 */
-	public synchronized void dispose() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchConfigurationListener(this);
-		launchManager.removeLaunchListener(this);
-		Iterator iterator = fParticipants.iterator();
-		while (iterator.hasNext()) {
-			ISourceLookupParticipant participant = (ISourceLookupParticipant) iterator.next();
-			//director may also be a participant
-			if(participant != this)
-				participant.dispose();
-		}
-		fParticipants.clear();
-		if (fSourceContainers != null) {
-			for (int i = 0; i < fSourceContainers.length; i++) {
-				fSourceContainers[i].dispose();
-			}
-		}
-		fSourceContainers = null;
-		fResolvedElements = null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Constructs source containers from a list of container mementos.
-	 * 
-	 * @param list the list of nodes to be parsed
-	 * @exception CoreException if parsing encounters an error
-	 * @return a list of source containers
-	 */
-	private List parseSourceContainers(NodeList list) throws CoreException {
-		List containers = new ArrayList();
-		for (int i=0; i < list.getLength(); i++) {
-			if(!(list.item(i).getNodeType() == Node.ELEMENT_NODE))
- 				continue;
-			Element element = (Element)list.item(i);
-			String typeId = element.getAttribute(CONTAINER_TYPE_ATTR);
-			if (typeId == null || typeId.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.AbstractSourceLookupDirector_11, null); 
-			}
-			ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
-			if(type == null) {
-				abort(MessageFormat.format(SourceLookupMessages.AbstractSourceLookupDirector_12, new String[]{typeId}), null); 
-			}			
-			String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
-			if (memento == null || memento.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.AbstractSourceLookupDirector_13, null); 
-			}
-			ISourceContainer container = type.createSourceContainer(memento);
-			containers.add(container);
-		}	
-		return containers;
-	}
-	
-	/**
-	 * Registers the given source lookup participant. Has no effect if an identical
-	 * participant is already registered. Participants receive notification
-	 * when the source containers associated with this source director change. 
-	 * 
-	 * @param participant the participant to register
-	 */
-	private synchronized void addSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (!fParticipants.contains(participant)) {
-			fParticipants.add(participant);
-			participant.init(this);
-		}	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceContainers()
-	 */
-	public synchronized ISourceContainer[] getSourceContainers() {
-		if (fSourceContainers == null) {
-			return new ISourceContainer[0];
-		}
-		ISourceContainer[] copy = new ISourceContainer[fSourceContainers.length];
-		System.arraycopy(fSourceContainers, 0, copy, 0, fSourceContainers.length);
-		return copy;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {			
-		return fDuplicates;			
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setFindDuplicates(boolean)
-	 */
-	public void setFindDuplicates(boolean duplicates) {			
-		fDuplicates = duplicates;			
-	}	
-	
-	/**
-	 * Removes the given participant from the list of registered participants.
-	 * Has no effect if an identical participant is not already registered.
-	 * 
-	 * @param participant the participant to remove
-	 */
-	private synchronized void removeSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (fParticipants.remove(participant)) {
-			participant.dispose();
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		ILaunchConfiguration from = DebugPlugin.getDefault().getLaunchManager().getMovedFrom(configuration);
-		if (from != null && from.equals(getLaunchConfiguration())) {
-			fConfig = configuration;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Updates source containers in response to changes in underlying launch
-	 * configuration. Only responds to changes in non-working copies.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		if (fConfig == null || configuration.isWorkingCopy()) {
-			return;
-		}
-		if(fConfig.equals(configuration)) {
-			try{
-				String locatorMemento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO,(String)null);
-				if (locatorMemento == null) {
-					initializeDefaults(configuration);
-				} else {
-					initializeFromMemento(locatorMemento, configuration);
-				}
-			} catch (CoreException e){
-			}
-		}
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		if (configuration.equals(getLaunchConfiguration())) {
-			if (DebugPlugin.getDefault().getLaunchManager().getMovedTo(configuration) == null) {
-				fConfig = null;
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#getMemento()
-	 */
-	public synchronized String getMemento() throws CoreException {
-		Document doc = DebugPlugin.newDocument();
-		Element rootNode = doc.createElement(DIRECTOR_ROOT_NODE);
-		doc.appendChild(rootNode);
-				
-		Element pathNode = doc.createElement(CONTAINERS_NODE);		
-		if(fDuplicates) {
-			pathNode.setAttribute(DUPLICATES_ATTR, "true"); //$NON-NLS-1$
-		} else {
-			pathNode.setAttribute(DUPLICATES_ATTR, "false"); //$NON-NLS-1$
-		}
-		rootNode.appendChild(pathNode);
-		if(fSourceContainers !=null){
-			for(int i=0; i<fSourceContainers.length; i++){
-				Element node = doc.createElement(CONTAINER_NODE);
-				ISourceContainer container = fSourceContainers[i];
-				ISourceContainerType type = container.getType();
-				node.setAttribute(CONTAINER_TYPE_ATTR, type.getId());
-				node.setAttribute(CONTAINER_MEMENTO_ATTR, type.getMemento(container));
-				pathNode.appendChild(node);
-			}
-		}
-		return DebugPlugin.serializeDocument(doc);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeFromMemento(java.lang.String)
-	 */
-	public void initializeFromMemento(String memento) throws CoreException {
-	    doInitializeFromMemento(memento, true);
-	}
-	
-	/**
-	 * Initializes this source lookup director from the given memento.
-	 * Disposes itself before initialization if specified.
-	 * 
-	 * @param memento source locator memento
-	 * @param dispose whether to dispose any current source containers and participants
-	 *  before initializing
-	 * @throws CoreException if an exception occurs during initialization
-	 * @since 3.1
-	 */
-	protected void doInitializeFromMemento(String memento, boolean dispose) throws CoreException {
-	    if (dispose) {
-	        dispose();
-	    }
-		Element rootElement = DebugPlugin.parseDocument(memento);		
-		if (!rootElement.getNodeName().equalsIgnoreCase(DIRECTOR_ROOT_NODE)) { 
-			abort(SourceLookupMessages.AbstractSourceLookupDirector_14, null); 
-		}
-		NodeList list = rootElement.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				if(entry.getNodeName().equalsIgnoreCase(CONTAINERS_NODE)){
-					setFindDuplicates("true".equals(entry.getAttribute(DUPLICATES_ATTR))); //$NON-NLS-1$
-					NodeList children = entry.getChildNodes();
-					List containers = parseSourceContainers(children);
-					setSourceContainers((ISourceContainer[]) containers.toArray(new ISourceContainer[containers.size()]));
-				}
-			}
-		}
-		initializeParticipants();
-	}	
-	
-	/**
-	 * Sets the source containers used by this source lookup
-	 * director.
-	 * 
-	 * @param containers source containers to search
-	 */
-	public void setSourceContainers(ISourceContainer[] containers) {
-		synchronized (this) {
-			List list = Arrays.asList( containers );
-			ISourceContainer[] old = getSourceContainers();
-			for (int i = 0; i < old.length; i++) {
-				// skip overlapping containers
-				if (!list.contains(old[i]))
-					old[i].dispose();
-			}
-			fSourceContainers = containers;
-			for (int i = 0; i < containers.length; i++) {
-				ISourceContainer container = containers[i];
-				container.init(this);
-			}
-		}
-		// clear resolved duplicates
-		fResolvedElements = null;
-		// notify participants
-		ISourceLookupParticipant[] participants = getParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			ISourceLookupParticipant participant = participants[i];
-			participant.sourceContainersChanged(this);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(org.eclipse.debug.core.model.IStackFrame)
-	 * Would be better to accept Object so this can be used for breakpoints and other objects.
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		return getSourceElement((Object)stackFrame);
-	}
-	
-	/**
-	 * Performs a source lookup query for the given element
-	 * returning the source elements associated with the element.
-	 * 
-	 * @param element stack frame
-	 * @return list of associated source elements
-	 */
-	protected List doSourceLookup(Object element) {
-		SourceLookupQuery query = new SourceLookupQuery(element);
-		SafeRunner.run(query);
-		List sources = query.getSourceElements();
-		query.dispose();
-		return sources;
-	}
-	
-	/**
-	 * Returns the source element to associate with the given element.
-	 * This method is called when more than one source element has been found
-	 * for an element, and allows the source director to select a single
-	 * source element to associate with the element.
-	 * <p>
-	 * Subclasses should override this method as appropriate. For example,
-	 * to prompt the user to choose a source element.
-	 * </p>
-	 * @param element the debug artifact for which source is being searched for
-	 * @param sources the source elements found for the given element
-	 * @return a single source element for the given element
-	 */
-	public Object resolveSourceElement(Object element, List sources) {
-		// check the duplicates cache first
-		Iterator duplicates = sources.iterator();
-		while (duplicates.hasNext()) {
-			Object dup = duplicates.next();
-			Object resolved = getCachedElement(dup);
-			if (resolved != null) {
-				return resolved;
-			}
-		}
-		// consult a status handler
-		IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(fPromptStatus);
-		if (prompter != null) {
-			try {
-				Object result = prompter.handleStatus(fResolveDuplicatesStatus, new Object[]{element, sources});
-				if (result != null) {
-					cacheResolvedElement(sources, result);
-					return result;
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return sources.get(0);
-	}
-
-	/**
-	 * Checks if the object being added to the list of sources is a duplicate of what's already in the list
-	 * @param sourceToAdd the new source file to be added 
-	 * @param sources the list that the source will be compared against
-	 * @return true if it is already in the list, false if it is a new object
-	 */
-	private boolean checkDuplicate(Object sourceToAdd, List sources){
-		if(sources.size() == 0)
-			return false;
-		Iterator iterator = sources.iterator();
-		while(iterator.hasNext())
-			if(iterator.next().equals(sourceToAdd))
-				return true;
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#initializeFromMemento(java.lang.String, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException {
-	    dispose();
-		setLaunchConfiguration(configuration);
-		doInitializeFromMemento(memento, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeDefaults(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException {
-		dispose();
-		setLaunchConfiguration(configuration);
-		setSourceContainers(new ISourceContainer[]{new DefaultSourceContainer()});
-		initializeParticipants();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfig;
-	}
-	
-	/**
-	 * Sets the launch configuration associated with this source lookup
-	 * director. If the given configuration is a working copy, this director
-	 * will respond to changes the working copy. If the given configuration
-	 * is a persisted launch configuration, this director will respond to changes
-	 * in the persisted launch configuration.
-	 * 
-	 * @param configuration launch configuration to associate with this
-	 *  source lookup director, or <code>null</code> if none
-	 */
-	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfig = configuration;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchConfigurationListener(this);
-		launchManager.addLaunchListener(this);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch.getSourceLocator())) {
-			dispose();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getParticipants()
-	 */
-	public synchronized ISourceLookupParticipant[] getParticipants() {
-		return (ISourceLookupParticipant[]) fParticipants.toArray(new ISourceLookupParticipant[fParticipants.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#supportsSourceContainerType(org.eclipse.debug.core.sourcelookup.ISourceContainerType)
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type) {
-		return true;
-	}
-	
-	/**
-	 * Caches the resolved source element to use when one of the following
-	 * duplicates is found.
-	 * 
-	 * @param duplicates duplicates source elements
-	 * @param sourceElement chosen source element to use in place of the
-	 *  duplicates
-	 */
-	protected void cacheResolvedElement(List duplicates, Object sourceElement) {
-		if (fResolvedElements == null) {
-			fResolvedElements = new HashMap(10);
-		}
-		Iterator iterator = duplicates.iterator();
-		while (iterator.hasNext()) {
-			Object dup = iterator.next();
-			fResolvedElements.put(dup, sourceElement);
-		}
-		
-	}
-	
-	/**
-	 * Returns the cached source element to use when the given duplicate
-	 * is encountered.
-	 * 
-	 * @param duplicate duplicates source element
-	 * @return element to use in the duplicate's place
-	 */
-	protected Object getCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			return fResolvedElements.get(duplicate);
-		}
-		return null;
-	}
-	
-	/**
-	 * Clears any cached source element associated with the given duplicate
-	 * is source element.
-	 * 
-	 * @param duplicate duplicate source element to cache resolved results
-	 *  for
-	 */
-	protected void clearCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			fResolvedElements.remove(duplicate);
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#clearSourceElements(java.lang.Object)
-	 */
-	public void clearSourceElements(Object element) {
-		List list = doSourceLookup(element);
-		if (list.size() > 0) {
-			Iterator iterator = list.iterator();
-			while (iterator.hasNext()) {
-				clearCachedElement(iterator.next());
-			}
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#addParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
-	 */
-	public void addParticipants(ISourceLookupParticipant[] participants) {
-		for (int i = 0; i < participants.length; i++) {
-			ISourceLookupParticipant participant = participants[i];
-			addSourceLookupParticipant(participant);
-			participant.sourceContainersChanged(this);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#removeParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
-	 */
-	public void removeParticipants(ISourceLookupParticipant[] participants) {
-		for (int i = 0; i < participants.length; i++) {
-			removeSourceLookupParticipant(participants[i]);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		if (fComputer == null && getLaunchConfiguration() != null) {
-			try {
-				return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(getLaunchConfiguration());
-			} catch (CoreException e) {
-			}
-		}
-		return fComputer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setSourcePathComputer(org.eclipse.debug.core.sourcelookup.ISourcePathComputer)
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer) {
-		fComputer = computer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		SourceLookupQuery query = new SourceLookupQuery(object);
-		SafeRunner.run(query);
-		List sources = query.getSourceElements();
-		Throwable exception = query.getException();
-		query.dispose();
-		if (exception != null && sources.isEmpty()) {
-			if (exception instanceof CoreException) {
-				throw (CoreException)exception;
-			}
-			abort(SourceLookupMessages.AbstractSourceLookupDirector_10, exception);
-		}
-		return sources.toArray();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceElement(java.lang.Object)
-	 */
-	public Object getSourceElement(Object element) {
-		List sources = doSourceLookup(element);
-		if(sources.size() == 1) {
-			return sources.get(0);
-		} else if(sources.size() > 1) {
-			return resolveSourceElement(element, sources);
-		} else { 
-			return null;
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
deleted file mode 100644
index cbf21d2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-
-/**
- * Common super class for implementations of source lookup participants.
- * <p>
- * Clients implementing source lookup participants should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceLookupParticipant implements ISourceLookupParticipant {
-	
-	private ISourceLookupDirector fDirector;
-	
-	protected static final Object[] EMPTY = new Object[0]; 
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void init(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		List results = null;
-		CoreException single = null;
-		MultiStatus multiStatus = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		String name = getSourceName(object);
-		if (name != null) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i = 0; i < containers.length; i++) {
-				try {
-					ISourceContainer container = getDelegateContainer(containers[i]);
-					if (container != null) {
-						Object[] objects = container.findSourceElements(name);
-						if (objects.length > 0) {
-							if (isFindDuplicates()) {
-								for (int j = 0; j < objects.length; j++) {
-									results.add(objects[j]);
-								}
-							} else {
-								if (objects.length == 1) {
-									return objects;
-								} 
-								return new Object[]{objects[0]};
-							}
-						}
-					}
-				} catch (CoreException e) {
-					if (single == null) {
-						single = e;
-					} else if (multiStatus == null) {
-						multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null);
-						multiStatus.add(e.getStatus());
-					} else {
-						multiStatus.add(e.getStatus());
-					}
-				}
-			}
-		}
-		if (results == null) {
-			if (multiStatus != null) {
-				throw new CoreException(multiStatus);
-			} else if (single != null) {
-				throw single;
-			}
-			return EMPTY;
-		}
-		return results.toArray();
-	}	
-	
-	/**
-	 * Returns the source container to search in place of the given source
-	 * container, or <code>null</code> if the given source container is not
-	 * to be searched. The default implementation does not translate source
-	 * containers. Subclasses should override if required.
-	 *  
-	 * @param container the source container about to be searched (proxy)
-	 * @return the source container to be searched (delegate), or <code>null</code>
-	 * 	if the source container should not be searched
-	 */
-	protected ISourceContainer getDelegateContainer(ISourceContainer container) {
-		return container;
-	}
-	
-	/**
-	 * Returns the source lookup director this participant is registered with
-	 * or <code>null</code> if none.
-	 * 
-	 * @return the source lookup director this participant is registered with
-	 *  or <code>null</code> if none
-	 */
-	protected ISourceLookupDirector getDirector() {
-		return fDirector;
-	}
-	
-	/**
-	 * Returns whether this participant's source lookup director is configured
-	 * to search for duplicate source elements.
-	 * 
-	 * @return whether this participant's source lookup director is configured
-	 * to search for duplicate source elements
-	 */
-	protected boolean isFindDuplicates() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.isFindDuplicates();
-		}
-		return false;
-	}	
-	
-	/**
-	 * Returns the source containers currently registered with this participant's
-	 * source lookup director.
-	 * 
-	 * @return the source containers currently registered with this participant's
-	 * source lookup director
-	 */
-	protected ISourceContainer[] getSourceContainers() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getSourceContainers();
-		}
-		return new ISourceContainer[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#sourceContainersChanged(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void sourceContainersChanged(ISourceLookupDirector director) {
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
deleted file mode 100644
index f30b971..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-
-/**
- * Extensions to the <code>IPersistableSourceLocator</code> interface.
- * <p>
- * Clients may optionally implement this interface when implementing an
- * {@link org.eclipse.debug.core.model.IPersistableSourceLocator}.
- * </p>
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- * @since 3.0 
- */
-public interface IPersistableSourceLocator2 extends IPersistableSourceLocator {
-
-	/**
-	 * Initializes this source locator based on the given
-	 * memento, for the given launch configuration. This method
-	 * is called instead of <code>initializeFrom(String memento)</code>
-	 * defined in <code>IPersistableSourceLocator</code> when a source
-	 * locator implements this interface.
-	 * 
-	 * @param memento a memento to initialize this source locator
-	 * @param configuration the launch configuration this source locator is
-	 *  being created for
-	 * @exception CoreException on failure to initialize 
-	 */
-	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Disposes this source locator. This method is called when a source
-	 * locator's associated launch is removed from the launch manager.
-	 */
-	public void dispose();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
deleted file mode 100644
index ed721bd..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A source container is a container of source code. A source container is
- * capable of searching for source elements by name. For example, a source
- * container may be a project or a directory capable of searching for files
- * by name. A source container may be a composite container - i.e. contain
- * other source containers.
- * <p>
- * When a source container is created and added to a source director, the
- * source container's <code>dispose()</code> method is called when the
- * source director is disposed. Clients creating source containers for other
- * purposes must dispose of containers themselves.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISourceLookupParticipant
- * @see ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainer extends IAdaptable {
-	
-	/**
-	 * Notification this source container has been added to the given
-	 * source lookup director.
-	 * 
-	 * @param director the director this container has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-
-	/**
-	 * Returns a collection of source elements in this container corresponding to the
-	 * given name. Returns an empty collection if no source elements are found.
-	 * This source container's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element. If this is a composite container, the containers contained
-	 * by this container are also searched.
-	 * <p>
-	 * The format of the given name is implementation specific but generally conforms
-	 * to the format of a file name. If a source container does not recognize the
-	 * name format provided, an empty collection should be returned. A source container
-	 * may or may not require names to be fully qualified (i.e. be qualified with directory
-	 * names).
-	 * </p>
-	 * @param name the name of the source element to search for
-	 * @return a collection of source elements corresponding to the given name
-	 * @exception CoreException if an exception occurs while searching for source elements
-	 */
-	public Object[] findSourceElements(String name) throws CoreException;
-
-	/**
-	 * The name of this source container that can be used for presentation purposes.
-	 * For example, the name of a project.
-	 *  
-	 * @return the name of this source container
-	 */
-	public String getName();
-
-	/**
-	 * Returns the source containers this container is composed of. An empty
-	 * collection is returned if this container is not a composite container.
-	 * For example, a workspace source container may be composed of project source
-	 * containers.
-	 * 
-	 * @return the source containers this container is composed of, possibly
-	 *  an empty collection
-	 * @exception CoreException if unable to retrieve source containers
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException;
-
-	/**
-	 * Returns whether this container is a composite container. A composite
-	 * container is composed of other source containers. For example, a workspace
-	 * source container may be composed of project source containers.
-	 * 
-	 * @return whether this container is a composite container
-	 */ 	
-	public boolean isComposite();
-	
-	/**
-	 * Returns this container's type.
-	 * 
-	 * @return this container's type 
-	 */
-	public ISourceContainerType getType();
-	
-	/**
-	 * Disposes this source container. This method is called when the source
-	 * director associated with this source container is disposed.
-	 */
-	public void dispose();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
deleted file mode 100644
index 50095f4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-
-
-/**
- * A source container type represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type is contributed via the <code>sourceContainerTypes</code>
- * extension point, providing a delegate to the work specific to the contributed
- * type. Following is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourceContainerTypes&quot;&gt;
- * 	&lt;sourceContainerType
- * 		name=&quot;Project&quot;
- * 		class=&quot;org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType&quot;
- * 		id=&quot;org.eclipse.debug.core.containerType.project&quot;
- * 		description=&quot;A project in the workspace&quot;&gt;
- * 	&lt;/sourceContainerType&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a source container type implement {@link org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate}.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate
- * @since 3.0
- */
-public interface ISourceContainerType extends ISourceContainerTypeDelegate {
-
-	/**
-	 * Returns the name of this source container type that can be used for
-	 * presentation purposes. For example, <code>Working Set</code> or
-	 * <code>Project</code>.  The value returned is
-	 * identical to the name specified in plugin.xml by the <code>name</code>
-	 * attribute.
-	 * 
-	 * @return the name of this source container type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the unique identifier associated with this source container type.
-	 * The value returned is identical to the identifier specified in plugin.xml by
-	 * the <code>id</code> attribute.
-	 * 
-	 * @return the unique identifier associated with this source container type
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a short description of this source container type that can be used
-	 * for presentation purposes, or <code>null</code> if none.
-	 * 
-	 * @return a short description of this source container type, or <code>null</code>
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
deleted file mode 100644
index d8c9448..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source container type delegate represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type delegate is contributed via the
- * <code>sourceContainerTypes</code> extension point.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p> 
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainerTypeDelegate {
-
-	/**
-	 * Creates and returns a new source container of this type
-	 * corresponding to the given memento.
-	 * 
-	 * @param memento a memento for a source container of this source container type
-	 * @return a source container corresponding to the given memento
-	 * @exception CoreException if unable to construct a source container based
-	 *  on the given memento
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException;
-	
-	/**
-	 * Constructs and returns a memento for the given source container. A memento
-	 * can be used to reconstruct a source container.
-	 * 
-	 * @param container The container for which a memento should be created. The
-	 *  container must of this source container type.
-	 * @return a memento for the source container
-	 * @exception CoreException if unable to create a memento
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
deleted file mode 100644
index 5eb4596..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source lookup director directs the source lookup process
- * among a set of participants and source containers.
- * <p>
- * Clients may implement this interface. An abstract implementation
- * is provided by <code>AbstractSourceLookupDirector</code>, which
- * clients should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupDirector extends IPersistableSourceLocator2 {
-	
-	/**
-	 * Returns the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Returns the source lookup participants currently registered with
-	 * this director, possibly an empty collection.
-	 * 
-	 * @return the source lookup participants currently registered with
-	 * this director, possibly an empty collection
-	 */
-	public ISourceLookupParticipant[] getParticipants();
-	
-	/**
-	 * Returns the source containers currently registered with this 
-	 * director, possibly an empty collection.
-	 * 
-	 * @return the source containers currently registered with this 
-	 * director, possibly an empty collection
-	 */
-	public ISourceContainer[] getSourceContainers();
-	
-	/**
-	 * Sets the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection.
-	 * 
-	 * @param containers the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection
-	 */
-	public void setSourceContainers(ISourceContainer[] containers);	
-	
-	/**
-	 * Returns whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @return whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public boolean isFindDuplicates();
-	
-	/**
-	 * Sets whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @param findDuplicates whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public void setFindDuplicates(boolean findDuplicates);	
-	
-	/**
-	 * Notifies this source lookup director that it should initialize
-	 * its set of source lookup participants.
-	 */
-	public void initializeParticipants();
-	
-	/**
-	 * Returns whether this source director supports the given type
-	 * of source location. 
-	 * 
-	 * @param type source container type
-	 * @return whether this source director supports the given type
-	 * of source location
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type);
-	
-	/**
-	 * Clears any source lookup results associated with the given
-	 * debug artifact, such that a subsequent lookup will force a new search
-	 * to be performed.
-	 *  
-	 * @param element debug artifact to clear source lookup results for
-	 */
-	public void clearSourceElements(Object element);
-	
-	/**
-	 * Adds the given source lookup participants to this director.
-	 * 
-	 * @param participants participants to add
-	 */
-	public void addParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Removes the given source lookup participants from this director.
-	 * 
-	 * @param participants participants to remove
-	 */
-	public void removeParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Returns the identifier of this type of source locator.
-	 * 
-	 * @return the identifier of this type of source locator
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the source path computer to use with this source lookup
-	 * director, possibly <code>null</code>. By default, the source path 
-	 * computer returned is the one associated with this director's launch
-	 * configuration's type. However, the source path computer can be specified
-	 * programmatically by calling <code>setSourcePathComputer(...)</code>.
-	 * 
-	 * @return the source path computer to use with this source lookup
-	 *  director, possibly <code>null</code>
-	 */
-	public ISourcePathComputer getSourcePathComputer();
-	
-	/**
-	 * Sets the source path computer for this source lookup director.
-	 * This method can be used to override the default source path computer
-	 * for a launch configuration type. When <code>null</code> is specified
-	 * the default source path computer will be used (i.e. the one associated
-	 * with this director's launch configuration's type).
-	 *  
-	 * @param computer source path computer or <code>null</code>
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * 
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;	
-	
-	/**
-	 * Returns a source element that corresponds to the given debug artifact, or
-	 * <code>null</code> if a source element could not be located. This is a
-	 * generalization of <code>getSourceElement(IStackFrame)</code> to allow
-	 * source to be found for other types of elements.
-	 *
-	 * @param element the debug artifact for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(Object element);	
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
deleted file mode 100644
index b47d086..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source lookup participant participates in source lookup by searching an ordered
- * list of source containers for source elements corresponding to a debug artifact.
- * For example, a participant may be asked to find source corresponding to a stack
- * frame or breakpoint. An implementation of a source lookup participant is debug
- * model specific, since it must convert the debug model artifact (stack frame,
- * breakpoint, etc.),  into a source name that can be recognized by a source container
- * (<code>ISourceContainer</code>), to search for source elements. Source containers
- * are generally debug model independent, whereas source lookup participants are
- * debug model specific.  
- * <p>
- * Clients may implement this interface. An abstract implementation is
- * provided by <code>AbstractSourceLookupParticipant</code>, which clients
- * should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupParticipant {
-
-	/**
-	 * Notification this participant has been added to the specified
-	 * source lookup director. 
-     *
-	 * @param director the source lookup director that this participant
-	 *  has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * <p>
-	 * If the given debug artifact is not recognized by this participant, an empty
-	 * collection is returned. Otherwise, this participant generates a source name
-	 * from the given artifact and performs a search for associated source elements
-	 * in its source containers.
-	 * </p>
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;
-	
-	/**
-	 * Returns the source file name associated with the given debug artifact that
-	 * source needs to be found for, or <code>null</code> if none.
-	 * 
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return the source file name associated with the given debug artifact,
-	 *  or <code>null</code> if none.
-	 * @throws CoreException if unable to determine a source file name 
-	 */
-	public String getSourceName(Object object) throws CoreException;
-
-	/**
-	 * Disposes this source lookup participant. This method is called when
-	 * the source lookup director associated with this participant is 
-	 * disposed.
-	 */
-	public void dispose();
-	
-	/**
-	 * Notification that the source lookup containers in the given source
-	 * lookup director have changed.
-	 * 
-	 * @param director source lookup director that is directing this
-	 * participant
-	 */
-	public void sourceContainersChanged(ISourceLookupDirector director);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
deleted file mode 100644
index 5ac695d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A source path computer computes the default source lookup path (set of source
- * containers that should be considered) for a launch configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the 
- * <code>sourcePathComputers</code> extension point, that provides a delegate
- * to compute the path specific to a launch configuration. Following
- * is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourcePathComputers&quot;&gt;
- *    	&lt;sourcePathComputer
- *    		id=&quot;org.eclipse.example.exampleSourcePathComputer&quot;
- *    		class=&quot;org.eclipse.example.SourcePathComputer&quot;&gt;
- *    	&lt;/sourcePathComputer&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p> 
- * <p>
- * A source path computer can be associated with a launch configuration type
- * via the <code>sourcePathComputerId</code> attribute of a launch configuration
- * type extension. As well, a launch configuration can specify its own
- * source path computer to use via the <code>ATTR_SOURCE_PATH_COMPUTER_ID</code>
- * attribute.
- * </p>
- * <p>
- * Clients are not intended to implement this interface. Instead, clients contributing
- * a source path computer provide an implementation of 
- * {@link org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate}.
- * </p>
- * @since 3.0
- */
-public interface ISourcePathComputer extends ISourcePathComputerDelegate {
-	
-	/**
-	 * Launch configuration attribute to specify a source path computer
-	 * that should be used for a launch configuration. The value is an identifier
-	 * of a source path computer extension, or unspecified (<code>null</code>), if the
-	 * default source path computer should be used. A default source path computer
-	 * can be associated with a launch configuration type.
-	 */
-	public static final String ATTR_SOURCE_PATH_COMPUTER_ID = DebugPlugin.getUniqueIdentifier() + ".SOURCE_PATH_COMPUTER_ID"; //$NON-NLS-1$
-
-	/**
-	 * Returns the unique identifier for this source path computer.
-	 * 
-	 * @return the unique identifier for this source path computer
-	 */
-	public String getId();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
deleted file mode 100644
index 9d55061..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source path computer delegate computes the default source lookup path
- * (set of source containers that should be considered) for a launch
- * configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the 
- * <code>sourcePathComputers</code> extension point, providing a delegate
- * to compute the default source lookup path specific to a launch
- * configuration.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @since 3.0
- */
-public interface ISourcePathComputerDelegate {
-	
-	/**
-	 * Returns a default collection source containers to be considered for the
-	 * given launch configuration. The collection returned represents the default
-	 * source lookup path for the given configuration.
-	 * 
-	 * @param configuration the launch configuration for which a default source lookup path
-	 *  is to be computed
-	 * @param monitor a progress monitor to be used in case of long operations
-	 * @return a default collection source containers to be considered for the
-	 *  given launch configuration
-	 * @exception CoreException if unable to compute a default source lookup path
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
deleted file mode 100644
index 30b0652..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Common function for source containers.
- * <p>
- * Clients implementing source containers should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainer extends PlatformObject implements ISourceContainer {
-	
-	public static final Object[] EMPTY = new Object[0];
-	
-	private ISourceLookupDirector fDirector;
-	
-	/**
-	 * Throws an error exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Throws a warning exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 * @since 3.3
-	 */	
-	protected void warn(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.WARNING, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * By default, do nothing. Subclasses should override as required.
-	 * 
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException {
-		return new ISourceContainer[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void init(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-	
-	/**
-	 * Returns the source lookup director this source container registered
-	 * in, or <code>null</code> if none.
-	 * 
-	 * @return the source lookup director this source container registered
-	 * in, or <code>null</code> if none
-	 */
-	protected ISourceLookupDirector getDirector() {
-		return fDirector;
-	}
-	
-	/**
-	 * Returns whether this container's source lookup director is configured
-	 * to search for duplicate source elements.
-	 * 
-	 * @return whether this container's source lookup director is configured
-	 * to search for duplicate source elements
-	 */
-	protected boolean isFindDuplicates() {
-		if (getDirector() != null) {
-			return getDirector().isFindDuplicates();
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the source container type identified by the given id,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id source container type identifier
-	 * @return source container type or <code>null</code>
-	 */
-	protected ISourceContainerType getSourceContainerType(String id) {
-		return DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(id);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
deleted file mode 100644
index 29950ad..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Common function for source container type delegates.
- * <p>
- * Clients implementing source container delegates should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainerTypeDelegate implements ISourceContainerTypeDelegate {
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 */
-	protected Document newDocument()throws CoreException {
-		return DebugPlugin.newDocument();
-	}	
-	
-	/**
-	 * Returns the given XML document as a string.
-	 * 
-	 * @param document document to serialize
-	 * @return the given XML document as a string
-	 * @throws CoreException if unable to serialize the document
-	 */
-	protected String serializeDocument(Document document) throws CoreException {
-		return DebugPlugin.serializeDocument(document);
-	}
-
-	/**
-	 * Parses the given XML document, returning its root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 */
-	protected Element parseDocument(String document) throws CoreException {
-		return DebugPlugin.parseDocument(document);
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
deleted file mode 100644
index 8df120f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Archive source container for an archive in the workspace. Returns instances
- * of <code>ZipEntryStorage</code> as source elements.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ArchiveSourceContainer extends AbstractSourceContainer {
-	
-	private IFile fFile;
-	private boolean fDetectRoot; 
-	private ExternalArchiveSourceContainer fDelegateContainer;
-	
-	/**
-	 * Unique identifier for the archive source container type
-	 * (value <code>org.eclipse.debug.core.containerType.archive</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.archive";	 //$NON-NLS-1$
-	
-	/**
-	 * Creates an archive source container on the given file. 
-	 * 
-	 * @param archive archive in the workspace
-	 * @param detectRootPath whether a root path should be detected. When
-	 *   <code>true</code>, searching is performed relative to a root path
-	 *   within the archive based on fully qualified file names. The root
-	 *   path is automatically determined when the first successful search
-	 *   is performed. For example, when searching for a file named
-	 *   <code>a/b/c.d</code>, and an entry in the archive named
-	 *   <code>r/a/b/c.d</code> exists, the root path is set to <code>r</code>.
-	 *   From that point on, searching is performed relative to <code>r</code>.
-	 *   When <code>false</code>, searching is performed by
-	 *   matching file names as suffixes to the entries in the archive. 
-	 */
-	public ArchiveSourceContainer(IFile archive, boolean detectRootPath) {
-		fFile = archive;
-		fDetectRoot = detectRootPath;
-		if (archive.exists() && archive.getLocation() != null) {
-		    fDelegateContainer = new ExternalArchiveSourceContainer(archive.getLocation().toOSString(), detectRootPath);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fFile.getName();
-	}
-	
-	/**
-	 * Returns the associated file in the workspace.
-	 *  
-	 * @return associated file in the workspace
-	 */
-	public IFile getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof ArchiveSourceContainer &&
-			((ArchiveSourceContainer)obj).getName().equals(getName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-     */
-    public Object[] findSourceElements(String name) throws CoreException {
-        ExternalArchiveSourceContainer container = getDelegateContainer();
-        if (container != null) {
-            return container.findSourceElements(name);
-        }
-        return EMPTY;
-    }
-    
-    /**
-     * Returns the underlying external archive source container.
-     * 
-     * @return underlying external archive source container
-     * @since 3.0.1.1
-     */
-    private ExternalArchiveSourceContainer getDelegateContainer() {
-        return fDelegateContainer;
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-     */
-    public void init(ISourceLookupDirector director) {
-        super.init(director);
-        if (fDelegateContainer != null) {
-            fDelegateContainer.init(director);
-        }
-    }
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-     */
-    public void dispose() {
-        super.dispose();
-        if (fDelegateContainer != null) {
-            fDelegateContainer.dispose();
-        }
-    }
-    
-	/**
-	 * Returns whether root paths are automatically detected in this
-	 * archive source container.
-	 *  
-	 * @return whether root paths are automatically detected in this
-	 * archive source container
-	 * @since 3.0.1.1
-	 */
-	public boolean isDetectRoot() {
-		return fDetectRoot;
-	}    
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
deleted file mode 100644
index ab02542..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container of source containers.
- * <p>
- * Clients implementing composite source containers should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class CompositeSourceContainer extends AbstractSourceContainer {
-	
-	private ISourceContainer[] fContainers;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		return findSourceElements(name, getSourceContainers());
-	}
-	
-	/**
-	 * Returns a collection of source elements in the given containers corresponding to
-	 * the given name. Returns an empty collection if no source elements are found.
-	 * This source container's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element. If this is a composite container, the containers contained
-	 * by this container are also searched.
-	 * <p>
-	 * The format of the given name is implementation specific but generally conforms
-	 * to the format of a file name. If a source container does not recognize the
-	 * name format provided, an empty collection should be returned. A source container
-	 * may or may not require names to be fully qualified (i.e. be qualified with directory
-	 * names).
-	 * </p>
-	 * @param name the name of the source element to search for
-	 * @param containers the containers to search
-	 * @return a collection of source elements corresponding to the given name
-	 * @exception CoreException if an exception occurs while searching for source elements
-	 */	
-	protected Object[] findSourceElements(String name, ISourceContainer[] containers) throws CoreException {
-		List results = null;
-		CoreException single = null;
-		MultiStatus multiStatus = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		for (int i = 0; i < containers.length; i++) {
-			ISourceContainer container = containers[i];
-			try {
-				Object[] objects = container.findSourceElements(name);
-				if (objects.length > 0) {
-					if (isFindDuplicates()) {
-						for (int j = 0; j < objects.length; j++) {
-							results.add(objects[j]);
-						}
-					} else {
-						if (objects.length == 1) {
-							return objects;
-						}
-						return new Object[]{objects[0]};
-					}
-				}
-			} catch (CoreException e) {
-				if (single == null) {
-					single = e;
-				} else if (multiStatus == null) {
-					multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null); 
-					multiStatus.add(e.getStatus());
-				} else {
-					multiStatus.add(e.getStatus());
-				}
-			}
-		}
-		if (results == null) {
-			if (multiStatus != null) {
-				throw new CoreException(multiStatus);
-			} else if (single != null) {
-				throw single;
-			}
-			return EMPTY;
-		}
-		return results.toArray();
-	}	
-	
-	/**
-	 * Creates the source containers in this composite container.
-	 * Subclasses should override this methods.
-	 * 
-	 * @throws CoreException if unable to create the containers
-	 */
-	protected abstract ISourceContainer[] createSourceContainers() throws CoreException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public synchronized ISourceContainer[] getSourceContainers() throws CoreException {
-		if (fContainers == null) {
-			fContainers = createSourceContainers();
-			for (int i = 0; i < fContainers.length; i++) {
-				ISourceContainer container = fContainers[i];
-				container.init(getDirector());
-			}			
-		}
-		return fContainers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fContainers != null) {
-			for (int i = 0; i < fContainers.length; i++) {
-				ISourceContainer container = fContainers[i];
-				container.dispose();
-			}
-		}
-		fContainers = null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
deleted file mode 100644
index 16a3308..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Bug 80857
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-
-/**
- * A source container for a container in the workspace. Source elements are searched
- * for within this container and optionally nested containers.
- * <p>
- * Names specified in <code>findSourceElements</code> method can
- * be simple or qualified. When a name is qualified, a file will
- * be searched for relative to this container, and optionally
- * nested containers.
- * </p>
- * <p>
- * This class is not intended to be subclassed or instantiated by clients.
- * </p>
- * @since 3.2
- */
-public abstract class ContainerSourceContainer extends CompositeSourceContainer {
-
-	private IContainer fContainer = null;
-	private boolean fSubfolders = false;
-	
-	private URI fRootURI = null;
-	private IFileStore fRootFile = null;
-	private IWorkspaceRoot fRoot = null;
-
-	/**
-	 * Constructs a source container on the given workspace container. 
-	 * 
-	 * @param container the container to search for source in
-	 * @param subfolders whether nested folders should be searched
-	 *  for source elements
-	 */
-	public ContainerSourceContainer(IContainer container, boolean subfolders) {
-		fContainer = container;
-		fSubfolders = subfolders;
-		fRootURI = fContainer.getLocationURI();
-		if (fRootURI != null) {
-			try {
-				fRootFile = EFS.getStore(fRootURI);
-			} catch (CoreException e) {
-			}
-			fRoot = ResourcesPlugin.getWorkspace().getRoot();
-		}
-	}
-	
-	/**
-	 * Returns the workspace container this source container is
-	 * rooted at.
-	 *  
-	 * @return the workspace container this source container is
-	 * rooted at
-	 */
-	public IContainer getContainer() {
-		return fContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		ArrayList sources = new ArrayList();
-
-		// An IllegalArgumentException is thrown from the "getFile" method 
-		// if the path created by appending the file name to the container 
-		// path doesn't conform with Eclipse resource restrictions.
-		// To prevent the interruption of the search procedure we check 
-		// if the path is valid before passing it to "getFile".		
-		if ( validateFile(name) ) {
-			IFile file = fContainer.getFile(new Path(name));
-			if (file.exists()) {
-				sources.add(file);
-			} else {
-				// See bug 82627 - perform case insensitive source lookup
-				if (fRootURI == null) {
-					return EMPTY;
-				}
-				// See bug 98090 - we need to handle relative path names
-				IFileStore target = fRootFile.getChild(new Path(name));
-				if (target.fetchInfo().exists()) {
-					// We no longer have to account for bug 95832, and URIs take care
-					// of canonical paths (fix to bug 95679 was removed).
-					IFile[] files = fRoot.findFilesForLocationURI(target.toURI());
-					if (isFindDuplicates() && files.length > 1) {
-						for (int i = 0; i < files.length; i++) {
-							sources.add(files[i]);
-						}
-					} else if (files.length > 0) {
-						sources.add(files[0]);
-					}					
-				}
-			}
-		}
-
-		//check sub-folders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {		
-		return getContainer().getName(); 
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj != null && obj instanceof ContainerSourceContainer) {
-			ContainerSourceContainer loc = (ContainerSourceContainer) obj;
-			return loc.getContainer().equals(getContainer());
-		}	
-		return false;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getContainer().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {	
-		return fSubfolders;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if(fSubfolders) {
-			IResource[] resources = getContainer().members();
-			List list = new ArrayList(resources.length);
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if (resource.getType() == IResource.FOLDER) {
-					list.add(new FolderSourceContainer((IFolder)resource, fSubfolders));
-				}
-			}
-			ISourceContainer[] containers = (ISourceContainer[]) list.toArray(new ISourceContainer[list.size()]);
-			for (int i = 0; i < containers.length; i++) {
-				ISourceContainer container = containers[i];
-				container.init(getDirector());
-			}			
-			return containers;
-		}
-		return new ISourceContainer[0];
-	}
-
-	/**
-	 * Validates the given string as a path for a file in this container. 
-	 * 
-	 * @param name path name
-	 */
-	private boolean validateFile(String name) {
-		IContainer container = getContainer();
-		IPath path = container.getFullPath().append(name);
-		return ResourcesPlugin.getWorkspace().validatePath(path.toOSString(), IResource.FILE).isOK();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
deleted file mode 100644
index fead34c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container that computer the default source lookup path
- * for a launch configuration on each launch using a launch configuration's
- * associated source path computer.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class DefaultSourceContainer extends CompositeSourceContainer {  
-	
-	/**
-	 * Unique identifier for the default source container type
-	 * (value <code>org.eclipse.debug.core.containerType.default</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.default"; //$NON-NLS-1$
-
-	/**
-	 * Constructs a default source container. 
-	 */
-	public DefaultSourceContainer() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof DefaultSourceContainer;
-	}	
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getClass().hashCode();
-	}	
-	
-	/**
-	 * Returns the launch configuration for which a default source lookup
-	 * path will be computed, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration for which a default source lookup
-	 * path will be computed, or <code>null</code>
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getLaunchConfiguration();
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/**
-	 * Returns the source path computer to use, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the source path computer to use, or <code>null</code>
-	 * if none
-	 */
-	private ISourcePathComputer getSourcePathComputer() {
-		ISourceLookupDirector director = getDirector();
-		if (director != null) {
-			return director.getSourcePathComputer();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.DefaultSourceContainer_0; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		ISourcePathComputer sourcePathComputer = getSourcePathComputer();
-		if (sourcePathComputer != null) {
-			ILaunchConfiguration config= getLaunchConfiguration();
-			if (config != null) {
-				return sourcePathComputer.computeSourceContainers(config, null);
-			}
-		}
-		
-		return new ISourceContainer[0];
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
deleted file mode 100644
index f47a762..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A directory in the local file system. Source elements returned
- * from <code>findSourceElements(...)</code> are instances
- * of <code>LocalFileStorage</code>.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-
-public class DirectorySourceContainer extends CompositeSourceContainer {
-	
-	// root directory
-	private File fDirectory;
-	// whether to search sub-folders
-	private boolean fSubfolders = false;
-	/**
-	 * Unique identifier for the directory source container type
-	 * (value <code>org.eclipse.debug.core.containerType.directory</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.directory"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs an external folder container for the
-	 * directory identified by the given path.
-	 * 
-	 * @param dirPath path to a directory in the local file system
-	 * @param subfolders whether folders within the root directory
-	 *  should be searched for source elements
-	 */
-	public DirectorySourceContainer(IPath dirPath, boolean subfolders) {
-		this(dirPath.toFile(), subfolders);
-	}
-	
-	/**
-	 * Constructs an external folder container for the
-	 * directory identified by the given file.
-	 * 
-	 * @param dir a directory in the local file system
-	 * @param subfolders whether folders within the root directory
-	 *  should be searched for source elements
-	 */
-	public DirectorySourceContainer(File dir, boolean subfolders) {
-		fDirectory = dir;
-		fSubfolders = subfolders;
-	}	
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fDirectory.getName();
-	}	
-	
-	/**
-	 * Returns the root directory in the local file system associated
-	 * with this source container.
-	 * 
-	 * @return the root directory in the local file system associated
-	 * with this source container
-	 */
-	public File getDirectory() {
-		return fDirectory;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		ArrayList sources = new ArrayList();
-		File directory = getDirectory();
-		File file = new File(directory, name);
-		if (file.exists() && file.isFile()) {
-			sources.add(new LocalFileStorage(file));
-		}
-		
-		//check sub-folders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return fSubfolders;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof DirectorySourceContainer) {
-			DirectorySourceContainer container = (DirectorySourceContainer) obj;
-			return container.getDirectory().equals(getDirectory());
-		}
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getDirectory().hashCode();
-	}
-	
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if (isComposite()) {
-			String[] files = fDirectory.list();
-			if (files != null) {
-				List dirs = new ArrayList();
-				for (int i = 0; i < files.length; i++) {
-					String name = files[i];
-					File file = new File(getDirectory(), name);
-					if (file.exists() && file.isDirectory()) {
-						dirs.add(new DirectorySourceContainer(file, true));
-					}
-				}
-				ISourceContainer[] containers = (ISourceContainer[]) dirs.toArray(new ISourceContainer[dirs.size()]);
-				for (int i = 0; i < containers.length; i++) {
-					ISourceContainer container = containers[i];
-					container.init(getDirector());
-				}				
-				return containers;
-			}
-		}
-		return new ISourceContainer[0];
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
deleted file mode 100644
index 3fe6e33..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.IOException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-
-/**
- * An archive in the local file system. Returns instances
- * of <code>ZipEntryStorage</code> as source elements.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ExternalArchiveSourceContainer extends AbstractSourceContainer {
-	
-	private boolean fDetectRoots = false;
-	private Set fPotentialRoots = null;
-	private List fRoots = new ArrayList();
-	private String fArchivePath = null;
-	/**
-	 * Unique identifier for the external archive source container type
-	 * (value <code>org.eclipse.debug.core.containerType.externalArchive</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.externalArchive";	 //$NON-NLS-1$
-	
-	/**
-	 * Creates an archive source container on the archive at the 
-	 * specified location in the local file system. 
-	 * 
-	 * @param archivePath path to the archive in the local file system
-	 * @param detectRootPaths whether root container paths should be detected. When
-	 *   <code>true</code>, searching is performed relative to a root path
-	 *   within the archive based on fully qualified file names. A root
-	 *   path is automatically determined for when the first
-	 *   successful search is performed. For example, when searching for a file
-	 *   named <code>a/b/c.d</code>, and an entry in the archive named
-	 *   <code>r/a/b/c.d</code> exists, a root path is set to <code>r</code>.
-	 *   When searching for an unqualified file name, root containers are not
-	 *   considered.
-	 *   When <code>false</code>, searching is performed by
-	 *   matching file names as suffixes to the entries in the archive. 
-	 */
-	public ExternalArchiveSourceContainer(String archivePath, boolean detectRootPaths) {
-		fArchivePath = archivePath;
-		fDetectRoots = detectRootPaths;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		name = name.replace('\\', '/');
-		ZipFile file = getArchive();
-		synchronized (file) {
-			boolean isQualfied = name.indexOf('/') > 0;
-			if (fDetectRoots && isQualfied) {
-				ZipEntry entry = searchRoots(file, name);
-				if (entry != null) {
-					return new Object[]{new ZipEntryStorage(file, entry)};
-				}
-			} else {
-				// try exact match
-				ZipEntry entry = file.getEntry(name);
-				if (entry != null) {
-					// can't be any duplicates if there is an exact match
-					return new Object[]{new ZipEntryStorage(file, entry)};
-				}
-				// search
-				Enumeration entries = file.entries();
-				List matches = null;
-				while (entries.hasMoreElements()) {
-					entry = (ZipEntry)entries.nextElement();
-					String entryName = entry.getName();
-					if (entryName.endsWith(name)) {
-						if (isQualfied || entryName.length() == name.length() || entryName.charAt(entryName.length() - name.length() - 1) == '/') {
-							if (isFindDuplicates()) {
-								if (matches == null) {
-									matches = new ArrayList();
-								}
-								matches.add(new ZipEntryStorage(file, entry));
-							} else {
-								return new Object[]{new ZipEntryStorage(file, entry)};
-							}
-						}
-					}
-				}
-				if (matches != null) {
-					return matches.toArray();
-				}
-			}
-		}
-		return EMPTY;
-	}
-	
-	/**
-	 * Returns the root path in this archive for the given file name, based
-	 * on its type, or <code>null</code> if none. Detects a root if a root has
-	 * not yet been detected for the given file type.
-	 * 
-	 * @param file zip file to search in
-	 * @param name file name
-	 * @exception CoreException if an exception occurs while detecting the root
-	 */
-	private ZipEntry searchRoots(ZipFile file, String name) {
-		if (fPotentialRoots == null) {
-			fPotentialRoots = new HashSet();
-			fPotentialRoots.add(""); //$NON-NLS-1$
-			// all potential roots are the directories
-			Enumeration entries = file.entries();
-			while (entries.hasMoreElements()) {
-				ZipEntry entry = (ZipEntry) entries.nextElement();
-				if (entry.isDirectory()) {
-					fPotentialRoots.add(entry.getName());
-				} else {
-					String entryName = entry.getName();
-					int index = entryName.lastIndexOf("/"); //$NON-NLS-1$
-					while (index > 0) {
-						if (fPotentialRoots.add(entryName.substring(0, index + 1))) {
-							entryName = entryName.substring(0, index);
-							index = entryName.lastIndexOf("/"); //$NON-NLS-1$
-						} else {
-							break;
-						}
-					}
-				}
-			}
-		}
-		int i = 0;
-		while (i < fRoots.size()) {
-			String root = (String) fRoots.get(i);
-			ZipEntry entry = file.getEntry(root+name);
-			if (entry != null) {
-				return entry;
-			}
-			i++;
-		}
-		if (!fPotentialRoots.isEmpty()) {
-			Iterator roots = fPotentialRoots.iterator();
-			String root = null;
-			ZipEntry entry = null;
-			while (roots.hasNext()) {
-				root = (String) roots.next();
-				entry = file.getEntry(root+name);
-				if (entry != null) {
-					break;
-				}
-			}
-			if (entry != null) {
-				if (root != null) {
-					fRoots.add(root);
-					fPotentialRoots.remove(root);
-					// remove any roots that begin with the new root, as roots cannot be nested
-					Iterator rs = fPotentialRoots.iterator();
-					while (rs.hasNext()) {
-						String r = (String) rs.next();
-						if (r.startsWith(root)) {
-							rs.remove();
-						}
-					}
-				}				
-				return entry;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the archive to search in.
-	 * 
-	 * @throws CoreException if unable to access the archive
-	 */
-	private ZipFile getArchive() throws CoreException {
-		try {
-			return SourceLookupUtils.getZipFile(fArchivePath);
-		} catch (IOException e) {
-			File file = new File(fArchivePath);
-			if (file.exists()) {
-				abort(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_2, new String[]{fArchivePath}), e);
-			} else {
-				warn(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_1, new String[]{fArchivePath}), e);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fArchivePath;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/**
-	 * Returns whether root paths are automatically detected in this
-	 * archive source container.
-	 *  
-	 * @return whether root paths are automatically detected in this
-	 * archive source container
-	 */
-	public boolean isDetectRoot() {
-		return fDetectRoots;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof ExternalArchiveSourceContainer &&
-			((ExternalArchiveSourceContainer)obj).getName().equals(getName());
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fPotentialRoots != null) {
-			fPotentialRoots.clear();
-		}
-		fRoots.clear();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
deleted file mode 100644
index 6ac3b31..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A folder in the workspace.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class FolderSourceContainer extends ContainerSourceContainer {
-
-	/**
-	 * Unique identifier for the folder source container type
-	 * (value <code>org.eclipse.debug.core.containerType.folder</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.folder";	 //$NON-NLS-1$
-
-
-	/**
-	 * Constructs a source container on the given folder. 
-	 * 
-	 * @param folder the folder to search for source in
-	 * @param subfolders whether to search nested folders
-	 */
-	public FolderSourceContainer(IContainer folder, boolean subfolders) {
-		super(folder, subfolders);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
deleted file mode 100644
index cf97fbc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * Implementation of storage for a local file
- * (<code>java.io.File</code>).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class LocalFileStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * The file this storage refers to.
-	 */ 
-	private File fFile;
-		
-	/**
-	 * Constructs and returns storage for the given file.
-	 * 
-	 * @param file a local file
-	 */
-	public LocalFileStorage(File file){
-		setFile(file);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return new FileInputStream(getFile());
-		} catch (IOException e){
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.LocalFileStorage_0, e)); 
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		try {
-			return new Path(getFile().getCanonicalPath());
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		return getFile().getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the file associated with this storage
-	 * 
-	 * @param file a local file
-	 */
-	private void setFile(File file) {
-		fFile = file;	
-	}
-	
-	/**
-	 * Returns the file associated with this storage
-	 * 
-	 * @return file
-	 */
-	public File getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof LocalFileStorage &&
-			 getFile().equals(((LocalFileStorage)object).getFile());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getFile().hashCode();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
deleted file mode 100644
index ae890ae..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Mikhail Khodjaiants, QNX - Bug 110227: Possible infinite loop in ProjectSourceContainer  
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A project in the workspace. Source is searched for in the root project
- * folder and all folders within the project recursively. Optionally,
- * referenced projects may be searched as well.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ProjectSourceContainer extends ContainerSourceContainer {
-
-	boolean fReferencedProjects=false;
-	/**
-	 * Unique identifier for the project source container type
-	 * (value <code>org.eclipse.debug.core.containerType.project</code>).
-	 */	
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.project"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs a project source container.
-	 * 
-	 * @param project the project to search for source in
-	 * @param referenced whether referenced projects should be considered
-	 */
-	public ProjectSourceContainer(IProject project, boolean referenced) {
-		super(project, true);
-		fReferencedProjects = referenced;
-	}
-	
-	/**
-	 * Returns whether referenced projects are considered.
-	 * 
-	 * @return whether referenced projects are considered
-	 */
-	public boolean isSearchReferencedProjects() {
-		return fReferencedProjects;
-	}
-	
-	/**
-	 * Returns the project this source container references.
-	 * 
-	 * @return the project this source container references
-	 */
-	public IProject getProject() {
-		return (IProject) getContainer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if (getProject().isOpen()) {
-			if (isSearchReferencedProjects()) {
-				IProject project = getProject();
-				IProject[] projects = getAllReferencedProjects(project);
-				ISourceContainer[] folders = super.createSourceContainers();
-				List all = new ArrayList(folders.length + projects.length);
-				for (int i = 0; i < folders.length; i++) {
-					all.add(folders[i]);
-				}
-				for (int i = 0; i < projects.length; i++) {
-					if (project.exists() && project.isOpen()) {
-						ProjectSourceContainer container = new ProjectSourceContainer(projects[i], false);
-						container.init(getDirector());
-						all.add(container);
-					}
-				}
-				return (ISourceContainer[]) all.toArray(new ISourceContainer[all.size()]);
-			} 
-			return super.createSourceContainers();
-		}
-		return new ISourceContainer[0];
-	}
-
-	private IProject[] getAllReferencedProjects(IProject project) throws CoreException {
-		Set all = new HashSet();
-		getAllReferencedProjects(all, project);
-		return (IProject[]) all.toArray(new IProject[all.size()]);
-	}
-
-	private void getAllReferencedProjects(Set all, IProject project) throws CoreException {
-		IProject[] refs = project.getReferencedProjects();
-		for (int i = 0; i < refs.length; i++) {
-			if (!all.contains(refs[i]) && refs[i].exists() && refs[i].isOpen()) {
-				all.add(refs[i]);
-				getAllReferencedProjects(all, refs[i]);
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
deleted file mode 100644
index 3f14bb5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * All projects in the workspace.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class WorkspaceSourceContainer extends CompositeSourceContainer {
-	
-	/**
-	 * Unique identifier for the workspace source container type
-	 * (value <code>org.eclipse.debug.core.containerType.workspace</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.workspace"; //$NON-NLS-1$
-
-	public WorkspaceSourceContainer() {
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.WorkspaceSourceContainer_0; 
-	}
-		
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof WorkspaceSourceContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */	
-	public int hashCode() {
-		return ResourcesPlugin.getWorkspace().hashCode();
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		ISourceContainer[] containers = new ISourceContainer[projects.length];
-		for (int i = 0; i < projects.length; i++) {
-			ISourceContainer container = new ProjectSourceContainer(projects[i], false);
-			container.init(getDirector());
-			containers[i] = container;
-		}
-		return containers;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
deleted file mode 100644
index 23aad8a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
- 
-/**
- * Storage implementation for zip entries.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class ZipEntryStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * Zip file associated with zip entry
-	 */
-	private ZipFile fArchive;
-	
-	/**
-	 * Zip entry
-	 */
-	private ZipEntry fZipEntry;
-	
-	/**
-	 * Constructs a new storage implementation for the
-	 * given zip entry in the specified zip file
-	 * 
-	 * @param archive zip file
-	 * @param entry zip entry
-	 */
-	public ZipEntryStorage(ZipFile archive, ZipEntry entry) {
-		setArchive(archive);
-		setZipEntry(entry);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return getArchive().getInputStream(getZipEntry());
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.ZipEntryStorage_0, e)); 
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		return new Path(getArchive().getName()).append(getZipEntry().getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		int index = getZipEntry().getName().lastIndexOf('\\');
-		if (index == -1) {
-			index = getZipEntry().getName().lastIndexOf('/');
-		}
-		if (index == -1) {
-			return getZipEntry().getName();
-		} 
-		return getZipEntry().getName().substring(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the archive containing the zip entry.
-	 * 
-	 * @param archive a zip file
-	 */
-	private void setArchive(ZipFile archive) {
-		fArchive = archive;
-	}
-	
-	/**
-	 * Returns the archive containing the zip entry.
-	 * 
-	 * @return zip file
-	 */
-	public ZipFile getArchive() {
-		return fArchive;
-	}	
-	
-	/**
-	 * Sets the entry that contains the source.
-	 * 
-	 * @param entry the entry that contains the source
-	 */
-	private void setZipEntry(ZipEntry entry) {
-		fZipEntry = entry;
-	}
-	
-	/**
-	 * Returns the entry that contains the source
-	 * 
-	 * @return zip entry
-	 */
-	public ZipEntry getZipEntry() {
-		return fZipEntry;
-	}		
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof ZipEntryStorage &&
-			 getArchive().equals(((ZipEntryStorage)object).getArchive()) &&
-			 getZipEntry().getName().equals(((ZipEntryStorage)object).getZipEntry().getName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getZipEntry().getName().hashCode();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
deleted file mode 100644
index 7125fb5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides implementations of common source containers supporting source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides implementations of common source containers, such as 
-  archives, folders, and projects.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
deleted file mode 100644
index 8866be6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support source lookup. A source 
-  lookup director is a persistable source locator that directs source lookup among 
-  a collection of source lookup participants and a collection of source containers. 
-  Each source lookup participant is a source locator itself, which allows more 
-  than one source locator to participate in source lookup for a launch. Each source 
-  lookup participant searches for source in the source containers managed by its 
-  director, and each participant is notified of changes in the set of source containers 
-  being searched.</p>
-<p>A source lookup participant participates in source lookup by searching an ordered 
-  list of source containers for source elements corresponding to a debug artifact. 
-  For example, a participant may be asked to find source corresponding to a stack 
-  frame or breakpoint. An implementation of a source lookup participant is debug 
-  model specific, since it must convert the debug model artifact (stack frame, 
-  breakpoint, etc.), into a source name that can be recognized by a source container, 
-  to search for source elements. Source containers are generally debug model independent, 
-  whereas source lookup participants are debug model specific.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
deleted file mode 100644
index 3587565..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,1101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-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.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The breakpoint manager manages all registered breakpoints
- * for the debug plug-in. It is instantiated by the debug plug-in 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;
-
-	/**
-	 * A collection of breakpoints registered with this manager.
-	 */
-	private Vector fBreakpoints= null;
-	
-	/**
-	 * A collection of breakpoint markers that have received a POST_CHANGE notification
-	 * that they have changed before a POST_BUILD notification of add. This allows us
-	 * to tell if a marker has been created & changed since the breakpoint has been
-	 * registered (see bug 138473).
-	 */
-	private Set fPostChangMarkersChanged = new HashSet();
-	
-	/**
-	 * A collection of breakpoint markers that have received a POST_BUILD notification
-	 * of being added.
-	 */
-	private Set fPostBuildMarkersAdded = new HashSet();
-	
-	/**
-	 * Collection of breakpoints being added currently. Used to 
-	 * suppress change notification 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();
-		
-	/**
-	 * Collection of (plural) breakpoint listeners.
-	 */
-	private ListenerList fBreakpointsListeners= new ListenerList();	
-	
-	/**
-	 * Singleton resource delta visitor which handles marker
-	 * additions, changes, and removals.
-	 */
-	private static BreakpointManagerVisitor fgVisitor;
-	
-	/**
-	 * Whether or not this breakpoint manager is enabled.
-	 */
-	private boolean fEnabled= true;
-	
-	/**
-	 * Collection of breakpoint manager listeners which are
-	 * notified when this manager's state changes.
-	 */
-	private ListenerList fBreakpointManagerListeners= new ListenerList();
-
-	/**
-	 * Listens to POST_CHANGE notifications of breakpoint markers to detect when
-	 * a breakpoint is added & changed before the POST_BUILD add notification is
-	 * sent.
-	 */
-	class PostChangeListener implements IResourceChangeListener {
-		
-		private PostChangeVisitor fVisitor = new PostChangeVisitor();
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			IResourceDelta delta= event.getDelta();
-			if (delta != null) {
-				try {
-					delta.accept(fVisitor);
-				} catch (CoreException ce) {
-					DebugPlugin.log(ce);
-				}
-			}
-		}
-		
-	}
-	
-	/**
-	 * The listener
-	 */
-	private PostChangeListener fPostChangeListener = new PostChangeListener();
-	
-	class PostChangeVisitor implements IResourceDeltaVisitor {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			if (delta == null) {
-				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 :
-							break;
-						case IResourceDelta.REMOVED :
-							break;
-						case IResourceDelta.CHANGED :
-							IMarker marker = markerDelta.getMarker();
-							synchronized (fPostChangMarkersChanged) {
-								if (!fPostBuildMarkersAdded.contains(marker)) {
-									fPostChangMarkersChanged.add(marker);
-								}
-							}
-							break;
-					}
-				}
-			}
-			return true;
-		}
-		
-	}
-	
-	/**
-	 * Constructs a new breakpoint manager.
-	 */
-	public BreakpointManager() {
-		fMarkersToBreakpoints= new HashMap(10);	
-		fBreakpointExtensions= new HashMap(15);
-	}
-	
-	/**
-	 * Loads all the breakpoints on the given resource.
-	 * 
-	 * @param resource the resource which contains the breakpoints
-	 * @param notify whether to notify of the breakpoint additions
-	 */
-	private void loadBreakpoints(IResource resource, boolean notify) throws CoreException {
-		initBreakpointExtensions();
-		IMarker[] markers= getPersistedMarkers(resource);
-		List added = new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			try {
-				IBreakpoint breakpoint = createBreakpoint(marker);
-				synchronized (fPostChangMarkersChanged) {
-					fPostBuildMarkersAdded.add(marker);
-				}
-				if (breakpoint.isRegistered()) {
-					added.add(breakpoint);
-				}
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		addBreakpoints((IBreakpoint[])added.toArray(new IBreakpoint[added.size()]), notify);
-	}
-	
-	/**
-	 * Returns the persisted markers associated with the given resource.
-	 * 
-	 * Delete any invalid breakpoint markers. This is done at startup rather
-	 * than shutdown, since the changes made at shutdown are not persisted as
-	 * the workspace state has already been saved. See bug 7683.
-	 * 
-	 * Since the <code>TRANSIENT</code> marker attribute/feature has been added,
-	 * we no longer have to manually delete non-persisted markers - the platform
-	 * does this for us (at shutdown, transient markers are not saved). However,
-	 * the code is still present to delete non-persisted markers from old
-	 * workspaces.
-	 */
-	protected IMarker[] getPersistedMarkers(IResource resource) throws CoreException {
-		IMarker[] markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-		final List delete = new ArrayList();
-		List persisted= new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			// ensure the marker has a valid model identifier attribute
-			// and delete the breakpoint if not
-			String modelId = marker.getAttribute(IBreakpoint.ID, null);
-			if (modelId == null) {
-				// marker with old/invalid format - delete
-				delete.add(marker);
-			} else if (!marker.getAttribute(IBreakpoint.PERSISTED, true)) {
-				// the breakpoint is marked as not to be persisted,
-				// schedule for deletion
-				delete.add(marker);
-			} else {
-				persisted.add(marker);
-			}
-		}
-		// delete any markers that are not to be restored
-		if (!delete.isEmpty()) {
-            final IMarker[] delMarkers = (IMarker[])delete.toArray(new IMarker[delete.size()]);
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) throws CoreException {
-                    for (int i = 0; i < delMarkers.length; i++) {
-                        IMarker marker = delMarkers[i];
-                        marker.delete();
-                    }
-				}
-			};
-			new BreakpointManagerJob(wr).schedule();
-		}
-		return (IMarker[])persisted.toArray(new IMarker[persisted.size()]);
-	}
-	
-	/**
-	 * Removes this manager as a resource change listener
-	 * and removes all breakpoint listeners.
-	 */
-	public void shutdown() {
-		getWorkspace().removeResourceChangeListener(this);
-		getWorkspace().removeResourceChangeListener(fPostChangeListener);
-		fBreakpointListeners = null;
-        fBreakpointsListeners = null;
-        fBreakpointManagerListeners = null;
-	}
-
-	/**
-	 * Find the defined breakpoint extensions and cache them for use in recreating
-	 * breakpoints from markers.
-	 */
-	private void initBreakpointExtensions() {
-		IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_BREAKPOINTS);
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		for (int i= 0; i < elements.length; i++) {
-			String markerType = elements[i].getAttribute(IConfigurationElementConstants.MARKER_TYPE);
-			String className = elements[i].getAttribute(IConfigurationElementConstants.CLASS);
-			if (markerType == null) {
-				DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + elements[i].getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: markerType", null)); //$NON-NLS-1$ //$NON-NLS-2$ 
-			} else if (className == null){
-				DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + elements[i].getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: class", null)); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				fBreakpointExtensions.put(markerType, elements[i]);
-			}
-		}
-	}
-
-	/**
-	 * 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);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#getBreakpoints()
-	 */
-	public IBreakpoint[] getBreakpoints() {
-		IBreakpoint[] temp = new IBreakpoint[0];
-		Vector breakpoints = getBreakpoints0();
-		synchronized (breakpoints) {
-			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 synchronized Vector getBreakpoints0() {
-		if (fBreakpoints == null) {
-			initializeBreakpoints();
-		}
-		return fBreakpoints;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#getBreakpoints(java.lang.String)
-	 */
-	public IBreakpoint[] getBreakpoints(String modelIdentifier) {
-		Vector allBreakpoints= getBreakpoints0();
-		synchronized (allBreakpoints) {
-			ArrayList temp = new ArrayList(allBreakpoints.size());
-			Iterator breakpoints= allBreakpoints.iterator();
-			while (breakpoints.hasNext()) {
-				IBreakpoint breakpoint= (IBreakpoint) breakpoints.next();
-				String id= breakpoint.getModelIdentifier();
-				if (id != null && id.equals(modelIdentifier)) {
-					temp.add(breakpoint);
-				}
-			}
-			return (IBreakpoint[]) temp.toArray(new IBreakpoint[temp.size()]);
-		}
-	}
-
-	/**
-	 * Loads the list of breakpoints from the breakpoint markers in the
-	 * workspace. Start listening to resource deltas.
-	 */
-	private void initializeBreakpoints() {
-		setBreakpoints(new Vector(10));
-		try {
-			loadBreakpoints(getWorkspace().getRoot(), false);
-			getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
-			getWorkspace().addResourceChangeListener(fPostChangeListener, IResourceChangeEvent.POST_CHANGE);
-		} 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 unregistered
-							IMarker marker = breakpoint.getMarker();
-							if (marker.exists()) {
-								IProject project = breakpoint.getMarker().getResource().getProject();
-								if (project == null || project.isOpen()) {
-									breakpoint.setRegistered(false);
-								}
-							}
-						}
-					}					
-				}
-			};
-			getWorkspace().run(r, null, 0, null);
-		}
-	}	
-	
-	/**
-	 * Create a breakpoint for the given marker. The created breakpoint
-	 * is of the type specified in the breakpoint extension associated
-	 * with the given marker type.
-	 * 
-	 * @param marker marker to create a breakpoint for
-	 * @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>
-	 */
-	public IBreakpoint createBreakpoint(IMarker marker) throws DebugException {
-		IBreakpoint breakpoint= (IBreakpoint) fMarkersToBreakpoints.get(marker);
-		if (breakpoint != null) {
-			return breakpoint;
-		}
-		try {
-			IConfigurationElement config = (IConfigurationElement)fBreakpointExtensions.get(marker.getType());
-			if (config == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, MessageFormat.format(DebugCoreMessages.BreakpointManager_Missing_breakpoint_definition, new String[] {marker.getType()}), null)); 
-			}
-			Object object = config.createExecutableExtension(IConfigurationElementConstants.CLASS);
-			if (object instanceof IBreakpoint) {
-				breakpoint = (IBreakpoint)object;
-				breakpoint.setMarker(marker);
-			} else {
-				DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + config.getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: class", null)); //$NON-NLS-1$ //$NON-NLS-2$ 
-			}
-			return breakpoint;		
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}	
-
-	/**
-	 * @see IBreakpointManager#addBreakpoint(IBreakpoint)
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException {
-		addBreakpoints(new IBreakpoint[]{breakpoint});
-	}
-	
-	/**
-	 * @see IBreakpointManager#addBreakpoints(IBreakpoint[])
-	 */
-	public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException {
-	    addBreakpoints(breakpoints, true);
-	}	
-	
-	/**
-	 * Registers the given breakpoints and notifies listeners if specified.
-	 * 
-	 * @param breakpoints the breakpoints to register
-	 * @param notify whether to notify listeners of the add
-	 * @param loading whether the given breakpoints are being automatically loaded
-	 *  from previously persisted markers
-	 */
-	private void addBreakpoints(IBreakpoint[] breakpoints, boolean notify) throws CoreException {
-		List added = new ArrayList(breakpoints.length);
-		final List update = new ArrayList();
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (!getBreakpoints0().contains(breakpoint)) {
-				verifyBreakpoint(breakpoint);
-				if (breakpoint.isRegistered()) {
-				    // If notify == false, the breakpoints are just being added at startup
-					added.add(breakpoint);
-					getBreakpoints0().add(breakpoint);
-					fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
-				} else {
-					// need to update the 'registered' and/or 'group' attributes
-					update.add(breakpoint);
-				}
-			}	
-		}
-		if (notify) {
-		    fireUpdate(added, null, ADDED);
-		}
-		if (!update.isEmpty()) {
-			IWorkspaceRunnable r = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					Iterator iter = update.iterator();
-					while (iter.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint)iter.next();
-						getBreakpoints0().add(breakpoint);
-						breakpoint.setRegistered(true);
-						fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);						
-					}
-				}
-			};
-			// Need to suppress change notification, since this is really
-			// an add notification			
-			fSuppressChange.addAll(update);
-			getWorkspace().run(r, null, 0, null);
-			fSuppressChange.removeAll(update);
-			if (notify) {
-			    fireUpdate(update, null, ADDED);
-			}
-		}			
-	}	
-	
-	/**
-	 * Returns whether change notification is to be suppressed for the given breakpoint.
-	 * Used when adding breakpoints and changing the "REGISTERED" attribute.
-	 * 
-	 * @param breakpoint
-	 * @return boolean whether change notification is suppressed
-	 */
-	protected boolean isChangeSuppressed(IBreakpoint breakpoint) {
-		return fSuppressChange.contains(breakpoint);
-	}
-	
-	/**
-	 * @see IBreakpointManager#fireBreakpointChanged(IBreakpoint)
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint) {
-		if (getBreakpoints0().contains(breakpoint)) {
-			List changed = new ArrayList();
-			changed.add(breakpoint);
-			fireUpdate(changed, null, CHANGED);
-		}
-	}
-
-	/**
-	 * Verifies that the breakpoint marker has the minimal required attributes,
-	 * and throws a debug exception if not.
-	 */
-	private void verifyBreakpoint(IBreakpoint breakpoint) throws DebugException {
-		try {
-			String id= breakpoint.getModelIdentifier();
-			if (id == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, DebugCoreMessages.BreakpointManager_Missing_model_identifier, null)); 
-			}
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}
-
-	/**
-	 * A resource has changed. Traverses the delta for breakpoint changes.
-	 * 
-	 * @param event resource change event
-	 */
-	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 accumulated changes, and fires change notification after
-		 * a traversal. Accumulated updates are reset.
-		 */
-		public void update() {
-			if (!fMoved.isEmpty()) {
-				// delete moved markers
-				IWorkspaceRunnable wRunnable= new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-                        IMarker[] markers = (IMarker[])fMoved.toArray(new IMarker[fMoved.size()]);
-						for (int i = 0; i < markers.length; i++) {
-                            markers[i].delete();
-                        }
-					}
-				};
-				try {
-					getWorkspace().run(wRunnable, null, 0, null);
-				} catch (CoreException e) {
-				}
-			}
-			if (!fRemoved.isEmpty()) {
-				try {
-					removeBreakpoints((IBreakpoint[])fRemoved.toArray(new IBreakpoint[fRemoved.size()]), false);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-			if (!fChanged.isEmpty()) {
-				fireUpdate(fChanged, fChangedDeltas, CHANGED);
-			}
-			reset();
-		} 
-				
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN) && 0 == (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
-				handleProjectResourceOpenStateChange(delta.getResource());
-				return false;
-			}
-			IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();
-			for (int i= 0; i < markerDeltas.length; i++) {
-				IMarkerDelta markerDelta= markerDeltas[i];
-				if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-					switch (markerDelta.getKind()) {
-						case IResourceDelta.ADDED :
-							handleAddBreakpoint(delta, markerDelta.getMarker(), markerDelta);
-							break;
-						case IResourceDelta.REMOVED :
-							handleRemoveBreakpoint(markerDelta.getMarker());
-							break;
-						case IResourceDelta.CHANGED :
-							handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);
-							break;
-					}
-				}
-			}
-
-			return true;
-		}		
-
-		/**
-		 * Wrapper for handling adds
-		 */
-		protected void handleAddBreakpoint(IResourceDelta rDelta, 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.
-				if (getBreakpoint(marker) == null) {
-					fMoved.add(marker);
-				}
-			} else {
-				// check if the an add & change have be combined into one add notification 
-				synchronized (fPostChangMarkersChanged) {
-					if (fPostChangMarkersChanged.contains(marker)) {
-						handleChangeBreakpoint(marker, mDelta);
-						fPostChangMarkersChanged.remove(marker);
-					}
-					fPostBuildMarkersAdded.add(marker);
-				}
-			}
-		}
-		
-		/**
-		 * Wrapper for handling removes
-		 */
-		protected void handleRemoveBreakpoint(IMarker marker) {
-			synchronized (fPostChangMarkersChanged) {
-				fPostChangMarkersChanged.remove(marker);
-				fPostBuildMarkersAdded.remove(marker);
-			}
-			IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null) {
-				fRemoved.add(breakpoint);
-			}
-		}
-
-		/**
-		 * Wrapper for handling changes
-		 */
-		protected void handleChangeBreakpoint(IMarker marker, IMarkerDelta delta) {
-			IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null && isRegistered(breakpoint) && !isChangeSuppressed(breakpoint)) {
-				fChanged.add(breakpoint);
-				fChangedDeltas.add(delta);
-			}
-		}
-		
-		/**
-		 * A project has been opened or closed.  Updates the breakpoints for
-		 * that project
-		 */
-		private void handleProjectResourceOpenStateChange(final IResource project) {
-			if (!project.isAccessible()) {
-				//closed
-				Enumeration breakpoints= ((Vector)getBreakpoints0().clone()).elements();
-				while (breakpoints.hasMoreElements()) {
-					IBreakpoint breakpoint= (IBreakpoint) breakpoints.nextElement();
-					IResource markerResource= breakpoint.getMarker().getResource();
-					if (project.getFullPath().isPrefixOf(markerResource.getFullPath())) {
-						fRemoved.add(breakpoint);
-					}
-				}
-				return;
-			} 
-			try {
-				loadBreakpoints(project, true);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-
-	/**
-	 * @see IBreakpointManager#addBreakpointListener(IBreakpointListener)
-	 */
-	public void addBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.add(listener);
-	}
-
-	/**
-	 * @see IBreakpointManager#removeBreakpointListener(IBreakpointListener)
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.remove(listener);
-	}
-	
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param breakpoints associated breakpoints
-	 * @param deltas or <code>null</code>
-	 * @param update type of change
-	 */
-	private void fireUpdate(List breakpoints, List deltas, int update) {
-		if (breakpoints.isEmpty()) {
-			return; 
-		}
-		IBreakpoint[] bpArray = (IBreakpoint[])breakpoints.toArray(new IBreakpoint[breakpoints.size()]);
-		IMarkerDelta[] deltaArray = new IMarkerDelta[bpArray.length];
-		if (deltas != null) {
-			deltaArray = (IMarkerDelta[])deltas.toArray(deltaArray);
-		}
-		// single listeners
-		getBreakpointNotifier().notify(bpArray, deltaArray, update);
-		
-		// plural listeners
-		getBreakpointsNotifier().notify(bpArray, deltaArray, update);
-	}	
-
-	protected void setBreakpoints(Vector breakpoints) {
-		fBreakpoints = breakpoints;
-	}
-	
-	/**
-	 * @see IBreakpointManager#hasBreakpoints()
-	 */
-	public boolean hasBreakpoints() {
-		return !getBreakpoints0().isEmpty();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.remove(listener);
-	}
-
-	private BreakpointNotifier getBreakpointNotifier() {
-		return new BreakpointNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (single breakpoint) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointNotifier implements ISafeRunnable {
-		
-		private IBreakpointListener fListener;
-		private int fType;
-		private IMarkerDelta fDelta;
-		private IBreakpoint fBreakpoint;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", 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];
-                    SafeRunner.run(this);				
-				}
-			}
-			fListener = null;
-			fDelta = null;
-			fBreakpoint = null;			
-		}
-	}
-	
-	private BreakpointsNotifier getBreakpointsNotifier() {
-		return new BreakpointsNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (multiple breakpoints) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointsNotifier implements ISafeRunnable {
-		
-		private IBreakpointsListener fListener;
-		private int fType;
-		private IMarkerDelta[] fDeltas;
-		private IBreakpoint[] fNotifierBreakpoints;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.breakpointsAdded(fNotifierBreakpoints);
-					break;
-				case REMOVED:
-					fListener.breakpointsRemoved(fNotifierBreakpoints, fDeltas);
-					break;
-				case CHANGED:
-					fListener.breakpointsChanged(fNotifierBreakpoints, fDeltas);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the listeners of the adds/changes/removes
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the changed breakpoints
-		 * @param update the type of change
-		 */
-		public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
-			fType = update;
-			fNotifierBreakpoints = breakpoints;
-			fDeltas = deltas;
-			Object[] copiedListeners = fBreakpointsListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointsListener)copiedListeners[i];
-                SafeRunner.run(this);
-			}
-			fDeltas = null;
-			fNotifierBreakpoints = null;
-			fListener = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#setEnabled(boolean)
-	 */
-	public void setEnabled(final boolean enabled) {
-        if (fEnabled != enabled) {
-    		fEnabled= enabled;
-            IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-                public void run(IProgressMonitor monitor) throws CoreException {
-                    IBreakpoint[] breakpoints = getBreakpoints();
-                    for (int i = 0; i < breakpoints.length; i++) {
-                        IBreakpoint breakpoint = breakpoints[i];
-                        // Touch the marker (but don't actually change anything) so that the icon in
-                        // the editor ruler will be updated (editors listen to marker changes). 
-                        breakpoint.getMarker().setAttribute(IBreakpoint.ENABLED, breakpoint.isEnabled());
-                    }
-                }
-            };
-            try {
-                ResourcesPlugin.getWorkspace().run(runnable, null, IWorkspace.AVOID_UPDATE ,null);
-            } catch (CoreException e) {
-                DebugPlugin.log(e);
-            }
-    		new BreakpointManagerNotifier().notify(enabled);
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void addBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void removeBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.remove(listener);
-	}	
-	
-	/**
-	 * Notifies breakpoint manager listeners in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointManagerNotifier implements ISafeRunnable {
-		
-		private IBreakpointManagerListener fListener;
-		private boolean fManagerEnabled;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.breakpointManagerEnablementChanged(fManagerEnabled);
-		}
-
-		/**
-		 * Notifies the listeners of the enabled state change
-		 * 
-		 * @param enabled whether the manager is enabled
-		 */
-		public void notify(boolean enabled) {
-			fManagerEnabled= enabled;
-			Object[] copiedListeners = fBreakpointManagerListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointManagerListener)copiedListeners[i];
-                SafeRunner.run(this);
-			}
-			fListener = null;
-		}
-	}
-	
-	class BreakpointManagerJob extends Job {
-		
-		private final IWorkspaceRunnable fRunnable;
-
-		public BreakpointManagerJob (IWorkspaceRunnable wRunnable) {
-			super("breakpoint manager job"); //$NON-NLS-1$
-			fRunnable= wRunnable;
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				getWorkspace().run(fRunnable, null, 0, null);
-			} catch (CoreException ce) {
-				DebugPlugin.log(ce);
-			}
-			return new Status(IStatus.OK, DebugPlugin.getUniqueIdentifier(), IStatus.OK, "", null); //$NON-NLS-1$
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.IBreakpointManager#getTypeName(org.eclipse.debug.core.model.IBreakpoint)
-     */
-    public String getTypeName(IBreakpoint breakpoint) {
-        String typeName= null;
-        IMarker marker = breakpoint.getMarker();
-        if (marker != null) {
-            try {
-                IConfigurationElement element = (IConfigurationElement) fBreakpointExtensions.get(marker.getType());
-                if (element != null) {
-                    typeName= element.getAttribute(IConfigurationElementConstants.NAME);
-                }
-            } 
-            catch (CoreException e) {}
-        }
-        return typeName;
-    }
-}
-
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 87f2752..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugCoreMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$
-
-	public static String Breakpoint_no_associated_marker;
-	public static String BreakpointManager_Missing_breakpoint_definition;
-	public static String BreakpointManager_Missing_model_identifier;
-	public static String DebugEvent_illegal_detail;
-	public static String DebugEvent_illegal_kind;
-
-	public static String DebugPlugin_0;
-
-	public static String DebugPlugin_2;
-
-	public static String DebugPlugin_3;
-
-	public static String DebugPlugin_4;
-
-	public static String DebugPlugin_5;
-
-	public static String DebugPlugin_6;
-
-	public static String DebugPlugin_7;
-
-	public static String DebugPlugin_8;
-	public static String DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2;
-	public static String DebugPlugin_1;
-	public static String EnvironmentVariableResolver_0;
-
-	public static String J9VMRunner_0;
-
-	public static String LaunchConfiguration_0;
-	public static String LaunchConfiguration_1;
-	public static String LaunchConfiguration_11;
-	public static String LaunchConfiguration_13;
-	public static String LaunchConfiguration_14;
-
-	public static String LaunchConfiguration_15;
-
-	public static String LaunchConfiguration_16;
-
-	public static String LaunchConfiguration_17;
-
-	public static String LaunchConfiguration_18;
-
-	public static String LaunchConfiguration_19;
-	public static String LaunchConfiguration_2;
-	public static String LaunchConfiguration_3;
-	public static String LaunchConfiguration_4;
-	public static String LaunchConfiguration_5;
-	public static String LaunchConfiguration_6;
-	public static String LaunchConfiguration_7;
-	public static String LaunchConfiguration_8;
-	public static String LaunchConfiguration_9;
-	public static String LaunchConfigurationInfo_35;
-	public static String LaunchConfigurationType_7;
-
-	public static String LaunchConfigurationWorkingCopy_0;
-	public static String LaunchConfigurationWorkingCopy_1;
-
-	public static String LaunchConfigurationWorkingCopy_2;
-
-	public static String LaunchConfigurationWorkingCopy_3;
-
-	public static String LaunchDelegate_0;
-	public static String LaunchDelegate_1;
-	public static String LaunchDelegate_2;
-
-	public static String LaunchDelegate_3;
-	
-	public static String LaunchManager_29;
-
-	public static String LaunchManager_31;
-
-	public static String LaunchMode_1;
-
-	public static String LogicalStructureProvider_0;
-
-	public static String LogicalStructureProvider_1;
-
-	public static String LogicalStructureType_1;
-	public static String SystemPropertyResolver_0;	
-	public static String InputStreamMonitor_label;
-	public static String Launch_terminate_failed;
-	public static String LaunchConfiguration_Failed_to_delete_launch_configuration__1;
-	public static String LaunchConfigurationDelegate_6;
-	public static String LaunchConfigurationDelegate_7;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1;
-	public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1;
-	public static String LaunchConfigurationInfo_Invalid_launch_configuration_XML__10;
-	public static String LaunchConfigurationInfo_missing_type;
-	public static String LaunchConfigurationInfo_36;
-	public static String LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1;
-	public static String LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2;
-	public static String LaunchConfigurationWorkingCopy_5;
-	public static String LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1;
-	public static String LaunchManager_Invalid_launch_configuration_index__18;
-	public static String LaunchManager_does_not_exist;
-	public static String LaunchManager_Source_locator_does_not_exist___0__13;
-	public static String LaunchManager_30;
-	public static String LogicalStructureType_0;
-	public static String OutputStreamMonitor_label;
-	public static String ProcessMonitorJob_0;
-	public static String RuntimeProcess_terminate_failed;
-	public static String RuntimeProcess_Exit_value_not_available_until_process_terminates__1;
-	public static String WatchExpression_0;
-	public static String NullStreamsProxy_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, DebugCoreMessages.class);
-	}
-	public static String LaunchMode_0;
-}
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 dd21131..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,98 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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
-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_Eclipse_runtime_does_not_support_working_directory_2=Eclipse runtime does not support working directory
-DebugPlugin_1=Debug Event Dispatch
-DebugPlugin_0=Exception occurred executing command line.
-DebugPlugin_2=Internal message logged from Debug Core: {0}
-DebugPlugin_3=Error logged from Debug Core: 
-DebugPlugin_4=Invalid process factory extension contributed by {0}; id: {1}
-DebugPlugin_5=Invalid status handler extension: {0}
-DebugPlugin_6=An exception occurred in asynchronous runnable.
-DebugPlugin_7=An exception occurred while filtering debug events.
-DebugPlugin_8=An exception occurred while dispatching debug events.
-EnvironmentVariableResolver_0=Environment variable not specified
-SystemPropertyResolver_0=System property not specified
-InputStreamMonitor_label=Input Stream Monitor
-Launch_terminate_failed=Terminate failed
-LaunchConfiguration_Failed_to_delete_launch_configuration__1=Failed to delete launch configuration.
-LaunchConfiguration_9=Preparing launch delegate...
-LaunchConfiguration_8=Performing pre-launch check...
-LaunchConfiguration_7=Build before launch - 
-LaunchConfiguration_6=Performing required build...
-LaunchConfiguration_5=Performing incremental workspace build...
-LaunchConfiguration_4=Performing final launch validation...
-LaunchConfiguration_3=Initializing source locator...
-LaunchConfiguration_2=Launching delegate...
-LaunchConfiguration_1=Unable to restore location for launch configuration from memento: {0}
-LaunchConfiguration_0=Launch configuration has corrupt resource mapping attributes
-LaunchConfiguration_11=No launch delegate found - launch canceled
-LaunchConfiguration_13=Duplicate launcher detected - launch canceled
-LaunchConfiguration_14=Incompatible launch mode: expecting {0} instead of {1}
-LaunchConfiguration_15=Unable to generate memento for {0}, shared file does not exist.
-LaunchConfiguration_16=Exception occurred creating launch configuration memento
-LaunchConfiguration_17=Exception occurred parsing memento
-LaunchConfiguration_18=Invalid launch configuration memento: missing path attribute
-LaunchConfiguration_19=Invalid launch configuration memento: missing local attribute
-LaunchConfigurationDelegate_6=Searching for errors
-LaunchConfigurationDelegate_7=Searching for errors in {0}
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3=Attribute {0} is not of type boolean.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2=Attribute {0} is not of type int.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1=Attribute {0} is not of type java.lang.String.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1=Attribute {0} is not of type java.util.List.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1=Attribute {0} is not of type java.util.Map.
-LaunchConfigurationInfo_Invalid_launch_configuration_XML__10=Invalid launch configuration XML.
-LaunchConfigurationInfo_missing_type=Launch configuration type id \"{0}\" does not exist.\nPossible causes:\n\tMissing specification of a launch type (missing plug-in)\n\tIncorrect launch configuration XML
-LaunchConfigurationInfo_36=A null key has been specified for an attribute in this launch configuration
-LaunchConfigurationInfo_35=Attribute {0} is not of type java.util.Set.
-LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1={0} occurred generating launch configuration XML.
-LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2=Specified container for launch configuration does not exist
-LaunchConfigurationWorkingCopy_5=Unable to save launch configuration.
-LaunchConfigurationWorkingCopy_0=Saving launch configuration [{0}]:
-LaunchConfigurationWorkingCopy_1=Writing local file
-LaunchConfigurationWorkingCopy_2=Creating new file {0}.launch in workspace
-LaunchConfigurationWorkingCopy_3=Setting contents of {0}.launch
-LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1={0} occurred while reading launch configuration file: {1}.
-LaunchManager_Invalid_launch_configuration_index__18=Invalid launch configuration index.
-LaunchManager_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_30=Unable to retrieve shared launch configuration file for {0}
-LaunchManager_29=A shared launch configuration must be shared in same project that it is a default configuration for.
-
-# This describes the name of a single launch configuration
-# {0} is the base name of the configuration
-# {1} is the numerical modifier for the name
-# For example if we have a config named 'test' and we created a new one from test
-# we would get 'test (1)', where test is the basename, and 1 is the numerical modifier
-LaunchManager_31={0} ({1})
-LaunchDelegate_0=No description provided.
-LaunchDelegate_1={0} Launcher
-LaunchDelegate_2={0} launcher
-LaunchDelegate_3=Launch delegate for {0} does not implement required interface ILaunchConfigurationDelegate.
-LaunchMode_0={0} As
-LaunchMode_1=Required attribute {0} missing for launchMode extension.
-LogicalStructureType_0=<Missing Description>
-LogicalStructureType_1=Required attribute {0} missing for logicalStructureType extension.
-LogicalStructureProvider_0=Required attribute modelIdentifier missing for logicalStructureType extension.
-LogicalStructureProvider_1=Required attribute class missing for logicalStructureType extension.
-OutputStreamMonitor_label=Output Stream Monitor
-ProcessMonitorJob_0=Process monitor
-RuntimeProcess_terminate_failed=Terminate failed
-RuntimeProcess_Exit_value_not_available_until_process_terminates__1=Exit value not available until process terminates.
-LaunchConfigurationType_7=Launch mode not supported: {0}
-WatchExpression_0=(Watch expressions not supported)
-NullStreamsProxy_0=Null Stream Monitor
-J9VMRunner_0=Exception occurred executing command line.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java
deleted file mode 100644
index 2345f05..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Access to debug options.
- * 
- * @since 3.3
- */
-public class DebugOptions {
-
-	// debug option flags
-	public static boolean DEBUG = false;
-	public static boolean DEBUG_COMMANDS = false;
-	public static boolean DEBUG_EVENTS = false;
-
-	public static void initDebugOptions() {
-		DEBUG = "true".equals(Platform.getDebugOption("org.eclipse.debug.core/debug"));  //$NON-NLS-1$//$NON-NLS-2$
-		DEBUG_COMMANDS = DEBUG && "true".equals( //$NON-NLS-1$
-				 Platform.getDebugOption("org.eclipse.debug.core/debug/commands")); //$NON-NLS-1$
-		DEBUG_EVENTS = DEBUG && "true".equals( //$NON-NLS-1$
-				 Platform.getDebugOption("org.eclipse.debug.core/debug/events")); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java
deleted file mode 100644
index 2ef4d7f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Initializes preferences for debug.core
- * 
- * @since 3.3
- */
-public class DebugPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
-		// Step filter preferences
-		prefs.setDefault(StepFilterManager.PREF_USE_STEP_FILTERS, false);
-		prefs.setDefault(LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
deleted file mode 100644
index b3f1f6c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.osgi.service.environment.Constants;
-
-/**
- * Resolves the value of environment variables. 
- */
-public class EnvironmentVariableResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		if (argument == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugCoreMessages.EnvironmentVariableResolver_0, null)); 
-		}
-		Map map= DebugPlugin.getDefault().getLaunchManager().getNativeEnvironmentCasePreserved();
-        String value= (String) map.get(argument);
-		if (value == null && Platform.getOS().equals(Constants.OS_WIN32)) {
-			// On Win32, env variables are case insensitive, so we search the map
-            // for matches manually.
-            Iterator iter = map.entrySet().iterator();
-            while (iter.hasNext()) {
-                Map.Entry entry= ((Map.Entry) iter.next());
-                String key= (String) entry.getKey();
-                if (key.equalsIgnoreCase(argument)) {
-                    return (String) entry.getValue();
-                }
-            }
-		}
-		return value;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
deleted file mode 100644
index 1d86507..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,675 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionListener;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The expression manager manages all registered expressions
- * for the debug plug-in. It is instantiated by the debug plug-in
- * at startup.
- *
- * @see IExpressionManager
- */
-public class ExpressionManager extends PlatformObject implements IExpressionManager {
-	
-	/**
-	 * Ordered collection of registered expressions.
-	 */
-	private Vector fExpressions = null;
-	
-	/**
-	 * List of expression listeners
-	 */
-	private ListenerList fListeners = null;
-	
-	/**
-	 * List of expressions listeners (plural)
-	 */
-	private ListenerList fExpressionsListeners = null;
-	
-	/**
-	 * Mapping of debug model identifiers (String) to
-	 * expression delegate extensions (IConfigurationElement)
-	 */
-	private Map fWatchExpressionDelegates= new HashMap();	
-	
-	// Constants for add/remove/change/insert/move notification
-	private static final int ADDED = 1;
-	private static final int CHANGED = 2;
-	private static final int REMOVED = 3;
-	private static final int INSERTED = 4;
-	private static final int MOVED = 5;
-
-	// Preference for persisted watch expressions
-	private static final String PREF_WATCH_EXPRESSIONS= "prefWatchExpressions"; //$NON-NLS-1$
-	// Persisted watch expression XML tags
-	private static final String WATCH_EXPRESSIONS_TAG= "watchExpressions"; //$NON-NLS-1$
-	private static final String EXPRESSION_TAG= "expression"; //$NON-NLS-1$
-	private static final String TEXT_TAG= "text"; //$NON-NLS-1$
-	private static final String ENABLED_TAG= "enabled"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	
-	public ExpressionManager() {
-		loadPersistedExpressions();
-		loadWatchExpressionDelegates();
-	}
-	
-	/**
-	 * Loads the mapping of debug models to watch expression delegates
-	 * from the org.eclipse.debug.core.watchExpressionDelegates
-	 * extension point.
-	 */
-	private void loadWatchExpressionDelegates() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), "watchExpressionDelegates"); //$NON-NLS-1$
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
-			if (element.getName().equals("watchExpressionDelegate")) { //$NON-NLS-1$
-				String debugModel = element.getAttribute("debugModel"); //$NON-NLS-1$
-				if (debugModel == null || debugModel.length() == 0) {
-					continue;
-				}
-				fWatchExpressionDelegates.put(debugModel, element);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#newWatchExpressionDelegate(java.lang.String)
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String debugModel) {
-		try {
-			IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(debugModel);
-			if (element != null) {
-				return (IWatchExpressionDelegate) element.createExecutableExtension(IConfigurationElementConstants.DELEGATE_CLASS);
-			} 
-			return null;
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.IExpressionManager#hasWatchExpressionDelegate(java.lang.String)
-     */
-    public boolean hasWatchExpressionDelegate(String id) {
-        IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(id);
-        return element != null;
-    }
-    
-	/**
-	 * Loads any persisted watch expressions from the preferences.
-	 * NOTE: It's important that no setter methods are called on
-	 * 		the watchpoints which will fire change events as this
-	 * 		will cause an infinite loop (see Bug 27281).
-	 */
-	private void loadPersistedExpressions() {
-		String expressionsString= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_WATCH_EXPRESSIONS);
-		if (expressionsString.length() == 0) {
-			return;
-		}
-		Element root;
-		try {
-			root = DebugPlugin.parseDocument(expressionsString);
-		} catch (CoreException e) {
-			DebugPlugin.logMessage("An exception occurred while loading watch expressions.", e); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(WATCH_EXPRESSIONS_TAG)) {
-			DebugPlugin.logMessage("Invalid format encountered while loading watch expressions.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(EXPRESSION_TAG)) {
-					DebugPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading watch expressions: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String expressionText= element.getAttribute(TEXT_TAG);
-				if (expressionText.length() > 0) {
-					boolean enabled= TRUE_VALUE.equals(element.getAttribute(ENABLED_TAG));
-					IWatchExpression expression= newWatchExpression(expressionText, enabled);
-					if (fExpressions == null) {
-						fExpressions= new Vector(list.getLength());
-					}
-					fExpressions.add(expression);
-				} else {
-					DebugPlugin.logMessage("Invalid expression entry encountered while loading watch expressions. Expression text is empty.", null); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 * @return the new watch expression
-	 */
-	private IWatchExpression newWatchExpression(String expressionText, boolean enabled) {
-		return new WatchExpression(expressionText, enabled);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#newWatchExpression(java.lang.String)
-	 */
-	public IWatchExpression newWatchExpression(String expressionText) {
-		return new WatchExpression(expressionText);
-	}
-	
-	/**
-	 * Persists this manager's watch expressions as XML in the
-	 * preference store. 
-	 */
-	public void storeWatchExpressions() {
-		Preferences prefs= DebugPlugin.getDefault().getPluginPreferences();
-		String expressionString= ""; //$NON-NLS-1$
-		try {
-			expressionString= getWatchExpressionsAsXML();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		} catch (ParserConfigurationException e) {
-			DebugPlugin.log(e);
-		} catch (TransformerException e) {
-			DebugPlugin.log(e);
-		}
-		prefs.setValue(PREF_WATCH_EXPRESSIONS, expressionString);
-	}
-
-	/**
-	 * Returns this manager's watch expressions as XML.
-	 * @return this manager's watch expressions as XML
-	 * @throws IOException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws ParserConfigurationException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws TransformerException if an exception occurs while creating
-	 * 		the XML document.
-	 */
-	private String getWatchExpressionsAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IExpression[] expressions= getExpressions();
-		Document document= LaunchManager.getDocument();
-		Element rootElement= document.createElement(WATCH_EXPRESSIONS_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression= expressions[i];
-			if (expression instanceof IWatchExpression) {
-				Element element= document.createElement(EXPRESSION_TAG); 
-				element.setAttribute(TEXT_TAG, expression.getExpressionText());
-				element.setAttribute(ENABLED_TAG, ((IWatchExpression) expression).isEnabled() ? TRUE_VALUE : FALSE_VALUE);
-				rootElement.appendChild(element);
-			}
-		}
-		return LaunchManager.serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpression(org.eclipse.debug.core.model.IExpression)
-	 */
-	public void addExpression(IExpression expression) {
-		addExpressions(new IExpression[]{expression});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpressions(org.eclipse.debug.core.model.IExpression[])
-	 */
-	public void addExpressions(IExpression[] expressions) {
-		if (fExpressions == null) {
-			fExpressions = new Vector(expressions.length);
-		}
-		boolean addedWatchExpression= false;
-		List added = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.indexOf(expression) == -1) {
-				added.add(expression);
-				fExpressions.add(expression);
-				if (expression instanceof IWatchExpression) {
-					addedWatchExpression= true;
-				}
-			}				
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), ADDED);
-		}
-		if (addedWatchExpression) {
-			storeWatchExpressions();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#getExpressions()
-	 */
-	public IExpression[] getExpressions() {
-		if (fExpressions == null) {
-			return new IExpression[0];
-		}
-		IExpression[] temp= new IExpression[fExpressions.size()];
-		fExpressions.copyInto(temp);
-		return temp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#getExpressions(java.lang.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()]);
-	}
-	
-	/**
-	 * Adds the given expressions to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. The expressions
-	 * are inserted in the same order as the passed array at the index of the
-	 * specified expressions (before or after it depending on the boolean argument).
-	 * If no valid insertion location could be found, the expressions are added
-	 * to the end of the collection. Has no effect on expressions already registered.
-	 *
-	 * @param expressions expressions to insert into the collection
-	 * @param insertionLocation the expression at the location where expressions will be inserted
-	 * @param insertBefore whether to insert the expressions before or after the given insertion location
-	 * @since 3.4
-	 */
-	public void insertExpressions(IExpression[] expressions, IExpression insertionLocation, boolean insertBefore){
-		if (fExpressions == null) {
-			addExpressions(expressions);
-			return;
-		}
-		
-		int insertionIndex = fExpressions.indexOf(insertionLocation);
-		if (insertionIndex < 0){
-			addExpressions(expressions);
-			return;
-		}
-		if (!insertBefore){
-			insertionIndex++;
-		}
-		boolean addedWatchExpression = false;
-		List added = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.indexOf(expression) == -1) {
-				//Insert in the same order as the array is passed
-				fExpressions.add(insertionIndex+added.size(), expression);
-				added.add(expression);
-				if (expression instanceof IWatchExpression) {
-					addedWatchExpression= true;
-				}
-			}				
-		}
-		
-		if (!added.isEmpty()) {
-			fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), INSERTED, insertionIndex);
-		}
-		if (addedWatchExpression) {
-			storeWatchExpressions();
-		}
-	}
-	
-	/**
-	 * Moves the given expressions from their location in the collection
-	 * of registered expressions in the workspace to the specified insertion
-	 * location.  Notifies all registered listeners.  This method has no effect
-	 * if an expression does not exist in the collection or if no valid insertion 
-	 * location could be determined.
-	 *   
-	 * @param expressions expressions to move
-	 * @param insertionLocation the expression at the location to insert the moved expressions
-	 * @param insertBefore whether to insert the moved expressions before or after the given insertion location
-	 * @since 3.4
-	 */
-	public void moveExpressions(IExpression[] expressions, IExpression insertionLocation, boolean insertBefore){
-		if (fExpressions == null){
-			return;
-		}
-		int insertionIndex = fExpressions.indexOf(insertionLocation);
-		if (insertionIndex < 0){
-			return;
-		}
-		if (!insertBefore){
-			insertionIndex++;
-		}
-		
-		List movedExpressions = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			int removeIndex = fExpressions.indexOf(expressions[i]);
-			if (removeIndex >= 0){
-				movedExpressions.add(expressions[i]);
-				if (removeIndex < insertionIndex){
-					insertionIndex--;
-				}
-				fExpressions.remove(removeIndex);
-			}
-		}
-		IExpression[] movedExpressionsArray = (IExpression[])movedExpressions.toArray(new IExpression[movedExpressions.size()]);
-		for (int i = 0; i < movedExpressionsArray.length; i++) {
-			// Insert the expressions in the same order as the passed array
-			fExpressions.add(insertionIndex+i,movedExpressionsArray[i]);
-		}
-				
-		if (!movedExpressions.isEmpty()) {
-			fireUpdate(movedExpressionsArray, MOVED, insertionIndex);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#removeExpression(org.eclipse.debug.core.model.IExpression)
-	 */
-	public void removeExpression(IExpression expression) {
-		removeExpressions(new IExpression[] {expression});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#removeExpressions(org.eclipse.debug.core.model.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 (!removed.isEmpty()) {
-			fireUpdate((IExpression[])removed.toArray(new IExpression[removed.size()]), REMOVED);
-			storeWatchExpressions();
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionListener)
-	 */
-	public void addExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList();
-		}
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#removeExpressionListener(org.eclipse.debug.core.IExpressionListener)
-	 */
-	public void removeExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			return;
-		}
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * The given watch expression has changed. Update the persisted
-	 * expressions to store this change as indicated
-	 * 
-	 * @param expression the changed expression
-	 * @param persist whether to persist the expressions
-	 */
-	protected void watchExpressionChanged(IWatchExpression expression, boolean persist) {
-		if (fExpressions != null && fExpressions.contains(expression)) {
-			if (persist) {
-				storeWatchExpressions();
-			}
-			fireUpdate(new IExpression[]{expression}, CHANGED);
-		}
-	}
-
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param expressions expressions that were modified
-	 * @param update update flags
-	 */
-	private void fireUpdate(IExpression[] expressions, int update){
-		fireUpdate(expressions, update, -1);
-	}
-	
-	/**
-	 * Notifies listeners of the adds/removes/changes/insertions/moves
-	 * 
-	 * @param expressions expressions that were modified
-	 * @param update update flags
-	 * @param index index where expressions were inserted/moved to or <code>-1</code>
-	 */
-	private void fireUpdate(IExpression[] expressions, int update, int index){
-		// single listeners
-		getExpressionNotifier().notify(expressions, update);
-		
-		// multi listeners
-		getExpressionsNotifier().notify(expressions, update, index);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#hasExpressions()
-	 */
-	public boolean hasExpressions() {
-		return fExpressions != null && !fExpressions.isEmpty();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionsListener)
-	 */
-	public void addExpressionListener(IExpressionsListener listener) {
-		if (fExpressionsListeners == null) {
-			fExpressionsListeners = new ListenerList();
-		}
-		fExpressionsListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @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;
-
-		/* (non-Javadoc)
-		 * @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, "An exception occurred during expression change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/* (non-Javadoc)
-		 * @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 expressions the expressions that have 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];
-                        SafeRunner.run(this);
-					}
-				}			
-			}
-			fListener = null;
-			fExpression = null;
-		}
-	}
-	
-	/**
-	 * Returns the expressions notifier
-	 * @return the expressions notifier
-	 */
-	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 int fIndex;
-		private IExpression[] fNotifierExpressions;
-		
-		/* (non-Javadoc)
-		 * @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, "An exception occurred during expression change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case MOVED:
-					// If the listener doesn't know about moves or the insertion location is unknown, do nothing.
-					if (fIndex >= 0 && fListener instanceof IExpressionsListener2){
-						((IExpressionsListener2)fListener).expressionsMoved(fNotifierExpressions, fIndex);
-					}
-					break;
-				case INSERTED:
-					// If the listener doesn't know about insertions or the insertion location is unknown, notify of an ADD
-					if (fIndex >= 0 && fListener instanceof IExpressionsListener2){
-						((IExpressionsListener2)fListener).expressionsInserted(fNotifierExpressions, fIndex);
-					} else {
-						fListener.expressionsAdded(fNotifierExpressions);
-					}
-					break;
-				case ADDED:
-					fListener.expressionsAdded(fNotifierExpressions);
-					break;
-				case REMOVED:
-					fListener.expressionsRemoved(fNotifierExpressions);
-					break;
-				case CHANGED:
-					fListener.expressionsChanged(fNotifierExpressions);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies listeners of the adds/changes/removes
-		 * 
-		 * @param expressions the expressions that changed
-		 * @param update the type of change
-		 * @param index the index of the first change
-		 */
-		public void notify(IExpression[] expressions, int update, int index) {
-			if (fExpressionsListeners != null) {
-				fNotifierExpressions = expressions;
-				fType = update;
-				fIndex = index;
-				Object[] copiedListeners = fExpressionsListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionsListener)copiedListeners[i];
-                    SafeRunner.run(this);
-				}
-			}	
-			fNotifierExpressions = null;
-			fListener = null;				
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
deleted file mode 100644
index 60a0265..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-/**
- * This interface provides a repository for the names of <code>IConfigurationElement</code> child node ids.
- * @since 3.3
- */
-public interface IConfigurationElementConstants {
-
-	/**
-	 * The id node name for a configuration element.
-	 * <p>Equal to the word: <code>id</code></p>
-	 */
-	public static final String ID = "id"; //$NON-NLS-1$
-	
-	/**
-	 * The name node name for a configuration element.
-	 * <p>Equal to the word: <code>name</code></p>
-	 */
-	public static final String NAME = "name"; //$NON-NLS-1$
-	
-	/**
-	 * The category node name for a configuration element.
-	 * <p>Equal to the word: <code>category</code></p>
-	 */
-	public static final String CATEGORY = "category"; //$NON-NLS-1$
-	
-	/**
-	 * The local node name for a configuration element.
-	 * <p>Equal to the word: <code>local</code></p>
-	 */
-	public static final String LOCAL = "local"; //$NON-NLS-1$
-	
-	/**
-	 * The shortcutId node name for a configuration element.
-	 * <p>Equal to the word: <code>shortcutID</code></p>
-	 */
-	public static final String LAUNCH_SHORTCUT_ID = "shortcutID"; //$NON-NLS-1$
-
-	/**
-	 * The launchPerspectives node name for a configuration element.
-	 * <p>Equal to the word: <code>launchPerspectives</code></p>
-	 */
-	public static final String LAUNCH_PERSPECTIVES = "launchPerspectives";  //$NON-NLS-1$
-	
-	/**
-	 * The launchPerspective node name for a configuration element.
-	 * <p>Equal to the word: <code>launchPerspective</code></p>
-	 */
-	public static final String LAUNCH_PERSPECTIVE = "launchPerspective"; //$NON-NLS-1$
-	
-	/**
-	 * The markerType node name for a configuration element.
-	 * <p>Equal to the word: <code>markerType</code></p>
-	 * 
-	 * @since 3.4
-	 */
-	public static final String MARKER_TYPE = "markerType";	 //$NON-NLS-1$
-	
-	/**
-	 * The delegateClass node name for a configuration element.
-	 * <p>Equal to the word: <code>delegateClass</code></p>
-	 * 
-	 * @since 3.4
-	 */
-	public static final String DELEGATE_CLASS = "delegateClass"; //$NON-NLS-1$
-	
-	/**
-	 * The launchConfiguration node name for a configuration element.
-	 * <p>Equal to the word: <code>launchConfiguration</code></p>
-	 */
-	public static final String LAUNCH_CONFIGURATION = "launchConfiguration"; //$NON-NLS-1$
-	
-	/**
-	 * The launchMode node name for a configuration element.
-	 * <p>Equal to the word: <code>launchMode</code></p>
-	 */
-	public static final String LAUNCH_MODE = "launchMode"; //$NON-NLS-1$
-	
-	/**
-	 * The lastLaunch node name for a configuration element.
-	 * <p>Equal to the word: <code>lastLaunch</code></p>
-	 */
-	public static final String LAST_LAUNCH = "lastLaunch"; //$NON-NLS-1$
-	
-	/**
-	 * The launch node name for a configuration element.
-	 * <p>Equal to the word: <code>launch</code></p>
-	 */
-	public static final String LAUNCH = "launch"; //$NON-NLS-1$
-	
-	/**
-	 * The launch as label node name for a configuration element.
-	 *  <p>Equal to the word: <code>launchAsLabel</code></p>
-	 *  
-	 *  @since 3.4
-	 */
-	public static final String LAUNCH_AS_LABEL = "launchAsLabel"; //$NON-NLS-1$
-	
-	/**
-	 * The launchHistory node name for a configuration element.
-	 * <p>Equal to the word: <code>launchHistory</code></p>
-	 */
-	public static final String LAUNCH_HISTORY = "launchHistory"; //$NON-NLS-1$
-	
-	/**
-	 * The node name for a launch group configuration element.
-	 * <p>Equal to the word: <code>launchGroup</code></p>
-	 */
-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-	
-	/**
-	 * The node name for a launch history MRU list configuration element.
-	 * <p>Equal to the word: <code>mruHistory</code></p>
-	 */
-	public static final String MRU_HISTORY = "mruHistory"; //$NON-NLS-1$	
-	
-	/**
-	 * The node name for a launch favorites list configuration element.
-	 * <p>Equal to the word: <code>favorites</code></p>
-	 */
-	public static final String FAVORITES = "favorites"; //$NON-NLS-1$
-	
-	/**
-	 * The after node name for a configuration element.
-	 * <p>Equal to the word: <code>after</code></p>
-	 */
-	public static final String AFTER = "after"; //$NON-NLS-1$
-	
-	/**
-	 * The path node name for a configuration element.
-	 * <p>Equal to the word: <code>path</code></p>
-	 */
-	public static final String PATH = "path"; //$NON-NLS-1$
-	
-	/**
-	 * The placement node name for a configuration element.
-	 * <p>Equal to the word: <code>placement</code></p>
-	 */
-	public static final String PLACEMENT = "placement"; //$NON-NLS-1$
-	
-	/**
-	 * The associated launch delegate node name for a configuration element
-	 * <p>Equal to the word: <code>associatedDelegate</code></p>
-	 */
-	public static final String ASSOCIATED_DELEGATE = "associatedDelegate"; //$NON-NLS-1$
-	
-	/**
-	 * The label node name for a configuration element.
-	 * <p>Equal to the word: <code>label</code></p>
-	 */
-	public static final String LABEL = "label"; //$NON-NLS-1$
-	
-	/**
-	 * The description node name for a configuration element.
-	 * <p>Equal to the word: <code>description</code></p>
-	 */
-	public static final String DESCRIPTION = "description"; //$NON-NLS-1$
-	
-	/**
-	 * The helpContextId node name for a configuration element.
-	 * <p>Equal to the word: <code>helpContextId</code></p>
-	 */
-	public static final String HELP_CONTEXT_ID = "helpContextId"; //$NON-NLS-1$
-	
-	/**
-	 * The icon node name for a configuration element.
-	 * <p>Equal to the word: <code>icon</code></p>
-	 */
-	public static final String ICON = "icon"; //$NON-NLS-1$
-	
-	/**
-	 * The public node name for a configuration element
-	 * <p>Equal to the word: <code>public</code></p>
-	 */
-	public static final String PUBLIC = "public"; //$NON-NLS-1$
-	
-	/**
-	 * The perspective node name for a configuration element.
-	 * <p>Equal to the word: <code>perspective</code></p>
-	 */
-	public static final String PERSPECTIVE = "perspective"; //$NON-NLS-1$
-	
-	/**
-	 * The preferredDelegates node name for a configuration element.
-	 * <p>Equal to the word: <code>preferredDelegates</code></p>
-	 */
-	public static final String PREFERRED_DELEGATES = "preferredDelegates"; //$NON-NLS-1$
-	
-	/**
-	 * The modes node name for a configuration element.
-	 * <p>Equal to the word: <code>modes</code></p>
-	 */
-	public static final String MODES = "modes"; //$NON-NLS-1$
-	
-	/**
-	 * The modesCombination node name for a configuration element.
-	 * <p>Equal to the word: <code>modeCombination</code></p> 
-	 */
-	public static final String MODE_COMBINATION = "modeCombination"; //$NON-NLS-1$
-	
-	/**
-	 * The mode node name for a configuration element.
-	 * <p>Equal to the word: <code>mode</code></p>
-	 */
-	public static final String MODE = "mode"; //$NON-NLS-1$
-	
-	/**
-	 * The type node name for a configuration element.
-	 * <p>Equal to the word: <code>type</code></p>
-	 */
-	public static final String TYPE = "type"; //$NON-NLS-1$
-	
-	/**
-	 * The typeid node name for a configuration element.
-	 * <p>Equal to the word: <code>typeid</code></p> 
-	 */
-	public static final String TYPE_ID = "typeid"; //$NON-NLS-1$
-	
-	/**
-	 * The option node name for a configuration element.
-	 * <p>Equal to the word: <code>options</code></p>
-	 */
-	public static final String OPTIONS = "options"; //$NON-NLS-1$
-	
-	/**
-	 * The delegate node name for a configuration element.
-	 * <p>Equal to the word: <code>delegate</code></p>
-	 */
-	public static final String DELEGATE = "delegate"; //$NON-NLS-1$
-	
-	/**
-	 * The defaultShortcut node name for a configuration element.
-	 * <p>Equal to the word: <code>defaultShortcut</code></p>
-	 */
-	public static final String DEFAULT_LAUNCH_SHORTCUT = "defaultShortcut"; //$NON-NLS-1$
-	
-	/**
-	 * The delegateName node name for a configuration element.
-	 * <p>Equal to the word: <code>delegateName</code></p>
-	 */
-	public static final String DELEGATE_NAME = "delegateName"; //$NON-NLS-1$
-	
-	/**
-	 * The group node name for a configuration element.
-	 * <p>Equal to the word: <code>group</code></p>
-	 */
-	public static final String GROUP = "group"; //$NON-NLS-1$
-	
-	/**
-	 * The class node name for a configuration element.
-	 * <p>Equal to the word: <code>class</code></p>
-	 */
-	public static final String CLASS = "class"; //$NON-NLS-1$
-	
-	/**
-	 * The modelIdentifier node name for a configuration element.
-	 * <p>Equal to the word: <code>modelIdentifier</code></p>
-	 * 
-	 * @since 3.4
-	 */
-	public static final String MODEL_IDENTIFIER = "modelIdentifier"; //$NON-NLS-1$
-	
-	/**
-	 * The configurationTypes node name for a configuration element.
-	 * <p>Equal to the word: <code>configurationType</code></p>
-	 */
-	public static final String CONFIGURATION_TYPES = "configurationType"; //$NON-NLS-1$
-	
-	/**
-	 * The contextLabel node name for a configuration element.
-	 * <p>Equal to the word: <code>contextLabel</code></p>
-	 */
-	public static final String CONTEXT_LABEL = "contextLabel"; //$NON-NLS-1$
-	
-	/**
-	 * The contextualLaunch node name for a configuration element.
-	 * <p>Equal to the word: <code>contextualLaunch</code></p>
-	 */
-	public static final String CONTEXTUAL_LAUNCH = "contextualLaunch"; //$NON-NLS-1$
-	
-	/**
-	 * The sourcePathComputerId node name for a configuration element.
-	 * <p>Equal to the word: <code>sourcePathComputerId</code></p>
-	 */
-	public static final String SOURCE_PATH_COMPUTER = "sourcePathComputerId"; //$NON-NLS-1$
-	
-	/**
-	 * The delegateDescription node name for a configuration element.
-	 * <p>Equal to the word: <code>delegateDescription</code></p>
-	 */
-	public static final String DELEGATE_DESCRIPTION = "delegateDescription"; //$NON-NLS-1$
-	
-	/**
-	 * The sourceLocatorId node name for a configuration element.
-	 * <p>Equal to the word: <code>sourceLocatorId</code></p>
-	 */
-	public static final String SOURCE_LOCATOR = "sourceLocatorId"; //$NON-NLS-1$
-	
-	/**
-	 * The migrationDelegate node name for a configuration element.
-	 * <p>Equal to the word: <code>migrationDelegate</code></p>
-	 */
-	public static final String MIGRATION_DELEGATE = "migrationDelegate";  //$NON-NLS-1$
-	
-	/**
-	 * The memento node name for a configuration element.
-	 * <p>Equal to the word: <code>memento</code></p>
-	 */
-	public static final String MEMENTO = "memento"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
deleted file mode 100644
index fd20fcf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * Provides call-back methods for expressions that have been moved or inserted
- * @since 3.4
- */
-public interface IExpressionsListener2 extends IExpressionsListener {
-
-	/**
-	 * Fires the model delta necessary to update the viewer after one or more
-	 * expressions have been moved to a different index in the tree.  The
-	 * expression array must be in the same order as they were added.  The given index
-	 * <strong>must</strong> take into account the removal of the expressions to be removed.
-	 * Therefore, for each of the expressions being moved with indices lower than the expect
-	 * insertion index, the passed insertion index must be reduced by one.
-	 * 
-	 * @param expressions array of expressions to be moved
-	 * @param index the index the expressions will be added to, adjusted for moved expressions
-	 */
-	public void expressionsMoved(IExpression[] expressions, int index);
-	
-	/**
-	 * Fires the model delta necessary to update the viewer after one or more
-	 * expressions have been inserted into a specific index in the tree.  The 
-	 * expression array must be in the same order as they were added.
-	 * 
-	 * @param expressions array of expressions to be moved
-	 * @param index the index the expressions will be added to
-	 */
-	public void expressionsInserted(IExpression[] expressions, int index);
-	
-}
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 d2a5dc9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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;
-	
-	/**
-	 * Whether the underlying output stream has been closed
-	 */
-	private boolean fClosed = false;
-	
-	/**
-	 * Creates an input stream monitor which writes
-	 * to system in via the given output stream.
-	 * 
-	 * @param stream 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.
-	 * 
-	 * @param text text to append
-	 */
-	public void write(String text) {
-		synchronized(fLock) {
-			fQueue.add(text);
-			fLock.notifyAll();
-		}
-	}
-
-	/**
-	 * Starts a thread which writes the stream.
-	 */
-	public void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					write();
-				}
-			}, DebugCoreMessages.InputStreamMonitor_label); 
-            fThread.setDaemon(true);
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * Close all communications between this
-	 * monitor and the underlying stream.
-	 */
-	public void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			thread.interrupt(); 
-		}
-	}
-	
-	/**
-	 * Continuously writes to the stream.
-	 */
-	protected void write() {
-		while (fThread != null) {
-			writeNext();
-		}
-		if (!fClosed) {
-			try {
-			    fStream.close();
-			} catch (IOException e) {
-				DebugPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Write the text in the queue to the stream.
-	 */
-	protected void writeNext() {
-		while (!fQueue.isEmpty() && !fClosed) {
-			String text = (String)fQueue.firstElement();
-			fQueue.removeElementAt(0);
-			try {
-				fStream.write(text.getBytes());
-				fStream.flush();
-			} catch (IOException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		try {
-			synchronized(fLock) {
-				fLock.wait();
-			}
-		} catch (InterruptedException e) {
-		}
-	}
-
-    /**
-     * Closes the output stream attached to the standard input stream of this
-     * monitor's process.
-     * 
-     * @exception IOException if an exception occurs closing the input stream
-     */
-    public void closeInputStream() throws IOException {
-        if (!fClosed) {
-            fClosed = true;
-            fStream.close();
-        } else {
-            throw new IOException();
-        }
-        
-    }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
deleted file mode 100644
index 5d31ed2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,863 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sascha Radike - bug 56642
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Launch configuration handle.
- * 
- * @see ILaunchConfiguration
- */
-public class LaunchConfiguration extends PlatformObject implements ILaunchConfiguration {
-	
-	/**
-	 * Launch configuration attribute that specifies the resources paths mapped to it.
-	 * Not all launch configurations will have a mapped resource unless migrated.
-	 * Value is a list of resource paths stored as portable strings, or <code>null</code>
-	 * if none.
-	 * 
-	 * @since 3.2
-	 */
-	public static final String ATTR_MAPPED_RESOURCE_PATHS = DebugPlugin.getUniqueIdentifier() + ".MAPPED_RESOURCE_PATHS"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute that specifies the resources types mapped to it.
-	 * Not all launch configurations will have a mapped resource unless migrated.
-	 * Value is a list of resource type integers, or <code>null</code> if none.
-	 * 
-	 * @since 3.2
-	 */	
-	public static final String ATTR_MAPPED_RESOURCE_TYPES = DebugPlugin.getUniqueIdentifier() + ".MAPPED_RESOURCE_TYPES"; //$NON-NLS-1$
-	
-	/**
-	 * The launch modes set on this configuration.
-	 * 
-	 * @since 3.3
-	 */
-	public static final String ATTR_LAUNCH_MODES = DebugPlugin.getUniqueIdentifier() + ".LAUNCH_MODES"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing a list 
-	 * of preferred launchers for associated mode sets.
-	 * This attribute is a list of launchers stored by mode set
-	 * and relating to the id of the preferred launcher, which happens to be an <code>ILaunchDelegate</code>
-	 * 
-	 * @since 3.3
-	 */
-	public static final String ATTR_PREFERRED_LAUNCHERS = DebugPlugin.getUniqueIdentifier() + ".preferred_launchers"; //$NON-NLS-1$	
-	
-	/**
-	 * Status handler to prompt in the UI thread
-	 * 
-	 * @since 3.3
-	 */
-	protected static final IStatus promptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Status handler to prompt the user to resolve the missing launch delegate issue
-	 * @since 3.3
-	 */
-	protected static final IStatus delegateNotAvailable = new Status(IStatus.INFO, "org.eclipse.debug.core", 226, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	/**
-	 * Status handle to prompt the user to resolve duplicate launch delegates being detected
-	 * 
-	 *  @since 3.3
-	 */
-	protected static final IStatus duplicateDelegates = new Status(IStatus.INFO, "org.eclipse.debug.core", 227, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Location this configuration is stored in. This 
-	 * is the key for a launch configuration handle.
-	 */
-	private IPath fLocation;
-
-	/**
-	 * Constructs a launch configuration in the given location.
-	 * 
-	 * @param location path to where this launch configuration's
-	 *  underlying file is located
-	 */
-	protected LaunchConfiguration(IPath location) {
-		setLocation(location);
-	}
-	
-	/**
-	 * Constructs a launch configuration from the given
-	 * memento.
-	 * 
-	 * @param memento launch configuration memento
-	 * @exception CoreException if the memento is invalid or
-	 * 	an exception occurs reading the memento
-	 */
-	protected LaunchConfiguration(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-			
-			String localString = root.getAttribute(IConfigurationElementConstants.LOCAL); 
-			String path = root.getAttribute(IConfigurationElementConstants.PATH);
-
-			String message = null;				
-			if (path == null) {
-				message = DebugCoreMessages.LaunchConfiguration_18;  
-			} else if (localString == null) {
-				message = DebugCoreMessages.LaunchConfiguration_19;  
-			}
-			if (message != null) {
-				IStatus s = newStatus(message, DebugException.INTERNAL_ERROR, null);
-				throw new CoreException(s);
-			}
-			
-			IPath location = null;
-			boolean local = (Boolean.valueOf(localString)).booleanValue();
-			if (local) {
-				location = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.append(path);
-			} else {
-				location = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path)).getLocation();
-			}
-			setLocation(location);
-			if (location == null) {
-				IStatus s = newStatus(MessageFormat.format(DebugCoreMessages.LaunchConfiguration_1, new String[]{path}), DebugPlugin.ERROR, null); 
-				throw new CoreException(s);
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		IStatus s = newStatus(DebugCoreMessages.LaunchConfiguration_17, DebugException.INTERNAL_ERROR, ex); 
-		throw new CoreException(s);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#contentsEqual(org.eclipse.debug.core.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;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#copy(java.lang.String)
-	 */
-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = new LaunchConfigurationWorkingCopy(this, name);
-		return copy;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#delete()
-	 */
-	public void delete() throws CoreException {
-		if (exists()) {
-			if (isLocal()) {
-				if (!(getLocation().toFile().delete())) {
-					throw new DebugException(
-						new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfiguration_Failed_to_delete_launch_configuration__1, null) 
-					);
-				}
-				// 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 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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#exists()
-	 */
-	public boolean exists() {
-		if (isLocal()) {
-			return getLocation().toFile().exists();
-		}
-
-		IFile file = getFile();
-		return file != null && file.exists();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, boolean)
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException {
-		return getInfo().getBooleanAttribute(attributeName, defaultValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, int)
-	 */
-	public int getAttribute(String attributeName, int defaultValue) throws CoreException {
-		return getInfo().getIntAttribute(attributeName, defaultValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.List)
-	 */
-	public List getAttribute(String attributeName, List defaultValue) throws CoreException {
-		return getInfo().getListAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.Set)
-	 */
-	public Set getAttribute(String attributeName, Set defaultValue) throws CoreException {
-		return getInfo().getSetAttribute(attributeName, defaultValue);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.Map)
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException {
-		return getInfo().getMapAttribute(attributeName, defaultValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.lang.String)
-	 */
-	public String getAttribute(String attributeName, String defaultValue) throws CoreException {
-		return getInfo().getStringAttribute(attributeName, defaultValue);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttributes()
-	 */
-	public Map getAttributes() throws CoreException {
-		LaunchConfigurationInfo info = getInfo();
-		return info.getAttributes();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getCategory()
-	 */
-	public String getCategory() throws CoreException {
-		return getType().getCategory();
-	}
-
-	/**
-	 * 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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getFile()
-	 */
-	public IFile getFile() {
-		if (isLocal()) {
-			return null;
-		}
-		IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(getLocation());
-		if (files.length > 0) {
-			return files[0];
-		}
-		return null;
-	}
-
-	/**
-	 * 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 last segment from the location
-	 * @return the last segment from the location
-	 */
-	private String getLastLocationSegment() {
-		String name = getLocation().lastSegment();
-		if (name.length() > LAUNCH_CONFIGURATION_FILE_EXTENSION.length()) {
-			name = name.substring(0, name.length() - (LAUNCH_CONFIGURATION_FILE_EXTENSION.length() + 1));
-		}
-		return name;
-	}
-	
-	/**
-	 * Returns the launch manager
-	 * 
-	 * @return launch manager
-	 */
-	protected LaunchManager getLaunchManager() {
-		return (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		return fLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getResource()
-	 */
-	public IResource[] getMappedResources() throws CoreException {
-		List paths = getAttribute(ATTR_MAPPED_RESOURCE_PATHS, (List)null);
-		if (paths == null || paths.size() == 0) {
-			return null;
-		}
-		List types = getAttribute(ATTR_MAPPED_RESOURCE_TYPES, (List)null);
-		if (types == null || types.size() != paths.size()) {
-			throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, null)); 
-		}
-		ArrayList list = new ArrayList();
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		for(int i = 0; i < paths.size(); i++) {
-			String pathStr = (String) paths.get(i);
-			String typeStr= (String) types.get(i);
-			int type = -1;
-			try {
-				type = Integer.decode(typeStr).intValue();
-			} catch (NumberFormatException e) {
-				throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, e)); 
-			}
-			IPath path = Path.fromPortableString(pathStr);
-			IResource res = null;
-			switch (type) {
-			case IResource.FILE:
-				res = root.getFile(path);
-				break;
-			case IResource.PROJECT:
-				res = root.getProject(pathStr);
-				break;
-			case IResource.FOLDER:
-				res = root.getFolder(path);
-				break;
-			case IResource.ROOT:
-				res = root;
-				break;
-			default:
-				throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, null));
-			}
-			if(res != null) {
-				list.add(res);
-			}
-		}
-		if (list.isEmpty()) {
-			return null;
-		}
-		return (IResource[])list.toArray(new IResource[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		IPath relativePath = null;
-		if (isLocal()) {
-			IPath rootPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			IPath configPath = getLocation();
-			relativePath = configPath.removeFirstSegments(rootPath.segmentCount());
-			relativePath = relativePath.setDevice(null);
-		} else {
-			IFile file = getFile();
-			if (file == null) {
-				// cannot generate memento - missing file
-				IStatus status = newStatus(MessageFormat.format(DebugCoreMessages.LaunchConfiguration_15, new String[]{getName()}), DebugException.INTERNAL_ERROR, null);
-				throw new CoreException(status); 
-			}
-			relativePath = file.getFullPath();
-		}
-		Exception e= null;
-		try {
-			Document doc = LaunchManager.getDocument();
-			Element node = doc.createElement(IConfigurationElementConstants.LAUNCH_CONFIGURATION);
-			doc.appendChild(node);
-			node.setAttribute(IConfigurationElementConstants.LOCAL, (Boolean.valueOf(isLocal())).toString());
-			node.setAttribute(IConfigurationElementConstants.PATH, relativePath.toString());
-			return LaunchManager.serializeDocument(doc);
-		} catch (IOException ioe) {
-			e= ioe;
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;
-		}
-		IStatus status = newStatus(DebugCoreMessages.LaunchConfiguration_16, DebugException.INTERNAL_ERROR,  e);  
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return getLastLocationSegment();
-	}
-
-	public Set getModes() throws CoreException {
-		Set options = getAttribute(ATTR_LAUNCH_MODES, (Set)null); 
-		return (options != null ? new HashSet(options) : new HashSet(0));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getType()
-	 */
-	public ILaunchConfigurationType getType() throws CoreException {
-		return getInfo().getType();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getWorkingCopy()
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
-		return new LaunchConfigurationWorkingCopy(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getLocation().hashCode();
-	}
-
-	/**
-	 * Set the source locator to use with the launch, if specified 
-	 * by this configuration.
-	 * 
-	 * @param launch the launch on which to set the source locator
-	 */
-	protected void initializeSourceLocator(ILaunch launch) throws CoreException {
-		if (launch.getSourceLocator() == null) {
-			String type = getAttribute(ATTR_SOURCE_LOCATOR_ID, (String)null);
-			if (type == null) {
-				type = getType().getSourceLocatorId();
-			}
-			if (type != null) {
-				IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);
-				String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-				if (memento == null) {
-					locator.initializeDefaults(this);
-				} else {
-					if(locator instanceof IPersistableSourceLocator2)
-						((IPersistableSourceLocator2)locator).initializeFromMemento(memento, this);
-					else
-						locator.initializeFromMemento(memento);
-				}
-				launch.setSourceLocator(locator);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		IPath localPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		return localPath.isPrefixOf(getLocation());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#isMigrationCandidate()
-	 */
-	public boolean isMigrationCandidate() throws CoreException {
-		return ((LaunchConfigurationType)getType()).isMigrationCandidate(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException {
-		return launch(mode, monitor, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException {
-	    return launch(mode, monitor, build, true);
-	}
-
-	/* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean, boolean)
-     */
-    public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException {
-    	if (monitor == null) {
-			monitor = new NullProgressMonitor();
-    	}
-    	/* Setup progress monitor
-    	 * - Prepare delegate (0)
-    	 * - Pre-launch check (1)
-    	 * - [Build before launch (7)]					if build
-    	 * - [Incremental build before launch (3)]		if build
-    	 * - Final launch validation (1)
-    	 * - Initialize source locator (1)
-    	 * - Launch delegate (10) */
-    	if (build) {
-    		monitor.beginTask("", 23); //$NON-NLS-1$
-    	}
-    	else {
-    		monitor.beginTask("", 13); //$NON-NLS-1$
-    	}
-		monitor.subTask(DebugCoreMessages.LaunchConfiguration_9);
-    	try {
-			// bug 28245 - force the delegate to load in case it is interested in launch notifications
-	    	Set modes = getModes();
-	    	modes.add(mode);
-	    	ILaunchDelegate[] delegates = getType().getDelegates(modes);
-	    	ILaunchConfigurationDelegate delegate = null;
-	    	if (delegates.length == 1) {
-	    		delegate = delegates[0].getDelegate();
-	    	} else if (delegates.length == 0) {
-	    		monitor.setCanceled(true);
-	    		IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-	    		if (handler != null) {
-	    			handler.handleStatus(delegateNotAvailable, new Object[] {this, mode});
-	    		}
-	    		IStatus status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_11, null); 
-	    		throw new CoreException(status);
-	    	} else {
-	    		ILaunchDelegate del = getPreferredDelegate(modes);
-	    		if(del == null) {
-	    			del = getType().getPreferredDelegate(modes);
-	    		}
-	    		if(del == null) {
-	    			IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-	    			IStatus status = null;
-	    			if (handler != null) {
-	    				status = (IStatus) handler.handleStatus(duplicateDelegates, new Object[] {this, mode});
-	    			}
-					if(status != null && status.isOK()) {
-						del = getPreferredDelegate(modes);
-						if(del == null) {
-							del = getType().getPreferredDelegate(modes);
-						}
-						if(del != null) {
-							delegate = del.getDelegate();
-						}
-						else {
-							monitor.setCanceled(true);
-							status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_13, null); 
-				    		throw new CoreException(status);
-						}
-					}
-					else {
-						monitor.setCanceled(true);
-						status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_13, null); 
-			    		throw new CoreException(status);
-					}
-	    		}
-	    		else {
-	    			delegate = del.getDelegate();
-	    		}
-	    	}
-	    	
-			ILaunchConfigurationDelegate2 delegate2 = null;
-			if (delegate instanceof ILaunchConfigurationDelegate2) {
-				delegate2 = (ILaunchConfigurationDelegate2) delegate;
-			}
-			// allow the delegate to provide a launch implementation
-			ILaunch launch = null;
-			if (delegate2 != null) {
-				launch = delegate2.getLaunch(this, mode);
-			}
-			if (launch == null) {
-				launch = new Launch(this, mode, null);
-			} else {
-				// ensure the launch mode is valid
-				if (!mode.equals(launch.getLaunchMode())) {
-					IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, 
-							MessageFormat.format(DebugCoreMessages.LaunchConfiguration_14, new String[]{mode, launch.getLaunchMode()}), null); 
-					throw new CoreException(status);
-				}
-			}
-			boolean captureOutput = getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, true);
-			if(!captureOutput) {
-			    launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, "false"); //$NON-NLS-1$
-			} else {
-			    launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, null);
-			}
-			launch.setAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, getLaunchManager().getEncoding(this));
-			
-		// perform initial pre-launch sanity checks
-			monitor.subTask(DebugCoreMessages.LaunchConfiguration_8);
-			
-			if (delegate2 != null) {
-				if (!(delegate2.preLaunchCheck(this, mode, new SubProgressMonitor(monitor, 1)))) {
-					// canceled
-					monitor.setCanceled(true);
-					return launch;
-				}
-			}
-			else {
-				monitor.worked(1); /* No pre-launch-check */
-			}
-		// perform pre-launch build
-			if (build) {
-				IProgressMonitor buildMonitor = new SubProgressMonitor(monitor, 10, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
-				buildMonitor.beginTask(DebugCoreMessages.LaunchConfiguration_7, 10);			
-				buildMonitor.subTask(DebugCoreMessages.LaunchConfiguration_6);
-				if (delegate2 != null) {
-					build = delegate2.buildForLaunch(this, mode, new SubProgressMonitor(buildMonitor, 7));
-				}
-				if (build) {
-					buildMonitor.subTask(DebugCoreMessages.LaunchConfiguration_5);
-					ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(buildMonitor, 3));				
-				}
-				else {
-					buildMonitor.worked(3); /* No incremental build required */
-				}
-			}
-		// final validation
-			monitor.subTask(DebugCoreMessages.LaunchConfiguration_4);
-			if (delegate2 != null) {
-				if (!(delegate2.finalLaunchCheck(this, mode, new SubProgressMonitor(monitor, 1)))) {
-					// canceled
-					monitor.setCanceled(true);
-					return launch;
-				}
-			}
-			else {
-				monitor.worked(1); /* No validation */
-			}
-			if (register) {
-			    getLaunchManager().addLaunch(launch);
-			}
-			
-			try {
-				//initialize the source locator
-				monitor.subTask(DebugCoreMessages.LaunchConfiguration_3);
-				initializeSourceLocator(launch);
-				monitor.worked(1);
-
-				/* Launch the delegate */
-				monitor.subTask(DebugCoreMessages.LaunchConfiguration_2);
-				delegate.launch(this, mode,	launch,	new SubProgressMonitor(monitor, 10));
-			} catch (CoreException e) {
-				// if there was an exception, and the launch is empty, remove it
-				if (!launch.hasChildren()) {
-					getLaunchManager().removeLaunch(launch);
-				}
-				monitor.setCanceled(true);
-				throw e;
-			}
-			if (monitor.isCanceled()) {
-				getLaunchManager().removeLaunch(launch);
-			}
-			return launch;
-    	}
-    	finally {
-   			monitor.done();
-    	}
-    }
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.ILaunchConfiguration#migrate()
-     */
-    public void migrate() throws CoreException {
-		((LaunchConfigurationType)getType()).migrate(this);
-	}
-
-	/**
-	 * 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);
-	}
-
-	/**
-	 * 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;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#supportsMode(java.lang.String)
-	 */
-	public boolean supportsMode(String mode) throws CoreException {
-		return getType().supportsMode(mode);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		if(!isLocal()) {
-			IFile file = getFile();
-			if(file != null) {
-				return file.isReadOnly();
-			}
-		}
-		else {
-			File file = getLocation().toFile();
-			if(file != null) {
-				return file.exists() && !file.canWrite();
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getPreferredDelegate(java.util.Set)
-	 */
-	public ILaunchDelegate getPreferredDelegate(Set modes) throws CoreException {
-		Map delegates = getAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, (Map)null);
-		if(delegates != null) {
-			String id = (String) delegates.get(modes.toString());
-			if(id != null) {
-				return getLaunchManager().getLaunchDelegate(id);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-	
-}
-
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 810ffeb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.
- * 
- * @see IConfigurationElementConstants
- */
-public class LaunchConfigurationComparator implements Comparator {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private Comparator fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 * 
-	 * @param element 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(IConfigurationElementConstants.CLASS);
-			} 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 b77d1ed..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,768 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
- 
-/**
- * The information associated with a launch configuration handle.
- */
-public class LaunchConfigurationInfo {
-	
-	/**
-	 * Constants fo XML element names and attrbiutes
-	 */
-	private static final String KEY = "key"; //$NON-NLS-1$
-	private static final String VALUE = "value"; //$NON-NLS-1$
-	private static final String SET_ENTRY = "setEntry"; //$NON-NLS-1$
-	private static final String LAUNCH_CONFIGURATION = "launchConfiguration"; //$NON-NLS-1$
-	private static final String MAP_ENTRY = "mapEntry"; //$NON-NLS-1$
-	private static final String LIST_ENTRY = "listEntry"; //$NON-NLS-1$
-	private static final String SET_ATTRIBUTE = "setAttribute"; //$NON-NLS-1$
-	private static final String MAP_ATTRIBUTE = "mapAttribute"; //$NON-NLS-1$
-	private static final String LIST_ATTRIBUTE = "listAttribute"; //$NON-NLS-1$
-	private static final String BOOLEAN_ATTRIBUTE = "booleanAttribute"; //$NON-NLS-1$
-	private static final String INT_ATTRIBUTE = "intAttribute"; //$NON-NLS-1$
-	private static final String STRING_ATTRIBUTE = "stringAttribute"; //$NON-NLS-1$
-	private static final String TYPE = "type"; //$NON-NLS-1$
-	
-	/**
-	 * 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 TreeMap fAttributes;
-	
-	/**
-	 * This launch configuration's type
-	 */
-	private ILaunchConfigurationType fType;
-	
-	/**
-	 * Whether running on Sun 1.4 VM - see bug 110215
-	 */
-	private static boolean fgIsSun14x = false;
-	
-	static {
-		String vendor = System.getProperty("java.vm.vendor"); //$NON-NLS-1$
-		if (vendor.startsWith("Sun Microsystems")) { //$NON-NLS-1$
-			String version = System.getProperty("java.vm.version"); //$NON-NLS-1$
-			if (version.startsWith("1.4")) { //$NON-NLS-1$
-				fgIsSun14x = true;
-			}
-		}
-	}
-	
-	/**
-	 * Constructs a new empty info
-	 */
-	protected LaunchConfigurationInfo() {
-		setAttributeTable(new TreeMap());
-	}
-	
-	/**
-	 * Returns this configuration's attribute table.
-	 * 
-	 * @return attribute table
-	 */
-	private TreeMap getAttributeTable() {
-		return fAttributes;
-	}
-
-	/**
-	 * Sets this configuration's attribute table.
-	 * 
-	 * @param table
-	 *            attribute table
-	 */	
-	private void setAttributeTable(TreeMap 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 TreeMap());
-			return;
-		}
-		setAttributeTable(new TreeMap(map));
-	}
-	
-	/**
-	 * Returns the <code>String</code> attribute with the given key or the
-	 * given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not a
-	 *             <code>String</code>
-	 */
-	protected String getStringAttribute(String key, String defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof String) {
-				return (String)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>int</code> attribute with the given key or the given
-	 * default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not an
-	 *             <code>int</code>
-	 */
-	protected int getIntAttribute(String key, int defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Integer) {
-				return ((Integer)attr).intValue();
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>boolean</code> attribute with the given key or the
-	 * given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not a
-	 *             <code>boolean</code>
-	 */
-	protected boolean getBooleanAttribute(String key, boolean defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Boolean) {
-				return ((Boolean)attr).booleanValue();
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.List</code> attribute with the given key or
-	 * the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not a
-	 *             <code>java.util.List</code>
-	 */
-	protected List getListAttribute(String key, List defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof List) {
-				return (List)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.Set</code> attribute with the given key or
-	 * the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not a
-	 *             <code>java.util.Set</code>
-	 * 
-	 * @since 3.3
-	 */
-	protected Set getSetAttribute(String key, Set defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Set) {
-				return (Set)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_35, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.Map</code> attribute with the given key or
-	 * the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue if undefined
-	 * @throws CoreException
-	 *             if the attribute with the given key exists but is not a
-	 *             <code>java.util.Map</code>
-	 */
-	protected Map getMapAttribute(String key, Map defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof Map) {
-				return (Map)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1, new String[] {key}), null 
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Sets this configuration's type.
-	 * 
-	 * @param type
-	 *            launch configuration type
-	 */
-	protected void setType(ILaunchConfigurationType type) {
-		fType = type;
-	}
-	
-	/**
-	 * Returns this configuration's type.
-	 * 
-	 * @return launch configuration type
-	 */
-	protected ILaunchConfigurationType getType() {
-		return fType;
-	}	
-	
-	
-	/**
-	 * Returns a copy of this info object
-	 * 
-	 * @return copy of this info
-	 */
-	protected LaunchConfigurationInfo getCopy() {
-		LaunchConfigurationInfo copy = new LaunchConfigurationInfo();
-		copy.setType(getType());
-		copy.setAttributeTable(getAttributes());
-		return copy;
-	}
-	
-	/**
-	 * Returns a copy of this info's attribute map.
-	 * 
-	 * @return a copy of this info's attribute map
-	 */
-	protected TreeMap getAttributes() {
-		return (TreeMap)getAttributeTable().clone();
-	}
-	
-	/**
-	 * Sets the given attribute to the given value. Only working copy's should
-	 * use this API.
-	 * 
-	 * @param key
-	 *            attribute key
-	 * @param value
-	 *            attribute value
-	 */
-	protected void setAttribute(String key, Object value) {
-		if (value == null) {
-			getAttributeTable().remove(key);
-		} else {
-			getAttributeTable().put(key, value);
-		}
-	}
-	
-	/**
-	 * Returns the content of this info as XML
-	 * 
-	 * @return the content of this info as XML
-	 * @throws CoreException
-	 *             if a attribute has been set with a null key
-	 * @throws IOException
-	 *             if an exception occurs creating the XML
-	 * @throws ParserConfigurationException
-	 *             if an exception occurs creating the XML
-	 * @throws TransformerException
-	 *             if an exception occurs creating the XML
-	 */
-	protected String getAsXML() throws CoreException, IOException, ParserConfigurationException, TransformerException {
-
-		Document doc = LaunchManager.getDocument();
-		Element configRootElement = doc.createElement(LAUNCH_CONFIGURATION); 
-		doc.appendChild(configRootElement);
-		
-		configRootElement.setAttribute(TYPE, getType().getIdentifier()); 
-		
-		Iterator keys = getAttributeTable().keySet().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			if (key == null) {
-				throw new DebugException(
-					new Status(
-						IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_36, null 
-					)
-				);
-			}
-			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, STRING_ATTRIBUTE, key, valueString); 
-			} else if (value instanceof Integer) {
-				valueString = ((Integer)value).toString();
-				element = createKeyValueElement(doc, INT_ATTRIBUTE, key, valueString); 
-			} else if (value instanceof Boolean) {
-				valueString = ((Boolean)value).toString();
-				element = createKeyValueElement(doc, BOOLEAN_ATTRIBUTE, key, valueString); 
-			} else if (value instanceof List) {				
-				element = createListElement(doc, LIST_ATTRIBUTE, key, (List)value); 
-			} else if (value instanceof Map) {				
-				element = createMapElement(doc, MAP_ATTRIBUTE, key, (Map)value); 
-			} else if(value instanceof Set) {
-				element = createSetElement(doc, SET_ATTRIBUTE, key, (Set)value); 
-			}
-			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); 
-		element.setAttribute(VALUE, value);
-		return element;
-	}
-	
-	/**
-	 * Creates a new <code>Element</code> for the specified
-	 * <code>java.util.List</code>
-	 * 
-	 * @param doc the doc to add the element to
-	 * @param elementType the type of the element
-	 * @param setKey the key for the element
-	 * @param list the list to fill the new element with
-	 * @return the new element
-	 */
-	protected Element createListElement(Document doc, String elementType, String listKey, List list) {
-		Element listElement = doc.createElement(elementType);
-		listElement.setAttribute(KEY, listKey); 
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String value = (String) iterator.next();
-			Element element = doc.createElement(LIST_ENTRY); 
-			element.setAttribute(VALUE, value);
-			listElement.appendChild(element);
-		}		
-		return listElement;
-	}
-	
-	/**
-	 * Creates a new <code>Element</code> for the specified
-	 * <code>java.util.Set</code>
-	 * 
-	 * @param doc the doc to add the element to
-	 * @param elementType the type of the element
-	 * @param setKey the key for the element
-	 * @param set the set to fill the new element with
-	 * @return the new element
-	 * 
-	 * @since 3.3
-	 */
-	protected Element createSetElement(Document doc, String elementType, String setKey, Set set) {
-		Element setElement = doc.createElement(elementType);
-		setElement.setAttribute(KEY, setKey);
-		Element element = null;
-		for(Iterator iter = set.iterator(); iter.hasNext();) {
-			element = doc.createElement(SET_ENTRY);
-			element.setAttribute(VALUE, (String) iter.next());
-			setElement.appendChild(element);
-		}
-		return setElement;
-	}
-	
-	/**
-	 * Creates a new <code>Element</code> for the specified
-	 * <code>java.util.Map</code>
-	 * 
-	 * @param doc the doc to add the element to
-	 * @param elementType the type of the element
-	 * @param setKey the key for the element
-	 * @param map the map to fill the new element with
-	 * @return the new element
-	 * 
-	 */
-	protected Element createMapElement(Document doc, String elementType, String mapKey, Map map) {
-		Element mapElement = doc.createElement(elementType);
-		mapElement.setAttribute(KEY, mapKey); 
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			String value = (String) map.get(key);
-			Element element = doc.createElement(MAP_ENTRY); 
-			element.setAttribute(KEY, key); 
-			element.setAttribute(VALUE, value); 
-			mapElement.appendChild(element);
-		}		
-		return mapElement;		
-	}
-	
-	/**
-	 * Initializes the mapping of attributes from the XML file
-	 * @param root the root node from the XML document
-	 * @throws CoreException 
-	 */
-	protected void initializeFromXML(Element root) throws CoreException {
-		if (!root.getNodeName().equalsIgnoreCase(LAUNCH_CONFIGURATION)) { 
-			throw getInvalidFormatDebugException();
-		}
-		
-		// read type
-		String id = root.getAttribute(TYPE); 
-		if (id == null) {
-			throw getInvalidFormatDebugException();
-		} 
-		
-		ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
-		if (type == null) {
-			String message= MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_missing_type, new Object[]{id}); 
-			throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, message, null)
-				);
-		}
-		setType(type);
-		
-		NodeList list = root.getChildNodes();
-		Node node = null;
-		Element element = null;
-		String nodeName = null;
-		for (int i = 0; i < list.getLength(); ++i) {
-			node = list.item(i);
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.ELEMENT_NODE) {
-				element = (Element) node;
-				nodeName = element.getNodeName();
-				if (nodeName.equalsIgnoreCase(STRING_ATTRIBUTE)) { 
-					setStringAttribute(element);
-				} else if (nodeName.equalsIgnoreCase(INT_ATTRIBUTE)) { 
-					setIntegerAttribute(element);
-				} else if (nodeName.equalsIgnoreCase(BOOLEAN_ATTRIBUTE))  { 
-					setBooleanAttribute(element);
-				} else if (nodeName.equalsIgnoreCase(LIST_ATTRIBUTE)) {   
-					setListAttribute(element);					
-				} else if (nodeName.equalsIgnoreCase(MAP_ATTRIBUTE)) {    
-					setMapAttribute(element);										
-				} else if(nodeName.equalsIgnoreCase(SET_ATTRIBUTE)) { 
-					setSetAttribute(element);
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Loads a <code>String</code> from the specified element into the local attribute mapping
-	 * @param element the element to load from
-	 * @throws CoreException
-	 */
-	protected void setStringAttribute(Element element) throws CoreException {
-		setAttribute(getKeyAttribute(element), getValueAttribute(element));
-	}
-	
-	/**
-	 * Loads an <code>Integer</code> from the specified element into the local attribute mapping
-	 * @param element the element to load from
-	 * @throws CoreException
-	 */
-	protected void setIntegerAttribute(Element element) throws CoreException {
-		setAttribute(getKeyAttribute(element), new Integer(getValueAttribute(element)));
-	}
-	
-	/**
-	 * Loads a <code>Boolean</code> from the specified element into the local attribute mapping
-	 * @param element the element to load from
-	 * @throws CoreException
-	 */
-	protected void setBooleanAttribute(Element element) throws CoreException {
-		setAttribute(getKeyAttribute(element), Boolean.valueOf(getValueAttribute(element)));
-	}
-	
-	/**
-	 * Reads a <code>List</code> attribute from the specified XML node and
-	 * loads it into the mapping of attributes
-	 * 
-	 * @param element the element to read the list attribute from
-	 * @throws CoreException if the element has an invalid format
-	 */
-	protected void setListAttribute(Element element) throws CoreException {
-		String listKey = element.getAttribute(KEY);  
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		List list = new ArrayList(entryCount);
-		Node node = null;
-		Element selement = null;
-		for (int i = 0; i < entryCount; i++) {
-			node = nodeList.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				selement = (Element) node;		
-				if (!selement.getNodeName().equalsIgnoreCase(LIST_ENTRY)) { 
-					throw getInvalidFormatDebugException();
-				}
-				list.add(getValueAttribute(selement));
-			}
-		}
-		setAttribute(listKey, list);
-	}
-		
-	/**
-	 * Reads a <code>Set</code> attribute from the specified XML node and
-	 * loads it into the mapping of attributes
-	 * 
-	 * @param element the element to read the set attribute from
-	 * @throws CoreException if the element has an invalid format
-	 * 
-	 * @since 3.3
-	 */
-	protected void setSetAttribute(Element element) throws CoreException {
-		String setKey = element.getAttribute(KEY);
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		Set set = new HashSet(entryCount);
-		Node node = null;
-		Element selement = null;
-		for(int i = 0; i < entryCount; i++) {
-			node = nodeList.item(i);
-			if(node.getNodeType() == Node.ELEMENT_NODE) {
-				selement = (Element)node;
-				if(!selement.getNodeName().equalsIgnoreCase(SET_ENTRY)) { 
-					throw getInvalidFormatDebugException();
-				}
-				set.add(getValueAttribute(selement));
-			}
-		}
-		setAttribute(setKey, set);
-	}
-	
-	/**
-	 * Reads a <code>Map</code> attribute from the specified XML node and
-	 * loads it into the mapping of attributes
-	 * 
-	 * @param element the element to read the map attribute from
-	 * @throws CoreException if the element has an invalid format
-	 */
-	protected void setMapAttribute(Element element) throws CoreException {
-		String mapKey = element.getAttribute(KEY);  
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		Map map = new HashMap(entryCount);
-		Node node = null;
-		Element selement = null;
-		for (int i = 0; i < entryCount; i++) {
-			node = nodeList.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				selement = (Element) node;		
-				if (!selement.getNodeName().equalsIgnoreCase(MAP_ENTRY)) { 
-					throw getInvalidFormatDebugException();
-				}
-				map.put(getKeyAttribute(selement), getValueAttribute(selement));
-			}
-		}
-		setAttribute(mapKey, map);
-	}
-		
-	/**
-	 * Returns the <code>String</code> representation of the 'key' attribute from the specified element
-	 * @param element the element to read from
-	 * @return the value
-	 * @throws CoreException
-	 */
-	protected String getKeyAttribute(Element element) throws CoreException {
-		String key = element.getAttribute(KEY);
-		if (key == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return key;
-	}
-	
-	/**
-	 * Returns the <code>String</code> representation of the 'value' attribute from the specified element
-	 * @param element the element to read from
-	 * @return the value
-	 * @throws CoreException
-	 */
-	protected String getValueAttribute(Element element) throws CoreException {
-		String value = element.getAttribute(VALUE);   
-		if (value == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return value;
-	}
-	
-	/**
-	 * Returns an invalid format exception for reuse
-	 * @return an invalid format exception
-	 */
-	protected DebugException getInvalidFormatDebugException() {
-		return 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_Invalid_launch_configuration_XML__10, null 
-				)
-			);
-	}
-	
-	/**
-	 * 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(TreeMap map1, TreeMap 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 (fgIsSun14x) {
-						if(attr2 instanceof String & attr1 instanceof String) {
-							// this is a hack for bug 110215, on SUN 1.4.x, \r
-							// is stripped off when the stream is written to the
-							// DOM
-							// this is not the case for 1.5.x, so to be safe we
-							// are stripping \r off all strings before we
-							// compare for equality
-							attr1 = ((String)attr1).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
-							attr2 = ((String)attr2).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-					}
-					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 a33a579..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,491 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import 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.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * 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;
-	
-	/**
-	 *  a listing of modes contributed to this launch configuration type
-	 *  
-	 *  @since 3.3
-	 */
-	private Set fModes = null;
-	
-	/**
-	 * A set of sets containing all of the supported mode combinations of this type
-	 * 
-	 * @since 3.3
-	 */
-	private Set fModeCombinations = null;
-	
-	/**
-	 * the default source path computer for this config type
-	 * 
-	 * @since 3.3
-	 */
-	private ISourcePathComputer fSourcePathComputer = null;
-	
-	/**
-	 * Cache for the migration delegate
-	 * 
-	 * @since 3.3
-	 */
-	private ILaunchConfigurationMigrationDelegate fMigrationDelegate = null;
-	
-	/**
-	 * The source locator id for this config type
-	 */
-	private String fSourceLocator = null;
-	
-	/**
-	 * 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 modes (Set of modes) to list of delegates
-	 */
-	private Map fDelegates = null;
-	
-	/**
-	 * The source provider cache entry
-	 */
-	private LaunchDelegate fSourceProvider = null;
-	
-	/**
-	 * A map of preferred launch delegates for mode combinations
-	 * 
-	 *  @since 3.3
-	 */
-	private Map fPreferredDelegates = null;
-	
-	/**
-	 * Constructs a new launch configuration type on the
-	 * given configuration element.
-	 * 
-	 * @param element configuration element
-	 */
-	protected LaunchConfigurationType(IConfigurationElement element) {
-		fElement = element;
-		initializePreferredDelegates();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getAttribute(java.lang.String)
-	 */
-	public String getAttribute(String attributeName) {
-		return fElement.getAttribute(attributeName);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getCategory()
-	 */
-	public String getCategory() {
-		return fElement.getAttribute(IConfigurationElementConstants.CATEGORY);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate()
-	 */
-	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 {
-		Set modes = new HashSet();
-		modes.add(mode);
-		ILaunchDelegate[] delegates = getDelegates(modes);
-		if (delegates.length > 0) {
-			return delegates[0].getDelegate();
-		}
-		IStatus status = null;
-		ILaunchMode launchMode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(mode);
-		if (launchMode == null) {
-			status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_7,
-							new String[]{mode}));
-		} else {
-			status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_7,
-						new String[]{((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getLaunchModeName(mode)}));
-		}
-		throw new CoreException(status);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegates(java.util.Set)
-	 */
-	public ILaunchDelegate[] getDelegates(Set modes) throws CoreException {
-		initializeDelegates();
-		Set delegates = (Set) fDelegates.get(modes);
-		if (delegates == null) {
-			delegates = Collections.EMPTY_SET;
-		}
-		return (ILaunchDelegate[]) delegates.toArray(new ILaunchDelegate[delegates.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#setPreferredDelegate(java.util.Set, org.eclipse.debug.core.ILaunchDelegate)
-	 */
-	public void setPreferredDelegate(Set modes, ILaunchDelegate delegate) {
-		if(fPreferredDelegates == null) {
-			fPreferredDelegates = new HashMap();
-		}
-		if (delegate == null) {
-			fPreferredDelegates.remove(modes);
-		} else {
-			fPreferredDelegates.put(modes, delegate);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getPreferredDelegate(java.util.Set)
-	 */
-	public ILaunchDelegate getPreferredDelegate(Set modes) {
-		return (ILaunchDelegate) fPreferredDelegates.get(modes);
-	}
-	
-	/**
-	 * Internal use method to allow access to the listing of preferred delegates. Delegates are stored in the map by their mode set combinations.
-	 * <p>
-	 * preferred delegates are stored as:
-	 * <pre>
-	 *  Map&lt;modeset, delegate&gt;
-	 * </pre>
-	 * </p>
-	 * @return the <code>java.util.Map</code> of preferred delegates or an empty <code>java.util.Map</code> if no preferred delegates are specified, never <code>null</code>
-	 * 
-	 * @since 3.3
-	 */
-	public Map getPreferredDelegates() {
-		return fPreferredDelegates;
-	}
-	
-	/**
-	 * This method is used to initialize the listing of preferred launch delegates for this type
-	 * 
-	 * <p>
-	 * Undecided if this code should live in the launch manager and have it load a listing of all preferred launch 
-	 * delegates that each config type could then query as needed when looking for their preferred delegate. 
-	 * Seems like it would be alot less work...
-	 * </p>
-	 * @since 3.3
-	 */
-	private synchronized void initializePreferredDelegates() {
-		if(fPreferredDelegates == null) {
-			fPreferredDelegates = new HashMap();
-			initializeDelegates();
-			LaunchManager lm = (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
-			ILaunchDelegate delegate = null;
-			Set modes = null;
-			for(Iterator iter = fDelegates.keySet().iterator(); iter.hasNext();) {
-				modes = (Set) iter.next();
-				delegate = lm.getPreferredDelegate(getIdentifier(), modes);
-				if(delegate != null) {
-					fPreferredDelegates.put(modes, delegate);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Initializes the listing of launch delegates for this type
-	 */
-	private synchronized void initializeDelegates() {
-		if (fDelegates == null) {
-			// initialize delegate
-			fDelegates = new Hashtable();
-			LaunchDelegate[] launchDelegates = getLaunchDelegateExtensions();
-			LaunchDelegate delegate = null;
-			List modelist = null;
-			Set modes = null, tmp = null;
-			for (int i = 0; i < launchDelegates.length; i++) {
-				delegate = launchDelegates[i];
-				modelist = delegate.getModes();
-				for(int j = 0; j < modelist.size(); j++) {
-					//cache the delegate based on its set of modes and delegate
-					modes = (Set) modelist.get(j);
-					tmp = (Set) fDelegates.get(modes);
-					if (tmp == null) {
-						tmp = new HashSet();
-						fDelegates.put(modes, tmp);
-					}
-					tmp.add(delegate);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns all launch delegate extensions registered for this configuration type.
-	 * 
-	 * @return all launch delegate extensions
-	 */
-	private LaunchDelegate[] getLaunchDelegateExtensions() {
-		return ((LaunchManager) DebugPlugin.getDefault().getLaunchManager()).getLaunchDelegates(getIdentifier());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return fElement.getAttribute(IConfigurationElementConstants.ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getName()
-	 */
-	public String getName() {
-		return fElement.getAttribute(IConfigurationElementConstants.NAME);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getPluginId()
-	 */
-	public String getPluginIdentifier() {
-		return fElement.getContributor().getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourceLocatorId()
-	 */
-	public String getSourceLocatorId() {
-		if(fSourceLocator == null) {
-			fSourceLocator = getAttribute(IConfigurationElementConstants.SOURCE_LOCATOR);
-			//see if the cached source provider knows about it
-			if(fSourceProvider != null) {
-				fSourceLocator = fSourceProvider.getSourceLocatorId();
-			}
-			//if not provided check all the applicable delegates for one and record the delegate if found,
-			//so it can be reused to try and find the source path computer
-			if(fSourceLocator == null) {
-				LaunchDelegate[] delegates = getLaunchDelegateExtensions();
-				for(int i = 0; i < delegates.length; i++) {
-					fSourceLocator = delegates[i].getSourceLocatorId();
-					if(fSourceLocator != null) {
-						fSourceProvider = delegates[i];
-						return fSourceLocator;
-					}
-				}
-				fSourceProvider = null;
-			}
-		}
-		return fSourceLocator;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		if(fSourcePathComputer == null) {
-			//get the id
-			String id = fElement.getAttribute(IConfigurationElementConstants.SOURCE_PATH_COMPUTER);
-			//ask if the source provider knows about it
-			if(fSourceProvider != null) {
-				id = fSourceProvider.getSourcePathComputerId();
-			}
-			if(id != null) {
-				fSourcePathComputer = DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
-			}
-			else { 
-			//if not provided check all the applicable delegates for one and record the delegate if found,
-			//so it can be reused to try and find the source path computer
-				LaunchDelegate[] delegates = getLaunchDelegateExtensions();
-				for(int i = 0; i < delegates.length; i++) {
-					id = delegates[i].getSourcePathComputerId();
-					if(id != null) {
-						fSourceProvider = delegates[i];
-						fSourcePathComputer = DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
-						if(fSourcePathComputer != null) {
-							return fSourcePathComputer;
-						}
-					}
-				}
-				fSourceProvider = null;
-			}
-			
-		}
-		return fSourcePathComputer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSupportedModes()
-	 */
-	public Set getSupportedModes() {
-		if(fModes == null) {
-			fModes = new HashSet();
-			LaunchDelegate[] delegates = getLaunchDelegateExtensions();
-			List modesets = null;
-			for(int i= 0; i < delegates.length; i++) {
-				modesets = delegates[i].getModes();
-				for(Iterator iter = modesets.iterator(); iter.hasNext();) {
-					fModes.addAll((Set) iter.next());
-				}
-			}
-		}
-		return fModes;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSupportedModeCombinations()
-	 */
-	public Set getSupportedModeCombinations() {
-		if(fModeCombinations == null) {
-			initializeDelegates();
-			fModeCombinations = new HashSet();
-			fModeCombinations = fDelegates.keySet();
-		}
-		//return a clone or bad things happen
-		HashSet set = new HashSet();
-		for(Iterator iter = fModeCombinations.iterator(); iter.hasNext();) {
-			set.add(new HashSet((Set) iter.next()));
-		}
-		return set;
-	}
-	
-	/**
-	 * determines if the specified candidate is suitable for migration by loading its delegate.
-	 * if we initialize the delegate and it has not been provided, return false instead of failing
-	 * @param candidate the candidate to inspect for migration suitability
-	 * @return true if the specified launch configuration is suitable for migration, false otherwise
-	 * @throws CoreException
-	 * 
-	 * @since 3.2
-	 */
-	public boolean isMigrationCandidate(ILaunchConfiguration candidate) throws CoreException {
-		initializeMigrationDelegate();
-		if(fMigrationDelegate != null) {
-			return fMigrationDelegate.isCandidate(candidate);
-		}
-		return false;
-	}
-	
-	/**
-	 * This method initializes the migration delegate
-	 * @throws CoreException
-	 */
-	private synchronized void initializeMigrationDelegate() throws CoreException {
-		if(fElement.getAttribute(IConfigurationElementConstants.MIGRATION_DELEGATE) != null && fMigrationDelegate == null) {
-			fMigrationDelegate = (ILaunchConfigurationMigrationDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.MIGRATION_DELEGATE);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#isPublic()
-	 */
-	public boolean isPublic() {
-		String publicString = fElement.getAttribute(IConfigurationElementConstants.PUBLIC);
-		if (publicString != null) {
-			if (publicString.equalsIgnoreCase("false")) { //$NON-NLS-1$
-				return false;
-			}
-		} 
-		return true;
-	}
-
-	/**
-	 * Migrates the specified launch configuration by loading its delegate.
-	 * In the event the migration delegate has not been provided do nothing.
-	 * @param candidate the candidate launch configuration to migrate
-	 * @throws CoreException
-	 * 
-	 * @since 3.2
-	 */
-	public void migrate(ILaunchConfiguration candidate) throws CoreException {
-		initializeMigrationDelegate();
-		if(fMigrationDelegate != null) {
-			fMigrationDelegate.migrate(candidate);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#newInstance(org.eclipse.core.resources.IContainer, java.lang.String)
-	 */
-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) {
-		return new LaunchConfigurationWorkingCopy(container, name, this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#supportsMode(java.lang.String)
-	 */
-	public boolean supportsMode(String mode) {
-		if(fModeCombinations == null) {
-			getSupportedModeCombinations();
-		}
-		Set modes = null;
-		for(Iterator iter = fModeCombinations.iterator(); iter.hasNext();) {
-			modes = (Set) iter.next();
-			if(modes.size() == 1 && modes.contains(mode)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getContributorName()
-	 */
-	public String getContributorName() {
-		return fElement.getContributor().getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#supportsModeCombination(java.util.Set)
-	 */
-	public boolean supportsModeCombination(Set modes) {
-		if(fModeCombinations == null) {
-			getSupportedModeCombinations();
-		}
-		return fModeCombinations.contains(modes);
-	}
-
-}
-
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 5bc02cd..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,739 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-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.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * 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;
-	
-	/**
-	 * Handle to a parent working copy
-	 * @since 3.3
-	 */
-	private LaunchConfigurationWorkingCopy fParent =  null;
-	
-	/**
-	 * 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 working copy of the specified launch configuration as its parent.
-	 * 
-	 * @param parent 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(LaunchConfigurationWorkingCopy parent) throws CoreException {
-		super(parent.getLocation());
-		setName(parent.getName());
-		copyFrom(parent);
-		setOriginal((LaunchConfiguration) parent.getOriginal());
-		fParent = parent;
-		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 synchronized ILaunchConfiguration doSave() throws CoreException {
-		return doSave(new NullProgressMonitor());
-	}
-
-	/**
-	 * Saves with progress.
-	 * 
-	 * @param monitor
-	 * @return the saved <code>ILaunchConfiguration</code>
-	 * @throws CoreException
-	 * 
-	 * @since 3.3
-	 */
-	public synchronized ILaunchConfiguration doSave(IProgressMonitor monitor) throws CoreException {
-		if (getParent() != null) {
-			// save to parent working copy
-			LaunchConfigurationWorkingCopy wc = (LaunchConfigurationWorkingCopy) getParent();
-			if(isMoved()) {
-				wc.rename(getName());
-				wc.setContainer(getContainer());
-			}
-			wc.setAttributes(getInfo().getAttributes());
-			return wc;
-		}
-		else {
-			boolean useRunnable= true;
-			if (isLocal()) {
-				if (isMoved()) {
-					// If this config was moved from a shared location, saving
-					// it will delete the original from the workspace. Use runnable.
-					useRunnable= !isNew() && !getOriginal().isLocal();
-				} else {
-					useRunnable= false;
-				}
-			}
-			if (useRunnable) {
-				IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-					public void run(IProgressMonitor pm) throws CoreException {
-						doSave0(pm);
-					}
-				};
-				ResourcesPlugin.getWorkspace().run(wr, null, 0, monitor);
-			} else {
-				//file is persisted in the metadata not the workspace
-				doSave0(monitor);
-			}
-			getLaunchManager().setMovedFromTo(null, null);
-		}
-		return new LaunchConfiguration(getLocation());
-	}
-	
-	/**
-	 * Performs the actual saving of the launch configuration.
-	 * @throws CoreException
-	 */
-	private void doSave0(IProgressMonitor monitor) throws CoreException {
-		// set up from/to information if this is a move
-		boolean moved = (!isNew() && isMoved());
-		if (moved) {
-			ILaunchConfiguration to = new LaunchConfiguration(getLocation());
-			ILaunchConfiguration from = getOriginal();
-			getLaunchManager().setMovedFromTo(from, to);
-		}
-		// delete the old file if this is not a new configuration
-		// or the file was renamed/moved
-		if (moved) {
-			getOriginal().delete();
-		}
-		// write the new file
-		if(monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		monitor.beginTask(MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_0, new String[] {getName()}), 2);
-		writeNewFile(monitor);
-		monitor.done();
-		fDirty = false;
-	}
-	
-	/**
-	 * Writes the new configuration information to a file.
-	 * 
-	 * @exception CoreException if writing the file fails
-	 */
-	protected void writeNewFile(IProgressMonitor monitor) throws CoreException {
-		String xml = null;
-		Exception e= null;
-		try {
-			xml = getInfo().getAsXML();
-		} catch (IOException ioe) {
-			e= ioe;			
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;		
-		}
-		if (e != null) {
-			throw new DebugException(
-				new Status(
-					IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{e.toString()}), null 
-					)
-				);		
-		}
-		
-		if (isLocal()) {
-			// use java.io to update configuration file
-			try {
-				boolean added = false;
-				monitor.subTask(DebugCoreMessages.LaunchConfigurationWorkingCopy_1);
-				File file = getLocation().toFile();
-				File dir = getLocation().removeLastSegments(1).toFile();
-				dir.mkdirs();
-				if (!file.exists()) {
-					added = true;
-					file.createNewFile();
-					monitor.worked(1);
-				}
-				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()));
-				}
-				//notify file saved
-				monitor.worked(1);
-			} catch (IOException ie) {
-				monitor.setCanceled(true);
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{ie.toString()}), null 
-					)
-				);				
-			}
-		} else {
-			// use resource API to update configuration file
-			IFile file = getFile();
-			if (file == null) {
-				monitor.setCanceled(true);
-				throw new DebugException(
-						new Status(
-							 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-							 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_5, null 
-						));
-			}
-			IContainer dir = file.getParent();
-			if (!dir.exists()) {
-				monitor.setCanceled(true);
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2, null 
-					)
-				);				
-			}
-			ByteArrayInputStream stream = null;
-			try {
-				stream = new ByteArrayInputStream(xml.getBytes("UTF8")); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException ue) {
-				monitor.setCanceled(true);
-				throw new DebugException(
-					new Status(
-						 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_5, ue 
-					));
-			}
-			SubProgressMonitor spm = null;
-			if (!file.exists()) {
-	//create file input stream: work one unit in a sub monitor
-				spm = new SubProgressMonitor(monitor, 1);
-				spm.setTaskName(MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_2, new String[] {getName()}));
-				file.create(stream, false, spm);
-			} else {
-				// validate edit
-				if (file.isReadOnly()) {
-					IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
-					if (!status.isOK()) {
-						monitor.setCanceled(true);
-						throw new CoreException(status);
-					}
-				}				
-	//set the contents of the file: work 1 unit in a sub monitor
-				spm = new SubProgressMonitor(monitor, 1);
-				spm.setTaskName(MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_3, new String[] {getName()}));
-				file.setContents(stream, true, false, spm);
-			}
-		}
-		if(monitor.isCanceled()) {
-			return;
-		}
-	}
-
-	/**
-	 * @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, Boolean.valueOf(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() {
-		ILaunchConfiguration config = fOriginal;
-		ILaunchConfigurationWorkingCopy parent = fParent;
-		while(parent != null) {
-			config = parent.getOriginal();
-			parent = parent.getParent();
-		}
-		return config;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#getParent()
-	 */
-	public ILaunchConfigurationWorkingCopy getParent() {
-		return fParent;
-	}
-	
-	/**
-	 * 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 original 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());
-		fDirty = false;
-	}
-	
-	/**
-	 * Sets the launch configuration this working copy
-	 * is based on.
-	 * 
-	 * @param original the launch configuration this working 
-	 *  copy is based on.
-	 */
-	private void setOriginal(LaunchConfiguration original) {
-		fOriginal = original;
-	}	
-	
-	/**
-	 * Sets the working copy info object for this working copy.
-	 * 
-	 * @param info a copy of attributes from this working copy's
-	 * 	original launch configuration
-	 */
-	protected void setInfo(LaunchConfigurationInfo info) {
-		fInfo = info;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	/**
-	 * A working copy keeps a local info object that is not
-	 * cached with the launch manager.
-	 * 
-	 * @see LaunchConfiguration#getInfo()
-	 */
-	protected LaunchConfigurationInfo getInfo() {
-		return fInfo;
-	}
-	
-	/**
-	 * Sets this working copy's state to dirty.
-	 * Notifies listeners that this working copy has
-	 * changed.
-	 */
-	private void setDirty() {
-		fDirty = true;
-		if (!suppressChangeNotification()) {
-			getLaunchManager().getConfigurationNotifier().notify(this, LaunchManager.CHANGED);
-		}	
-	}
-		
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setModes(java.util.Set)
-	 */
-	public void setModes(Set modes) {
-		getInfo().setAttribute(ATTR_LAUNCH_MODES, (modes.size() > 0 ? modes : null));
-		setDirty();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#addModes(java.util.Set)
-	 */
-	public void addModes(Set modes) {
-		try {
-			Set opts = getModes();
-			if(opts.addAll(modes)) {
-				getInfo().setAttribute(ATTR_LAUNCH_MODES, opts);
-				setDirty();
-			}
-		} 
-		catch (CoreException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#removeModes(java.util.Set)
-	 */
-	public void removeModes(Set options) {
-		try {
-			Set opts = getModes();
-			if(opts.removeAll(options)) {
-				getInfo().setAttribute(ATTR_LAUNCH_MODES, (opts.size() < 1 ? null : opts));
-				setDirty();
-			}
-		} 
-		catch (CoreException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#rename(String)
-	 */
-	public void rename(String name) {
-		if (!getName().equals(name)) {
-			setName(name);
-			fRenamed = isNew() || !(getOriginal().getName().equals(name));
-		}
-	}
-
-	/**
-	 * Sets the new name for this configuration.
-	 * 
-	 * @param name the new name for this configuration
-	 */
-	private void setName(String name) {
-		fName = name;
-		setDirty();
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		return getContainer() == null;
-	}	
-	
-	/**
-	 * Returns the location this launch configuration will reside at
-	 * when saved.
-	 * 
-	 * @see ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		if (isMoved()) {
-			IPath path = null;
-			if (isLocal()) {
-				path = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			} else {
-				path = getContainer().getLocation();
-			}
-			path = path.append(getName() + "." + LAUNCH_CONFIGURATION_FILE_EXTENSION); //$NON-NLS-1$
-			return path;
-		} 
-		return getOriginal().getLocation();
-	}
-	
-	/**
-	 * Returns whether this working copy is new, or is a
-	 * working copy of another launch configuration.
-	 * 
-	 * @return whether this working copy is new, or is a
-	 *  working copy of another launch configuration
-	 */
-	protected boolean isNew() {
-		return getOriginal() == null;
-	}
-	
-	/**
-	 * Returns whether this working copy is new or if its
-	 * location has changed from that of its original.
-	 * 
-	 * @return whether this working copy is new or if its
-	 * location has changed from that of its original
-	 */
-	protected boolean isMoved() {
-		if (isNew() || fRenamed) {
-			return true;
-		}
-		IContainer newContainer = getContainer();
-		IContainer originalContainer = ((LaunchConfiguration)getOriginal()).getContainer();
-		if (newContainer == originalContainer) {
-			return false;
-		}
-		if (newContainer == null) {
-			return !originalContainer.equals(newContainer);
-		} 
-		return !newContainer.equals(originalContainer);
-	}		
-	
-	/**
-	 * A working copy cannot generate a memento.
-	 * 
-	 * @see ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() {
-		return null;
-	}	
-	
-	/**
-	 * Returns whether change notification should be
-	 * suppressed
-	 */
-	protected boolean suppressChangeNotification() {
-		return fSuppressChange;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setContainer(IContainer)
-	 */
-	public void setContainer(IContainer container) {
-		if (container == fContainer) {
-			return;
-		}
-		if (container != null) {
-			if (container.equals(fContainer)) {
-				return;
-			}
-		} else {
-			if (fContainer.equals(container)) {
-				return;
-			}
-		}
-		fContainer = container;
-		setDirty();
-	}
-	
-	/**
-	 * Returns the container this working copy will be
-	 * stored in when saved, or <code>null</code> if
-	 * this working copy is local.
-	 * 
-	 * @return the container this working copy will be
-	 *  stored in when saved, or <code>null</code> if
-	 *  this working copy is local
-	 */
-	protected IContainer getContainer() {
-		return fContainer;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setAttributes(java.util.Map)
-	 */
-	public void setAttributes(Map attributes) {
-		getInfo().setAttributes(attributes);
-		setDirty();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setResource(org.eclipse.core.resources.IResource)
-	 */
-	public void setMappedResources(IResource[] resources) {
-		ArrayList paths = null;
-		ArrayList types = null;
-		if(resources != null && resources.length > 0) {
-			paths = new ArrayList(resources.length);
-			types = new ArrayList(resources.length);
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if(resource != null) {
-					paths.add(resource.getFullPath().toPortableString());
-					types.add(new Integer(resource.getType()).toString());
-				}
-			}
-		}
-		setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_PATHS, paths);
-		setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_TYPES, types);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setPreferredLaunchDelegate(java.util.Set, java.lang.String)
-	 */
-	public void setPreferredLaunchDelegate(Set modes, String delegateId) {
-		if(modes != null) {
-			try {
-				Map delegates = getAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, (Map)null);
-					//copy map to avoid pointer issues
-					Map map = new HashMap();
-					if(delegates != null) {
-						map.putAll(delegates);
-					}
-					if(delegateId == null) {
-						map.remove(modes.toString());
-					}
-					else {
-						map.put(modes.toString(), delegateId);
-					}
-					setAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, map);
-			}
-			catch (CoreException ce) {DebugPlugin.log(ce);}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.LaunchConfiguration#getWorkingCopy()
-	 * CONTEXTLAUNCHING
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
-		return new LaunchConfigurationWorkingCopy(this);
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java
deleted file mode 100644
index 8ec2e22..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Proxy to a launch delegate extension
- * Clients can contribute launch delegates through the <code>launchDelegates</code> extension point
- * 
- * Example contribution of the local java launch delegate
- * <pre>
- * <extension point="org.eclipse.debug.core.launchDelegates">
-      <launchDelegate
-            delegate="org.eclipse.jdt.launching.JavaLaunchDelegate"
-            id="org.eclipse.jdt.launching.localJavaApplicationDelegate"
-            modes="run, debug"
-            name="%localJavaApplication"
-            type="org.eclipse.jdt.launching.localJavaApplication">
-          <modeCombination 
-    		modes="run, profile">
-    		perspective="com.example.Perspective">
-   		  </modeCombination>
-      </launchDelegate>
- * </pre>
- * 
- * Clients are NOT intended to subclass this class
- * 
- * @see IConfigurationElementConstants
- * 
- * @since 3.3
- */
-public final class LaunchDelegate implements ILaunchDelegate {
-	
-	/**
-	 * The configuration element for this delegate
-	 */
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * The cached delegate. Remains null until asked for, then persisted
-	 */
-	private ILaunchConfigurationDelegate fDelegate = null;
-	
-	//a listing of sets of 
-	private List fLaunchModes = null;
-	private String fType = null;
-	private HashMap fPerspectiveIds = null;
-	
-	/**
-	 * Constructor
-	 * @param element the configuration element to associate with this launch delegate
-	 */
-	public LaunchDelegate(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchDelegateProxy#getDelegate()
-	 */
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException {
-		if(fDelegate == null) {
-			Object obj = fElement.createExecutableExtension(IConfigurationElementConstants.DELEGATE);
-			if(obj instanceof ILaunchConfigurationDelegate) {
-				fDelegate = (ILaunchConfigurationDelegate)obj;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LaunchDelegate_3, new String[]{getId()}), null)); 
-			}
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchDelegateProxy#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute(IConfigurationElementConstants.ID);
-	}
-
-	/**
-	 * Returns the id of the associated <code>ILaunchConfigurationType</code> or <code>null</code> if none provided
-	 * @return the id of the <code>ILaunchConfigurationType</code> associated with this delegate
-	 */
-	public String getLaunchConfigurationTypeId() {
-		if(fType == null) {
-			//fall back to single association if no appliesTo
-			fType = fElement.getAttribute(IConfigurationElementConstants.TYPE);
-			if(fType == null) {
-				//the case when we have passed a launch configuration type to the launch delegate
-				fType = fElement.getAttribute(IConfigurationElementConstants.ID);
-			}
-		}
-		return fType;
-	}
-	
-	/**
-	 * Simple method to parse mode strings (separated by commas)
-	 * @param element the config element to read the mode string from
-	 * @return a set of the parsed strings or an empty collection
-	 * @since 3.3
-	 */
-	private Set parseModes(IConfigurationElement element) {
-		HashSet set = new HashSet();
-		String modes = element.getAttribute(IConfigurationElementConstants.MODES); 
-		if (modes != null) {
-			String[] strings = modes.split(","); //$NON-NLS-1$
-			for (int i = 0; i < strings.length; i++) {
-				set.add(strings[i].trim());
-			}
-		}
-		return set;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchDelegateProxy#getModes()
-	 */
-	public List getModes() {
-		if(fLaunchModes == null) {
-			fLaunchModes = new ArrayList();
-			fPerspectiveIds = new HashMap();
-			IConfigurationElement[] children = fElement.getChildren(IConfigurationElementConstants.MODE_COMBINATION);
-			Set modeset = null;
-			for (int i = 0; i < children.length; i++) {
-				modeset = parseModes(children[i]);
-				fLaunchModes.add(modeset);
-				fPerspectiveIds.put(modeset, children[i].getAttribute(IConfigurationElementConstants.PERSPECTIVE));
-			}
-			//try to get the modes from the old definition and make each one
-			//a separate set of one element
-			modeset = null;
-			String modes = fElement.getAttribute(IConfigurationElementConstants.MODES); 
-			if (modes != null) {
-				String[] strings = modes.split(","); //$NON-NLS-1$
-				for (int i = 0; i < strings.length; i++) {
-					modeset = new HashSet();
-					modeset.add(strings[i].trim());
-					fLaunchModes.add(modeset);
-				}
-			}
-		}
-		return fLaunchModes;
-	}
-	
-	/**
-	 * Returns the human readable name for this launch delegate
-	 * @return the human readable name for this launch delegate, or <code>null</code> if none
-	 */
-	public String getName() {
-		//try a delegateName attribute first, in the event this delegate was made from an ILaunchConfigurationType
-		String name = fElement.getAttribute(IConfigurationElementConstants.DELEGATE_NAME);
-		if(name == null) {
-			name = fElement.getAttribute(IConfigurationElementConstants.NAME);
-			if (name == null) {
-				name = getContributorName();
-			}
-			name = name.trim();
-			if (Character.isUpperCase(name.charAt(0))) {
-				name =  MessageFormat.format(DebugCoreMessages.LaunchDelegate_1, new String[]{name});
-			} else {
-				name = MessageFormat.format(DebugCoreMessages.LaunchDelegate_2, new String[]{name});
-			}
-		}
-		return name;
-	}
-	
-	/**
-	 * Returns the contributor name of this delegate (plug-in name).
-	 * 
-	 * @return contributor name
-	 */
-	public String getContributorName() {
-		return fElement.getContributor().getName();
-	}
-	
-	/**
-	 * Returns the associated source locator id or <code>null</code>
-	 * @return the associated source locator id or <code>null</code> if not provided
-	 */
-	public String getSourceLocatorId() {
-		return fElement.getAttribute(IConfigurationElementConstants.SOURCE_LOCATOR);
-	}
-
-	/**
-	 * Returns the associated source path computer id or <code>null</code>
-	 * @return the associated source path computer id or <code>null</code> if not provided
-	 */
-	public String getSourcePathComputerId() {
-		return fElement.getAttribute(IConfigurationElementConstants.SOURCE_PATH_COMPUTER);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchDelegate#getDescription()
-	 */
-	public String getDescription() {
-		String desc = fElement.getAttribute(IConfigurationElementConstants.DELEGATE_DESCRIPTION);
-		if(desc == null) {
-			return DebugCoreMessages.LaunchDelegate_0;
-		}
-		return desc;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchDelegate#getPluginIdentifier()
-	 */
-	public String getPluginIdentifier() {
-		return fElement.getContributor().getName();
-	}
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if(obj == null) {
-			return false;
-		}
-		return obj instanceof ILaunchDelegate && getId() != null && getId().equals(((ILaunchDelegate)obj).getId());
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchDelegate#getPerspectiveId(java.util.Set)
-	 */
-	public String getPerspectiveId(Set modes) {
-		if(fPerspectiveIds == null) {
-			getModes();
-		}
-		return (String) fPerspectiveIds.get(modes);
-	}
-}
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 160d7d4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,2473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - bug 50567 Eclipse native environment support on Win98
- *     Pawel Piech - Bug 82001: When shutting down the IDE, the debugger should first
- *     attempt to disconnect debug targets before terminating them
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourcePathComputer;
-import org.eclipse.osgi.service.environment.Constants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Manages launch configurations, launch configuration types, and registered launches.
- *
- * @see ILaunchManager
- */
-public class LaunchManager extends PlatformObject implements ILaunchManager, IResourceChangeListener {
-	
-	protected static final String PREF_PREFERRED_DELEGATES = DebugPlugin.getUniqueIdentifier() + ".PREFERRED_DELEGATES"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference on whether to delete associated configurations when a project is deleted.
-	 * 
-	 * @since 3.3
-	 */
-	public static final String PREF_DELETE_CONFIGS_ON_PROJECT_DELETE = DebugPlugin.getUniqueIdentifier() + ".PREF_DELETE_CONFIGS_ON_PROJECT_DELETE"; //$NON-NLS-1$
-	
-	/**
-	 * Constant to define debug.ui for the status codes
-	 * 
-	 * @since 3.2
-	 */
-	private static final String DEBUG_UI = "org.eclipse.debug.ui"; //$NON-NLS-1$
-	
-	/**
-	 * Constant to represent the empty string
-	 * 
-	 * @since 3.2
-	 */
-	protected static final String EMPTY_STRING = ""; //$NON-NLS-1$
-    
-	/**
-	 * Status code for which a UI prompter is registered.
-	 * 
-	 * @since 3.2
-	 */
-	protected static final IStatus promptStatus = new Status(IStatus.INFO, DEBUG_UI, 200, EMPTY_STRING, null);
-	
-	/**
-	 * Step filter manager
-	 */
-	private StepFilterManager fStepFilterManager = null;
-	
-	/**
-	 * 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, "An exception occurred during launch configuration change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * 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];
-                    SafeRunner.run(this);
-				}
-			}
-			fConfiguration = null;
-			fListener = null;			
-		}
-
-		/**
-		 * @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 a launch listener (multiple launches) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class LaunchesNotifier implements ISafeRunnable {
-		
-		private ILaunchesListener fListener;
-		private int fType;
-		private ILaunch[] fNotifierLaunches;
-		private ILaunch[] fRegistered;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during launch change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * Notifies the given listener of the adds/changes/removes
-		 * 
-		 * @param launches the launches that changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunch[] launches, int update) {
-			fNotifierLaunches = launches;
-			fType = update;
-			fRegistered = null;
-			Object[] copiedListeners= fLaunchesListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchesListener)copiedListeners[i];
-                SafeRunner.run(this);
-			}	
-			fNotifierLaunches = null;
-			fRegistered = null;
-			fListener = null;			
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchesAdded(fNotifierLaunches);
-					break;
-				case REMOVED:
-					fListener.launchesRemoved(fNotifierLaunches);
-					break;
-				case CHANGED:
-				case TERMINATE:
-					if (fRegistered == null) {
-						List registered = null;
-						for (int j = 0; j < fNotifierLaunches.length; j++) {
-							if (isRegistered(fNotifierLaunches[j])) {
-								if (registered != null) {
-									registered.add(fNotifierLaunches[j]);
-								} 
-							} else {
-								if (registered == null) {
-									registered = new ArrayList(fNotifierLaunches.length);
-									for (int k = 0; k < j; k++) {
-										registered.add(fNotifierLaunches[k]);
-									}
-								}
-							}
-						}
-						if (registered == null) {
-							fRegistered = fNotifierLaunches;
-						} else {
-							fRegistered = (ILaunch[])registered.toArray(new ILaunch[registered.size()]);
-						}
-					}
-					if (fRegistered.length > 0) {
-						if (fType == CHANGED) {
-							fListener.launchesChanged(fRegistered);
-						}
-						if (fType == TERMINATE && fListener instanceof ILaunchesListener2) {
-							((ILaunchesListener2)fListener).launchesTerminated(fRegistered);
-						}
-					}
-					break;
-			}
-		}
-	}
-	
-	/**
-	 * Visitor for handling a resource begin deleted, and the need to check mapped configurations
-	 * for auto-deletion
-	 * @since 3.4
-	 */
-	class MappedResourceVisitor implements IResourceDeltaVisitor {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			if(delta.getKind() == IResourceDelta.REMOVED && delta.getFlags() != IResourceDelta.MOVED_TO) {
-				ArrayList configs = collectAssociatedLaunches(delta.getResource());
-				if(configs.size() > 0) {
-					for(Iterator iter = configs.iterator(); iter.hasNext();) {
-						try { 
-							((ILaunchConfiguration)iter.next()).delete();
-						} catch (CoreException e) {
-							DebugPlugin.log(e.getStatus());
-						}
-					}
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-	
-	/**
-	 * Visitor for handling resource deltas.
-	 */
-	class LaunchManagerVisitor implements IResourceDeltaVisitor {
-	    
-	    /**
-	     * Map of files to associated (shared) launch configurations in a project
-	     * that is going to be deleted.
-	     */
-	    private Map fFileToConfig = new HashMap();
-	    
-	    
-		/**
-         * Builds a cache of configurations that will be deleted in the given project
-         * 
-         * @param project project that is going to be deleted
-         */
-        public void preDelete(IProject project) {
-            List list = findLaunchConfigurations(project);
-            Iterator configs = list.iterator();
-            while (configs.hasNext()) {
-                ILaunchConfiguration configuration = (ILaunchConfiguration) configs.next();
-                IFile file = configuration.getFile();
-                if (file != null) {
-                    fFileToConfig.put(file, configuration);
-                }
-            }
-        }	
-		
-		/**
-		 * Resets this resource delta visitor for a new pass.
-		 */
-		public void reset() {
-		      fFileToConfig.clear();
-		}
-
-        /**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
-				if (delta.getResource() instanceof IProject) {
-					IProject project = (IProject)delta.getResource();
-					if (project.isOpen()) {
-						LaunchManager.this.projectOpened(project);
-					} else { 
-					    LaunchManager.this.projectClosed(project);
-					}
-				}
-				return false;
-			}
-			IResource resource = delta.getResource();
-			if (resource instanceof IFile) {
-				IFile file = (IFile)resource;
-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equals(file.getFileExtension())) {
-					IPath configPath = file.getLocation();
-					ILaunchConfiguration handle = null;
-					// If the file has already been deleted, reconstruct the handle from our cache
-					if (configPath == null) {
-					    handle = (ILaunchConfiguration) fFileToConfig.get(file);
-					} else {
-					    handle = new LaunchConfiguration(configPath);
-					}
-					if (handle != null) {
-						switch (delta.getKind()) {						
-							case IResourceDelta.ADDED :
-								LaunchManager.this.launchConfigurationAdded(handle);
-								break;
-							case IResourceDelta.REMOVED :
-								LaunchManager.this.launchConfigurationDeleted(handle);
-								break;
-							case IResourceDelta.CHANGED :
-								LaunchManager.this.launchConfigurationChanged(handle);
-								break;
-						}
-					}
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-	
-	/**
-	 * 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, "An exception occurred during launch change notification.", exception);  //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * Notifies listeners of the add/change/remove
-		 * 
-		 * @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];
-                SafeRunner.run(this);
-			}	
-			fLaunch = null;
-			fListener = null;		
-		}
-
-		/**
-		 * @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;
-			}			
-		}
-	}
-	
-	/**
-	 * Collects files whose extension matches the launch configuration file
-	 * extension.
-	 */
-	class ResourceProxyVisitor implements IResourceProxyVisitor {
-		
-		private List fList;
-		
-		protected ResourceProxyVisitor(List list) {
-			fList= list;
-		}
-		/**
-		 * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
-		 */
-		public boolean visit(IResourceProxy proxy) {
-			if (proxy.getType() == IResource.FILE) {
-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equalsIgnoreCase(proxy.requestFullPath().getFileExtension())) {
-					fList.add(proxy.requestResource());
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-	
-	/**
-	 * Internal class used to hold information about a preferred delegate
-	 * 
-	 * @since 3.3
-	 */
-	class PreferredDelegate {
-		private ILaunchDelegate fDelegate = null;
-		private String fTypeid = null;
-		private Set fModes = null;
-		
-		public PreferredDelegate(ILaunchDelegate delegate, String typeid, Set modes) {
-			fDelegate = delegate;
-			fTypeid = typeid;
-			fModes = modes;
-		}
-		
-		public String getTypeId() {
-			return fTypeid;
-		}
-		
-		public Set getModes() {
-			return fModes;
-		}
-		
-		public ILaunchDelegate getDelegate() {
-			return fDelegate;
-		}
-	}
-	
-	/**
-	 * Types of notifications
-	 */
-	public static final int ADDED = 0;
-	public static final int REMOVED= 1;
-	public static final int CHANGED= 2;
-	public static final int TERMINATE= 3;
-	
-	/**
-	 * The collection of native environment variables on the user's system. Cached
-	 * after being computed once as the environment cannot change.
-	 */
-	private static HashMap fgNativeEnv= null;
-	private static HashMap fgNativeEnvCasePreserved= null;
-	
-	/**
-	 * 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$
-	/**
-	 * Returns a Document that can be used to build a DOM tree
-	 * @return the Document
-	 * @throws ParserConfigurationException if an exception occurs creating the document builder
-	 * @since 3.0
-	 */
-	public static Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder= dfactory.newDocumentBuilder();
-		Document doc= docBuilder.newDocument();
-		return doc;
-	}
-
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	public static String serializeDocument(Document doc) throws TransformerException, IOException {
-		ByteArrayOutputStream s = new ByteArrayOutputStream();
-		TransformerFactory factory = TransformerFactory.newInstance();
-		Transformer transformer = factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		DOMSource source = new DOMSource(doc);
-		StreamResult outputTarget = new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Collection of defined launch configuration type
-	 * extensions.
-	 */
-	private List fLaunchConfigurationTypes = null; 
-
-	/**
-	 * Launch configuration cache. Keys are <code>LaunchConfiguration</code>,
-	 * values are <code>LaunchConfigurationInfo</code>.
-	 */
-	private Map fLaunchConfigurations = new HashMap(10);
-	
-	/**
-	 * A cache of launch configuration names currently in the workspace.
-	 */
-	private String[] fSortedConfigNames = null;
-	
-	/**
-	 * Collection of all launch configurations in the workspace.
-	 * <code>List</code> of <code>ILaunchConfiguration</code>.
-	 */
-	private List fLaunchConfigurationIndex = null;
-	
-	/**
-	 * Launch configuration comparator extensions,
-	 * keyed by attribute name.
-	 */
-	private Map fComparators = null;
-	
-	/**
-	 * Registered launch modes, or <code>null</code> if not initialized.
-	 * Keys are mode identifiers, values are <code>ILaunchMode</code>s.
-	 */
-	private Map fLaunchModes = null;
-		
-	/**
-	 * A map of LaunchDelegate objects stored by id of delegate, or launch config type
-	 */
-	private HashMap fLaunchDelegates = null;
-	
-	/**
-	 * Initial startup cache of preferred delegate so that the debug preferences are only parsed once
-	 * 
-	 * @since 3.3
-	 */
-	private Set fPreferredDelegates = null;
-	
-	/**
-	 * Collection of launches
-	 */
-	private List fLaunches= new ArrayList(10);
-	/**
-	 * Set of launches for efficient 'isRegistered()' check
-	 */
-	private Set fLaunchSet = new HashSet(10);
-	
-	/**
-	 * Collection of listeners
-	 */
-	private ListenerList fListeners = new ListenerList();
-	
-	/**
-	 * Collection of "plural" listeners.
-	 * @since 2.1
-	 */
-	private ListenerList fLaunchesListeners = new ListenerList();	
-	
-	/**
-	 * Visitor used to process resource deltas,
-	 * to update launch configuration index.
-	 */
-	private LaunchManagerVisitor fgVisitor;
-	
-	/**
-	 * Visitor used to process a deleted resource,
-	 * to remove mapped launch configurations in the event
-	 * auto-removal of launch configurations is enabled
-	 * 
-	 * @since 3.4
-	 */
-	private MappedResourceVisitor fgMRVisitor;
-	
-	/**
-	 * Whether this manager is listening for resource change events
-	 */
-	private boolean fListening = false;
-	
-	/**
-	 * Launch configuration listeners
-	 */
-	private ListenerList fLaunchConfigurationListeners = new ListenerList();
-			
-	/**
-	 * 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;
-
-    /**
-	 * Map of source container type extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourceContainerTypes;
-	
-	/**
-	 * Map of source path computer extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourcePathComputers;
-
-	/**
-	 * @see ILaunchManager#addLaunch(ILaunch)
-	 */
-	public void addLaunch(ILaunch launch) {
-		if (internalAddLaunch(launch)) {
-			fireUpdate(launch, ADDED);
-			fireUpdate(new ILaunch[] {launch}, ADDED);
-		}
-	}
-		
-	/**
-	 * @see ILaunchManager#addLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.add(listener);
-	}	
-	
-	/**
-	 * @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 ILaunchManager#addLaunchListener(ILaunchListener)
-	 */
-	public void addLaunchListener(ILaunchListener listener) {
-		fListeners.add(listener);
-	}	
-	
-	/**
-	 * Computes and caches the native system environment variables as a map of
-	 * variable names and values (Strings) in the given map.
-	 * <p>
-	 * Note that WIN32 system environment preserves
-	 * the case of variable names but is otherwise case insensitive.
-	 * Depending on what you intend to do with the environment, the
-	 * lack of normalization may or may not be create problems. This
-	 * method preserves mixed-case keys using the variable names 
-	 * recorded by the OS.
-	 * </p>
-	 * @since 3.1
-	 */	
-	private void cacheNativeEnvironment(Map cache) {
-		try {
-			String nativeCommand= null;
-			boolean isWin9xME= false; //see bug 50567
-			String fileName= null;
-			if (Platform.getOS().equals(Constants.OS_WIN32)) {
-				String osName= System.getProperty("os.name"); //$NON-NLS-1$
-				isWin9xME= osName != null && (osName.startsWith("Windows 9") || osName.startsWith("Windows ME")); //$NON-NLS-1$ //$NON-NLS-2$
-				if (isWin9xME) {
-					// Win 95, 98, and ME
-					// SET might not return therefore we pipe into a file
-					IPath stateLocation= DebugPlugin.getDefault().getStateLocation();
-					fileName= stateLocation.toOSString() + File.separator  + "env.txt"; //$NON-NLS-1$
-					nativeCommand= "command.com /C set > " + fileName; //$NON-NLS-1$
-				} else {
-					// Win NT, 2K, XP
-					nativeCommand= "cmd.exe /C set"; //$NON-NLS-1$
-				}
-			} else if (!Platform.getOS().equals(Constants.OS_UNKNOWN)){
-				nativeCommand= "env";		 //$NON-NLS-1$
-			}
-			if (nativeCommand == null) {
-				return;
-			}
-			Process process= Runtime.getRuntime().exec(nativeCommand);
-			if (isWin9xME) {
-				//read piped data on Win 95, 98, and ME
-				Properties p= new Properties();
-				File file= new File(fileName);
-				InputStream stream = new BufferedInputStream(new FileInputStream(file));
-				p.load(stream);
-				stream.close();
-				if (!file.delete()) {
-					file.deleteOnExit(); // if delete() fails try again on VM close
-				}
-				for (Enumeration enumeration = p.keys(); enumeration.hasMoreElements();) {
-					// Win32's environment variables are case insensitive. Put everything
-					// to uppercase so that (for example) the "PATH" variable will match
-					// "pAtH" correctly on Windows.
-					String key= (String) enumeration.nextElement();
-					//no need to cast value
-					cache.put(key, p.get(key));
-				}
-			} else {
-				//read process directly on other platforms
-				//we need to parse out matching '{' and '}' for function declarations in .bash environments
-				// pattern is [func name]=() { and we must find the '}' on its own line with no trailing ';'
-				InputStream stream = process.getInputStream();
-				InputStreamReader isreader = new InputStreamReader(stream);
-				BufferedReader reader = new BufferedReader(isreader);
-				String line = reader.readLine();
-				String key = null;
-				String value = null;
-				while (line != null) {
-					int func = line.indexOf("=()"); //$NON-NLS-1$
-					if(func > 0) {
-						key = line.substring(0, func);
-						//scan until we find the closing '}' with no following chars
-						value = line.substring(func+1);
-						while(line != null && !line.equals("}")) { //$NON-NLS-1$
-							line = reader.readLine();
-							if(line != null) {
-								value += line;
-							}
-						}
-						line = reader.readLine();
-					}
-					else {
-						int separator = line.indexOf('=');
-						if (separator > 0) {
-							key = line.substring(0, separator);
-							value = line.substring(separator + 1);
-							line = reader.readLine();
-							if(line != null) {
-								//this line has a '=' read ahead to check next line for '=', might be broken on more than one line
-								separator = line.indexOf('=');
-								while(separator < 0) {
-									value += line.trim();
-									line = reader.readLine();
-									if(line == null) {
-										//if next line read is the end of the file quit the loop
-										break;
-									}
-									separator = line.indexOf('=');
-								}
-							}
-						}
-					}
-					if(key != null) {
-						cache.put(key, value);
-						key = null;
-						value = null;
-					}
-					else {
-						line = reader.readLine();
-					}
-				}
-				reader.close();
-			}
-		} catch (IOException e) {
-			// Native environment-fetching code failed.
-			// This can easily happen and is not useful to log.
-		}
-	}
-
-	/**
-	 * Clears all launch configurations (if any have been accessed)
-	 */
-	private void clearAllLaunchConfigurations() {
-		if (fLaunchConfigurationTypes != null) {
-			fLaunchConfigurationTypes.clear();
-		}
-		if (fLaunchConfigurationIndex != null) {
-			fLaunchConfigurationIndex.clear();
-		}
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getEncoding(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public String getEncoding(ILaunchConfiguration configuration) throws CoreException {
-		String encoding = configuration.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, (String)null);
-		if(encoding == null) {
-			IResource[] resources = configuration.getMappedResources();
-			if(resources != null && resources.length > 0) {
-				IResource res = resources[0];
-				if(res instanceof IFile) {
-					return ((IFile)res).getCharset();
-				}
-				else if(res instanceof IContainer) { 
-					return ((IContainer)res).getDefaultCharset();
-				}
-			}
-			else {
-				return ResourcesPlugin.getEncoding();
-			}
-		}
-		return encoding;
-	}
-	
-	/**
-	 * The launch config name cache is cleared when a config is added, deleted or changed.
-	 */
-	protected void clearConfigNameCache() {
-		fSortedConfigNames = null;
-	}
-
-	/**
-	 * 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 
-					)
-				);
-	}
-	
-	/**
-	 * Return a LaunchConfigurationInfo object initialized from XML contained in
-	 * the specified stream.  Simply pass out any exceptions encountered so that
-	 * caller can deal with them.  This is important since caller may need access to the
-	 * actual exception.
-	 */
-	protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,
-																			 ParserConfigurationException,
-																			 IOException,
-																			 SAXException {
-		Element root = null;
-		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		parser.setErrorHandler(new DefaultHandler());
-		root = parser.parse(new InputSource(stream)).getDocumentElement();
-		LaunchConfigurationInfo info = new LaunchConfigurationInfo();
-		info.initializeFromXML(root);
-		return info;
-	}	
-	
-	/**
-	 * Finds and returns all launch configurations in the given
-	 * container (and sub-containers)
-	 * 
-	 * @param container the container to search
-	 * @exception CoreException an exception occurs traversing
-	 *  the container.
-	 * @return all launch configurations in the given container
-	 */
-	protected List findLaunchConfigurations(IContainer container) {
-		List list = new ArrayList(10);
-		if (container instanceof IProject && !((IProject)container).isOpen()) {
-			return list;
-		}
-		ResourceProxyVisitor visitor= new ResourceProxyVisitor(list);
-		try {
-			container.accept(visitor, IResource.NONE);
-		} catch (CoreException ce) {
-			//Closed project...should not be possible with previous check
-		}
-		Iterator iter = list.iterator();
-		List configs = new ArrayList(list.size());
-		IFile file = null;
-		while (iter.hasNext()) {
-			file = (IFile)iter.next();
-			configs.add(getLaunchConfiguration(file));
-		}
-		return configs;
-	}
-	
-	/**
-	 * Finds and returns all local launch configurations.
-	 *
-	 * @return all local launch configurations
-	 * @exception CoreException if there is a lower level
-	 *  IO exception
-	 */
-	protected List findLocalLaunchConfigurations() {
-		IPath containerPath = LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		List configs = new ArrayList(10);
-		final File directory = containerPath.toFile();
-		if (directory.isDirectory()) {
-			FilenameFilter filter = new FilenameFilter() {
-				public boolean accept(File dir, String name) {
-					return dir.equals(directory) &&
-							name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
-				}
-			};
-			String[] files = directory.list(filter);
-			LaunchConfiguration config = null;
-			for (int i = 0; i < files.length; i++) {
-				config = new LaunchConfiguration(containerPath.append(files[i]));
-				configs.add(config);
-			}
-		}
-		return configs;
-	}
-		
-	/**
-	 * Fires notification to (single) listeners that a launch has been
-	 * added/changed/removed.
-	 * 
-	 * @param launch launch that has changed
-	 * @param update type of change
-	 */
-	public void fireUpdate(ILaunch launch, int update) {
-		new LaunchNotifier().notify(launch, update);
-	}
-
-	/**
-	 * Fires notification to (plural) listeners that a launch has been
-	 * added/changed/removed.
-	 * 
-	 * @param launches launches that have changed
-	 * @param update type of change
-	 */
-	public void fireUpdate(ILaunch[] launches, int update) {
-		new LaunchesNotifier().notify(launches, update);
-	}
-	
-	/**
-	 * @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;
-		while (isExistingLaunchConfigurationName(newName)) {
-			newName = MessageFormat.format(DebugCoreMessages.LaunchManager_31, new String[] {baseName, Integer.toString(index)});
-			index++;
-		}		
-			
-		return newName;
-	}
-	
-	/**
-	 * Return a String that can be used as the name of a launch configuration.  The name
-	 * is guaranteed to be unique (no existing or temporary launch configurations will have this name).
-	 * The name that is returned uses the <code>basename</code> as a starting point.  If 
-	 * there is no existing launch configuration with this name, then <code>basename</code>
-	 * is returned.  Otherwise, the value returned consists of the specified base plus
-	 * some suffix that guarantees uniqueness. Passing <code>null</code> as the set of reserved names will cause this
-	 * method to return <code>generateUniqueLaunchConfigurationNameFrom(String baseName)</code>.
-	 * 
-	 * By specifying a set of reserved names, you can further constrain the name that will be generated
-	 * by this method. For example you can give a base name of 'test' and a reserved set of [test(1), test(2)],
-	 * which will result in a name of 'test(3)' being returned iff a configuration with the name 'test' already exists.
-	 * 
-	 * @return launch configuration name
-	 * @param basename the String that the returned name must begin with
-	 * @param reservednames a set of strings that is further used to constrain what names can be generated
-	 * @since 3.3
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String basename, Set reservednames) {
-		if(reservednames == null) {
-			return generateUniqueLaunchConfigurationNameFrom(basename);
-		}
- 		int index = 1;
-		int length= basename.length();
-		String base = basename;
-		int copyIndex = base.lastIndexOf(" ("); //$NON-NLS-1$
-		if (copyIndex > -1 && length > copyIndex + 2 && base.charAt(length - 1) == ')') {
-			String trailer = base.substring(copyIndex + 2, length -1);
-			if (isNumber(trailer)) {
-				try {
-					index = Integer.parseInt(trailer);
-					base = base.substring(0, copyIndex);
-				} 
-				catch (NumberFormatException nfe) {}
-			}
-		} 
-		String newname = base;
-		StringBuffer buffer = null;
-		while (isExistingLaunchConfigurationName(newname) || reservednames.contains(newname)) {
-			buffer = new StringBuffer(base);
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(String.valueOf(index));
-			index++;	
-			buffer.append(')');
-			newname = buffer.toString();
-		}		
-		return newname;
-	}
-	
-	/**
-	 * Returns a collection of all launch configuration handles in 
-	 * the workspace. This collection is initialized lazily.
-	 * 
-	 * @return all launch configuration handles
-	 */
-	private synchronized List getAllLaunchConfigurations() {
-		if (fLaunchConfigurationIndex == null) {
-			try {			
-				fLaunchConfigurationIndex = new ArrayList(20);
-				List configs = findLocalLaunchConfigurations();
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-				configs = findLaunchConfigurations(ResourcesPlugin.getWorkspace().getRoot());
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-			} finally {
-				hookResourceChangeListener();				
-			}
-		}
-		return fLaunchConfigurationIndex;
-	}
-	
-	/**
-	 * Return a sorted array of the names of all <code>ILaunchConfiguration</code>s in 
-	 * the workspace.  These are cached, and cache is cleared when a new config is added,
-	 * deleted or changed.
-	 */
-	protected String[] getAllSortedConfigNames() {
-		if (fSortedConfigNames == null) {
-			ILaunchConfiguration[] configs = getLaunchConfigurations();
-			fSortedConfigNames = new String[configs.length];
-			for (int i = 0; i < configs.length; i++) {
-				fSortedConfigNames[i] = configs[i].getName();
-			}
-			Arrays.sort(fSortedConfigNames);
-		}
-		return fSortedConfigNames;
-	}
-	
-	/**
-	 * Returns the comparator registered for the given attribute, or
-	 * <code>null</code> if none.
-	 * 
-	 * @param attributeName attribute for which a comparator is required
-	 * @return comparator, or <code>null</code> if none
-	 */
-	protected Comparator getComparator(String attributeName) {
-		 Map map = getComparators();
-		 return (Comparator)map.get(attributeName);
-	}
-	
-	/**
-	 * Returns comparators, loading if required
-	 */
-	protected Map getComparators() {
-		initializeComparators();
-		return fComparators;
-	}	
-	
-	/**
-	 * Returns the launch configurations specified by the given
-	 * XML document.
-	 * 
-	 * @param root XML document
-	 * @return list of launch configurations
-	 * @exception IOException if an exception occurs reading the XML
-	 */	
-	protected List getConfigsFromXML(Element root) throws CoreException {
-		DebugException invalidFormat = 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchManager_Invalid_launch_configuration_index__18, null 
-				)
-			);		
-			
-		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();
-		Node node = null;
-		Element entry = null;
-		String memento = null;
-		for (int i = 0; i < length; ++i) {
-			node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				entry = (Element) node;
-				if (!entry.getNodeName().equals("launchConfiguration")) { //$NON-NLS-1$
-					throw invalidFormat;
-				}
-				memento = entry.getAttribute("memento"); //$NON-NLS-1$
-				if (memento == null) {
-					throw invalidFormat;
-				}
-				configs.add(getLaunchConfiguration(memento));
-			}
-		}
-		return configs;
-	}
-	
-	protected ConfigurationNotifier getConfigurationNotifier() {
-		return new ConfigurationNotifier();
-	}			
-	
-	/**
-	 * @see ILaunchManager#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		synchronized (fLaunches) {
-			List allTargets= new ArrayList(fLaunches.size());
-			if (fLaunches.size() > 0) {
-				Iterator e = fLaunches.iterator();
-				IDebugTarget[] targets = null;
-				while (e.hasNext()) {
-					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()]);
-		}
-	}
-	
-	/**
-	 * Returns the resource delta visitor for the launch manager.
-	 * 
-	 * @return the resource delta visitor for the launch manager
-	 */
-	private LaunchManagerVisitor getDeltaVisitor() {
-	    if (fgVisitor == null) {
-			fgVisitor= new LaunchManagerVisitor();
-		}
-	    return fgVisitor;
-	}
-	
-	/**
-	 * Returns the resource delta visitor for auto-removal of mapped launch configurations
-	 * @return the resource delta visitor for auto-removal of mapped launch configurations
-	 * 
-	 * @since 3.4
-	 */
-	private MappedResourceVisitor getMappedResourceVisitor() {
-		if(fgMRVisitor == null) {
-			fgMRVisitor = new MappedResourceVisitor();
-		}
-		return fgMRVisitor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getEnvironment(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException {
-		Map configEnv = configuration.getAttribute(ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-		if (configEnv == null) {
-			return null;
-		}
-		Map env = new HashMap();
-		// build base environment
-		boolean append = configuration.getAttribute(ATTR_APPEND_ENVIRONMENT_VARIABLES, true);
-		if (append) {
-			env.putAll(getNativeEnvironmentCasePreserved());
-		}
-		
-		// Add variables from config
-		Iterator iter= configEnv.entrySet().iterator();
-		boolean win32= Platform.getOS().equals(Constants.OS_WIN32);
-		Map.Entry entry = null;
-		String key = null;
-		String value = null;
-		Object nativeValue = null;
-		Iterator envIter = null;
-		Map.Entry nativeEntry = null;
-		String nativeKey = null;
-		while (iter.hasNext()) {
-			entry = (Map.Entry) iter.next();
-			key = (String) entry.getKey();
-            value = (String) entry.getValue();
-            // translate any string substitution variables
-            if (value != null) {
-                value = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
-            }
-            boolean added= false;
-			if (win32) {
-                // First, check if the key is an exact match for an existing key.
-				nativeValue = env.get(key);
-                if (nativeValue != null) {
-                    // If an exact match is found, just replace the value
-                    env.put(key, value);
-                } else {
-                    // Win32 variables are case-insensitive. If an exact match isn't found, iterate to
-                    // check for a case-insensitive match. We maintain the key's case (see bug 86725),
-                    // but do a case-insensitive comparison (for example, "pAtH" will still override "PATH").
-                    envIter = env.entrySet().iterator();
-                    while (envIter.hasNext()) {
-                        nativeEntry = (Map.Entry) envIter.next();
-                        nativeKey = (String) (nativeEntry).getKey();
-                        if (nativeKey.equalsIgnoreCase(key)) {
-                            nativeEntry.setValue(value);
-                            added = true;
-                            break;
-                        }
-                    }
-                }
-			}
-            if (!added) {
-                env.put(key, value);
-            }
-		}		
-		
-		iter = env.entrySet().iterator();
-		List strings = new ArrayList(env.size());
-		StringBuffer buffer = null;
-		while (iter.hasNext()) {
-			entry = (Map.Entry) iter.next();
-			buffer = new StringBuffer((String) entry.getKey());
-			buffer.append('=').append((String) entry.getValue());
-			strings.add(buffer.toString());
-		}
-		return (String[]) strings.toArray(new String[strings.size()]);
-	}
-	
-	/**
-	 * 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 BufferedInputStream(new FileInputStream(file));
-					} else {
-						IFile file = ((LaunchConfiguration) config).getFile();
-						if (file == null) {
-							throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager_30, new String[] {config.getName()}), null); 
-						}
-						stream = file.getContents(true);
-					}
-					info = createInfoFromXML(stream);
-					synchronized (this) {
-						fLaunchConfigurations.put(config, info);
-					}
-				} catch (FileNotFoundException e) {
-					throwException(config, e);					
-				} catch (SAXException e) {
-					throwException(config, e);					
-				} catch (ParserConfigurationException e) {
-					throwException(config, e);					
-				} catch (IOException e) {
-					throwException(config, e);					
-				} finally {
-					if (stream != null) {
-						try {
-							stream.close();
-						} catch (IOException e) {
-							throwException(config, e);					
-						}
-					}
-				}
-		
-			} else {
-				throw createDebugException(
-					MessageFormat.format(DebugCoreMessages.LaunchManager_does_not_exist, new String[]{config.getName(), config.getLocation().toOSString()}), null); 
-			}
-		}
-		return info;
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(IFile)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(IFile file) {
-		hookResourceChangeListener();				
-		return new LaunchConfiguration(file.getLocation());
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {
-		hookResourceChangeListener();
-		return new LaunchConfiguration(memento);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations()
-	 */
-	public synchronized ILaunchConfiguration[] getLaunchConfigurations() {
-		List allConfigs = getAllLaunchConfigurations();
-		return (ILaunchConfiguration[])allConfigs.toArray(new ILaunchConfiguration[allConfigs.size()]);
-	}	
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations(ILaunchConfigurationType)
-	 */
-	public synchronized ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		ILaunchConfiguration config = null;
-		while (iter.hasNext()) {
-			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 synchronized List getLaunchConfigurations(IProject project) {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		ILaunchConfiguration config = null;
-		IFile file = null;
-		while (iter.hasNext()) {
-			config = (ILaunchConfiguration)iter.next();
-			file = config.getFile();
-			if (file != null && file.getProject().equals(project)) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationType(String)
-	 */
-	public ILaunchConfigurationType getLaunchConfigurationType(String id) {
-		ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
-		for(int i = 0; i < types.length; i++) {
-			if (types[i].getIdentifier().equals(id)) {
-				return types[i];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationTypes()
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes() {
-		initializeLaunchConfigurationTypes();
-		return (ILaunchConfigurationType[])fLaunchConfigurationTypes.toArray(new ILaunchConfigurationType[fLaunchConfigurationTypes.size()]);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunches()
-	 */
-	public ILaunch[] getLaunches() {
-		synchronized (fLaunches) {
-			return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);
-		}
-	}
-	
-	/**)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchMode(java.lang.String)
-	 */
-	public ILaunchMode getLaunchMode(String mode) {
-		initializeLaunchModes();
-		return (ILaunchMode) fLaunchModes.get(mode);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchModes()
-	 */
-	public ILaunchMode[] getLaunchModes() {
-		initializeLaunchModes();
-		Collection collection = fLaunchModes.values();
-		return (ILaunchMode[]) collection.toArray(new ILaunchMode[collection.size()]);
-	}
-	
-	/**
-	 * Returns all of the launch delegates. The returned listing of delegates cannot be directly used to launch,
-	 * instead the method <code>IlaunchDelegate.getDelegate</code> must be used to acquire an executable form of
-	 * the delegate, allowing us to maintain lazy loading of the delegates themselves.
-	 * @return all of the launch delegates
-	 * 
-	 * @since 3.3
-	 */
-	public ILaunchDelegate[] getLaunchDelegates() {
-		initializeLaunchDelegates();
-		Collection col = fLaunchDelegates.values();
-		return (ILaunchDelegate[]) col.toArray(new ILaunchDelegate[col.size()]);
-	}
-	
-	/**
-	 * Returns the listing of launch delegates that apply to the specified 
-	 * <code>ILaunchConfigurationType</code> id
-	 * @param typeid the id of the launch configuration type to get delegates for 
-	 * @return An array of <code>LaunchDelegate</code>s that apply to the specified launch configuration
-	 * type, or an empty array, never <code>null</code>
-	 * 
-	 * @since 3.3
-	 */
-	public LaunchDelegate[] getLaunchDelegates(String typeid) {
-		initializeLaunchDelegates();
-		ArrayList list = new ArrayList();
-		LaunchDelegate ld = null;
-		for(Iterator iter = fLaunchDelegates.keySet().iterator(); iter.hasNext();) {
-			ld = (LaunchDelegate) fLaunchDelegates.get(iter.next());
-			if(ld.getLaunchConfigurationTypeId().equals(typeid)) {
-				list.add(ld);
-			}
-		}
-		return (LaunchDelegate[]) list.toArray(new LaunchDelegate[list.size()]);
-	}
-	
-	/**
-	 * This method returns the <code>ILaunchDelegate</code> instance corresponding to the id 
-	 * of the launch delegate specified
-	 * @param id the id of the <code>ILaunchDelegate</code> to find 
-	 * @return the <code>ILaunchDelegate</code> or <code>null</code> if not found
-	 * 
-	 * @since 3.3
-	 */
-	public ILaunchDelegate getLaunchDelegate(String id) {
-		if(id != null) {
-			ILaunchDelegate[] delegates = getLaunchDelegates();
-			for(int i = 0; i < delegates.length; i++) {
-				if(id.equals(delegates[i].getId())) {
-					return delegates[i];
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Initializes the listing of delegates available to the launching framework
-	 * 
-	 * @since 3.3
-	 */
-	private synchronized void initializeLaunchDelegates() {
-		if(fLaunchDelegates == null) {
-			fLaunchDelegates = new HashMap();
-			//get all launch delegate contributions
-			IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_DELEGATES);
-			IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
-			LaunchDelegate delegate = null;
-			for(int i = 0; i < infos.length; i++) {
-				delegate = new LaunchDelegate(infos[i]);
-				fLaunchDelegates.put(delegate.getId(), delegate);
-			}
-			//get all delegates from launch configuration type contributions
-			extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
-			infos = extensionPoint.getConfigurationElements();
-			for(int i = 0; i < infos.length; i++) {
-				//must check to see if delegate is provided in contribution
-				if(infos[i].getAttribute(IConfigurationElementConstants.DELEGATE) != null) {
-					delegate = new LaunchDelegate(infos[i]);
-					fLaunchDelegates.put(delegate.getId(), delegate);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * This method is used to initialize a simple listing of all preferred delegates, which is then used by each
-	 * <code>ILaunchConfigurationType</code> to find if they have preferred delegates. Once an <code>ILaunchConfigurationType</code>
-	 * has used this listing to initialize its preferred delegates it will maintain changes to its preferred delegate, which are 
-	 * then written back to the preference store only when the launch manager shuts down.
-	 * <p>
-	 * This cache is not synchronized with the runtime preferred delegates stored in launch configuration types.
-	 * </p>
-	 * @since 3.3
-	 */
-	private synchronized void initializePreferredDelegates() {
-		if(fPreferredDelegates == null) {
-			fPreferredDelegates = new HashSet();
-			Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
-			String preferred = prefs.getString(LaunchManager.PREF_PREFERRED_DELEGATES);
-			if(!EMPTY_STRING.equals(preferred)) {
-				try {
-					Element root = DebugPlugin.parseDocument(preferred);
-					NodeList nodes = root.getElementsByTagName(IConfigurationElementConstants.DELEGATE);
-					Element element = null;
-					String typeid = null;
-					Set modeset = null;
-					List modesets = null;
-					LaunchDelegate[] extensions = null;
-					ILaunchDelegate delegate = null;
-					for(int i = 0; i < nodes.getLength(); i++) {
-						element = (Element) nodes.item(i);
-						typeid = element.getAttribute(IConfigurationElementConstants.TYPE_ID);
-						extensions = getLaunchDelegates(typeid);
-						for(int j = 0; j < extensions.length; j++) {
-							if(element.getAttribute(IConfigurationElementConstants.ID).equals(extensions[j].getId())) { 
-								modesets = extensions[j].getModes();
-								String[] modes = element.getAttribute(IConfigurationElementConstants.MODES).split(","); //$NON-NLS-1$
-								modeset = new HashSet(Arrays.asList(modes));
-								if(modesets.contains(modeset)) {
-									delegate = extensions[j]; 
-									break;
-								}
-							}
-						}
-						//take type id, modeset, delegate and create entry
-						if(delegate != null & !EMPTY_STRING.equals(typeid) & modeset != null) {
-							fPreferredDelegates.add(new PreferredDelegate(delegate, typeid, modeset));
-						}
-						delegate = null;
-					}
-				}
-				catch (CoreException e) {DebugPlugin.log(e);} 
-			}
-		}
-	}
-	
-	/**
-	 * Allows internal access to a preferred delegate for a given type and mode set
-	 * @param typeid the id of the <code>ILaunchConfigurationType</code> to find a delegate for
-	 * @param modes the set of modes for the delegate
-	 * @return the preferred delegate for the specified type id and mode set, or <code>null</code> if none
-	 * 
-	 * @since 3.3
-	 */
-	protected ILaunchDelegate getPreferredDelegate(String typeid, Set modes) {
-		initializePreferredDelegates();
-		PreferredDelegate pd = null;
-		for(Iterator iter = fPreferredDelegates.iterator(); iter.hasNext();) {
-			pd = (PreferredDelegate) iter.next();
-			if(pd.getModes().equals(modes) & pd.getTypeId().equals(typeid)) {
-				return pd.getDelegate();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns all launch configurations that are stored locally.
-	 * 
-	 * @return collection of launch configurations stored locally
-	 */
-	protected synchronized List getLocalLaunchConfigurations() {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		ILaunchConfiguration config = null;
-		while (iter.hasNext()) {
-			config = (ILaunchConfiguration)iter.next();
-			if (config.isLocal()) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}
-	
-	/**
-	 * Returns the launch configurations mapping to the specified resource
-	 * @param resource the resource to collect mapped launch configurations for
-	 * @return a list of launch configurations if found or an empty list, never null
-	 * @since 3.2
-	 */
-	public ILaunchConfiguration[] getMappedConfigurations(IResource resource) {
-		List configurations = new ArrayList();
-		try {
-			ILaunchConfiguration[] configs = getLaunchConfigurations();
-			IResource[] resources = null;
-			for(int i = 0; i < configs.length; i++) {
-				resources = configs[i].getMappedResources();
-				if(resources != null) {
-					for(int j = 0; j < resources.length; j++) {
-						if(resources[j].equals(resource)) {
-							configurations.add(configs[i]);
-						}
-					}
-				}
-			}
-		}
-		catch(CoreException e) {DebugPlugin.log(e);}
-		return (ILaunchConfiguration[])configurations.toArray(new ILaunchConfiguration[configurations.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getMigrationCandidates()
-	 */
-	public ILaunchConfiguration[] getMigrationCandidates() throws CoreException {
-		List configs = new ArrayList();
-		ILaunchConfiguration[] candidates = getLaunchConfigurations();
-		for(int i = 0; i < candidates.length; i++) {
-			if(candidates[i].isMigrationCandidate()) {
-				configs.add(candidates[i]);
-			}
-		}
-		return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);
-	}
-	
-	/**
-	 * @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;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironment()
-	 */
-	public synchronized Map getNativeEnvironment() {
-		if (fgNativeEnv == null) {
-			Map casePreserved = getNativeEnvironmentCasePreserved();
-			if (Platform.getOS().equals(Constants.OS_WIN32)) {
-				fgNativeEnv= new HashMap();
-				Iterator entries = casePreserved.entrySet().iterator();
-				Map.Entry entry = null;
-				String key = null;
-				while (entries.hasNext()) {
-					entry = (Entry) entries.next();
-					key = ((String)entry.getKey()).toUpperCase();
-					fgNativeEnv.put(key, entry.getValue());
-				}
-			} else {
-				fgNativeEnv = new HashMap(casePreserved);
-			}
-		}
-		return new HashMap(fgNativeEnv);
-	}		
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironmentCasePreserved()
-	 */
-	public synchronized Map getNativeEnvironmentCasePreserved() {
-		if (fgNativeEnvCasePreserved == null) {
-			fgNativeEnvCasePreserved= new HashMap();
-			cacheNativeEnvironment(fgNativeEnvCasePreserved);
-		}
-		return new HashMap(fgNativeEnvCasePreserved);
-	}
-	
-	/**
-	 * @see ILaunchManager#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		synchronized (fLaunches) {
-			List allProcesses = new ArrayList(fLaunches.size());
-			Iterator e = fLaunches.iterator();
-			IProcess[] processes = null;
-			while (e.hasNext()) {
-				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()]);
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerType(java.lang.String)
-	 */
-	public ISourceContainerType getSourceContainerType(String id) {
-		initializeSourceContainerTypes();
-		return (ISourceContainerType) sourceContainerTypes.get(id);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerTypes()
-	 */
-	public ISourceContainerType[] getSourceContainerTypes() {
-		initializeSourceContainerTypes();
-		Collection containers = sourceContainerTypes.values();
-		return (ISourceContainerType[]) containers.toArray(new ISourceContainerType[containers.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#newSourcePathComputer(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException {
-		String id = null;
-		id = configuration.getAttribute(ISourcePathComputer.ATTR_SOURCE_PATH_COMPUTER_ID, (String)null);
-		
-		if (id == null) {
-			//use default computer for configuration type, if any			
-			return configuration.getType().getSourcePathComputer();							
-		}
-		return getSourcePathComputer(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourcePathComputer(java.lang.String)
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id) {
-		initializeSourceContainerTypes();
-		return (ISourcePathComputer) sourcePathComputers.get(id);
-	}
-
-	/**
-     * Starts listening for resource change events
-     */
-    private synchronized void hookResourceChangeListener() {
-        if (!fListening) {
-        	ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
-            fListening = true;
-        }
-    }
-	
-	/**
-	 * Load comparator extensions.
-	 */
-	private synchronized void initializeComparators() {
-		if (fComparators == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fComparators = new HashMap(infos.length);
-			IConfigurationElement configurationElement = null;
-			String attr = null;
-			for (int i= 0; i < infos.length; i++) {
-				configurationElement = infos[i];
-				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("Invalid launch configuration comparator extension defined by plug-in {0} - attribute not specified.", new String[] {configurationElement.getContributor().getName()}), null);  //$NON-NLS-1$
-					DebugPlugin.log(s);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Initializes the listing of <code>LaunchConfigurationType</code>s.
-	 */
-	private synchronized void initializeLaunchConfigurationTypes() {
-		if (fLaunchConfigurationTypes == null) {
-			hookResourceChangeListener();
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
-			IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
-			fLaunchConfigurationTypes = new ArrayList(infos.length);
-			for (int i= 0; i < infos.length; i++) {		
-				fLaunchConfigurationTypes.add(new LaunchConfigurationType(infos[i]));
-			}
-		}
-	}
-	
-	/**
-	 * Load comparator extensions.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 *  
-	 */
-	private synchronized void initializeLaunchModes() {
-		if (fLaunchModes == null) {
-			try {
-				IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_MODES);
-				IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-				fLaunchModes = new HashMap();
-				ILaunchMode mode = null;
-				for (int i= 0; i < infos.length; i++) {
-					mode = new LaunchMode(infos[i]);
-					fLaunchModes.put(mode.getIdentifier(), mode);
-				}
-			} 
-			catch (CoreException e) {DebugPlugin.log(e);}
-		}
-	}
-	
-	/**
-	 * Initializes source container type and source path computer extensions.
-	 */
-	private synchronized void initializeSourceContainerTypes() {
-		if (sourceContainerTypes == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_CONTAINER_TYPES);
-			IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-			sourceContainerTypes = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourceContainerTypes.put(
-						extensions[i].getAttribute(IConfigurationElementConstants.ID),
-						new SourceContainerType(extensions[i]));
-			}
-			extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_PATH_COMPUTERS);
-			extensions = extensionPoint.getConfigurationElements();
-			sourcePathComputers = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourcePathComputers.put(
-						extensions[i].getAttribute(IConfigurationElementConstants.ID),
-						new SourcePathComputer(extensions[i]));
-			}
-		}
-	}
-
-	/**
-	 * Register source locators.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private synchronized void initializeSourceLocators() {
-		if (fSourceLocators == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_LOCATORS);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-			fSourceLocators= new HashMap(infos.length);
-			IConfigurationElement configurationElement = null;
-			String id = null;
-			for (int i= 0; i < infos.length; i++) {
-				configurationElement = infos[i];
-				id = configurationElement.getAttribute(IConfigurationElementConstants.ID);			
-				if (id != null) {
-					fSourceLocators.put(id,configurationElement);
-				} else {
-					// invalid status handler
-					IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-					MessageFormat.format("Invalid source locator extension defined by plug-in \"{0}\": \"id\" not specified.", new String[] {configurationElement.getContributor().getName()} ), null);   //$NON-NLS-1$
-					DebugPlugin.log(s);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 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) {
-		// ensure the step filter manager is created on the first launch
-		getStepFilterManager();
-		synchronized (fLaunches) {
-			if (fLaunches.contains(launch)) {
-				return false;
-			}
-			fLaunches.add(launch);
-			fLaunchSet.add(launch);
-			return true;
-		}
-	}
-
-	/**
-	 * Removes the given launch object from the collection of registered
-	 * launches. Returns whether the launch was removed.
-	 * 
-	 * @param launch the launch to remove
-	 * @return whether the launch was removed
-	 */
-	protected boolean internalRemoveLaunch(ILaunch launch) {
-		if (launch == null) {
-			return false;
-		}
-		synchronized (fLaunches) {
-			fLaunchSet.remove(launch);
-			return fLaunches.remove(launch);
-		}
-	}
-	/**
-	 * @see ILaunchManager#isExistingLaunchConfigurationName(String)
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) {
-		String[] sortedConfigNames = getAllSortedConfigNames();
-		int index = Arrays.binarySearch(sortedConfigNames, name);
-		if (index < 0) {
-			return false;
-		} 
-		return true;
-	}
-	
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * Returns whether the user has selected to delete associated configurations when a
-	 * project is deleted.
-	 * 
-	 * @return whether to auto-delete configurations
-	 */
-	private boolean isDeleteConfigurations() {
-		return DebugPlugin.getDefault().getPluginPreferences().getBoolean(PREF_DELETE_CONFIGS_ON_PROJECT_DELETE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#isRegistered(org.eclipse.debug.core.ILaunch)
-	 */
-	public boolean isRegistered(ILaunch launch) {
-		synchronized (fLaunches) {
-			return fLaunchSet.contains(launch);
-		}
-	}
-
-	/**
-	 * Returns whether the given launch configuration passes a basic
-	 * integrity test by retrieving its type.
-	 * 
-	 * @param config the configuration to verify
-	 * @return whether the config meets basic integrity constraints
-	 */
-	protected boolean isValid(ILaunchConfiguration config) {
-		try {
-			config.getType();
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE) {
-				// only log warnings due to something other than a missing
-				// launch config type
-				DebugPlugin.log(e);
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been added. The configuration is added to the index of
-	 * configurations by project, and listeners are notified.
-	 * 
-	 * @param config the launch configuration that was added
-	 */
-	protected void launchConfigurationAdded(ILaunchConfiguration config) {
-		if (config.isWorkingCopy()) {
-			return;
-		}
-		if (isValid(config)) {		
-			boolean added = false;
-			synchronized (this) {
-				List allConfigs = getAllLaunchConfigurations();
-				if (!allConfigs.contains(config)) {
-					allConfigs.add(config);
-					added = true;
-				}				
-			}
-			if (added) {
-				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) {
-		synchronized(this) {
-			fLaunchConfigurations.remove(config);
-		}
-		clearConfigNameCache();
-		if (isValid(config)) {
-			// in case the config has been refreshed and it was removed from the
-			// index due to 'out of synch with local file system' (see bug 36147),
-			// add it back (will only add if required)
-			launchConfigurationAdded(config);
-			getConfigurationNotifier().notify(config, CHANGED);
-		} else {
-			launchConfigurationDeleted(config);
-		}								
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been deleted. The configuration is removed from the
-	 * cache of info 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) {
-		synchronized (this) {
-			fLaunchConfigurations.remove(config);
-			getAllLaunchConfigurations().remove(config);			
-		}
-		getConfigurationNotifier().notify(config, REMOVED);
-		clearConfigNameCache();			
-	}
-	
-	/**
-	 * @see ILaunchManager#newSourceLocator(String)
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {
-		initializeSourceLocators();
-		IConfigurationElement config = (IConfigurationElement)fSourceLocators.get(identifier);
-		if (config == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-				MessageFormat.format(DebugCoreMessages.LaunchManager_Source_locator_does_not_exist___0__13, new String[] {identifier} ), null)); 
-		} 
-		IPersistableSourceLocator sourceLocator = (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$
-		if (sourceLocator instanceof AbstractSourceLookupDirector) {
-			((AbstractSourceLookupDirector)sourceLocator).setId(identifier);
-		}
-		return sourceLocator;
-	}
-	
-	/**
-	 * The specified project has just closed - remove its
-	 * launch configurations from the cached index.
-	 * 
-	 * @param project the project that has been closed
-	 * @exception CoreException if writing the index fails
-	 */
-	protected void projectClosed(IProject project) {
-		List configs = getLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				launchConfigurationDeleted((ILaunchConfiguration)iterator.next());
-			}
-		}
-		//bug 12134
-		terminateMappedConfigurations(project);
-	}
-	
-	/**
-	 * The specified project has just opened - add all launch
-	 * configs in the project to the index of all configs.
-	 * 
-	 * @param project the project that has been opened
-	 * @exception CoreException if reading the index fails
-	 */
-	protected void projectOpened(IProject project) {
-		List configs = findLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				launchConfigurationAdded((ILaunchConfiguration) iterator.next());
-			}			
-		}
-	}
-	
-	/**
-	 * @see ILaunchManager#removeLaunch(ILaunch)
-	 */
-	public void removeLaunch(final ILaunch launch) {
-		if (internalRemoveLaunch(launch)) {
-			fireUpdate(launch, REMOVED);
-			fireUpdate(new ILaunch[] {launch}, REMOVED);
-		}
-	}
-	
-	/**
-	 * @see ILaunchManager#removeLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.remove(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);
-	}
-	
-	/**
-	 * @see ILaunchManager#removeLaunchListener(ILaunchListener)
-	 */
-	public void removeLaunchListener(ILaunchListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Traverses the delta looking for added/removed/changed launch
-	 * configuration files.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta = event.getDelta();
-		if (delta == null) {
-		    // pre-delete
-		    LaunchManagerVisitor visitor = getDeltaVisitor();
-		    IResource resource = event.getResource();
-		    if (resource instanceof IProject) {
-                IProject project = (IProject) resource;
-                visitor.preDelete(project);
-            }
-		} else {
-		    LaunchManagerVisitor visitor = getDeltaVisitor();
-		    MappedResourceVisitor v = null;
-		    if (isDeleteConfigurations()) {
-		    	v = getMappedResourceVisitor();
-		    }
-		    try {
-		    	delta.accept(visitor);
-		    	if (v != null) {
-		    		delta.accept(v);
-		    	}
-		    } catch (CoreException e) {
-		    	DebugPlugin.log(e.getStatus());
-		    }
-			visitor.reset();
-		}
-	}
-	
-	/**
-	 * Gets the launch configuration associated with the specified <code>IResource</code>.
-	 * This method relies on the resource mapping existing, if no such mapping 
-	 * exists the launch configuration is ignored.
-	 * 
-	 * @param resource the resource to collect launch configurations for
-	 * @return the list of associated launch configurations
-	 */
-	private ArrayList collectAssociatedLaunches(IResource resource) {
-		ArrayList list = new ArrayList();
-		try { 
-			ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			IResource[] resources = null;
-			for(int i = 0; i < configs.length; i++) {
-				if(configs[i].isLocal()) {
-					resources = configs[i].getMappedResources();
-					if(resources != null) {
-						for(int j = 0; j < resources.length; j++){
-							if(resource.equals(resources[j]) || 
-									resource.getFullPath().isPrefixOf(resources[j].getFullPath())) {
-								list.add(configs[i]);
-							}
-						}
-					}
-				}
-			}
-		} catch (CoreException e) {
-		    DebugPlugin.log(e);
-        }
-		return list;
-	}
-	
-	/**
-	 * 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;
-	}
-	/**
-	 * Terminates/Disconnects any active debug targets/processes.
-	 * Clears launch configuration types.
-	 */
-	public void shutdown() {
-		fListeners = new ListenerList();
-        fLaunchesListeners = new ListenerList();
-        fLaunchConfigurationListeners = new ListenerList();
-		ILaunch[] launches = getLaunches();
-		ILaunch launch = null;
-		for (int i= 0; i < launches.length; i++) {
-			launch = launches[i];
-			try {
-                if (launch instanceof IDisconnect) {
-                    IDisconnect disconnect = (IDisconnect)launch;
-                    if (disconnect.canDisconnect()) {
-                        disconnect.disconnect();
-                    }
-                }
-                if (launch.canTerminate()) {
-                    launch.terminate();
-                }
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		
-		persistPreferredLaunchDelegates();
-		clearAllLaunchConfigurations();
-		fStepFilterManager = null;
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-
-	/**
-	 * Saves the listings of preferred launch delegates from all of the launch configuration types
-	 * 
-	 * @since 3.3
-	 */
-	private void persistPreferredLaunchDelegates() {
-		Preferences prefs = DebugPlugin.getDefault().getPluginPreferences();
-		try {
-			Document doc = DebugPlugin.newDocument();
-			Element root = doc.createElement(IConfigurationElementConstants.PREFERRED_DELEGATES);
-			doc.appendChild(root);
-			ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
-			Map preferred = null;
-			Element child = null;
-			ILaunchDelegate delegate = null;
-			Set modes = null;
-			String modestr = EMPTY_STRING;
-			for(int i = 0; i < types.length; i++) {
-				preferred = ((LaunchConfigurationType)types[i]).getPreferredDelegates();
-				if(preferred != null && preferred.size() > 0) {
-					for(Iterator iter = preferred.keySet().iterator(); iter.hasNext();) {
-						modes = (Set) iter.next();
-						delegate = (ILaunchDelegate) preferred.get(modes);
-						if(delegate != null) {
-							child = doc.createElement(IConfigurationElementConstants.DELEGATE);
-							child.setAttribute(IConfigurationElementConstants.ID, delegate.getId());
-							child.setAttribute(IConfigurationElementConstants.TYPE_ID, types[i].getIdentifier());
-							for(Iterator iter2 = modes.iterator(); iter2.hasNext();) {
-								modestr += iter2.next();
-								if(iter2.hasNext()) {
-									modestr += ","; //$NON-NLS-1$
-								}
-							}
-							child.setAttribute(IConfigurationElementConstants.MODES, modestr);
-							modestr = EMPTY_STRING;
-							root.appendChild(child);
-						}
-					}
-				}
-			}
-			String pref = null;
-			if(root.hasChildNodes()) {
-				pref = serializeDocument(doc);
-			}
-			if(pref != null) {
-				prefs.setValue(PREF_PREFERRED_DELEGATES, pref);
-			}
-		} 
-		catch (CoreException e) {DebugPlugin.log(e);}
-		catch (IOException ioe) {DebugPlugin.log(ioe);}
-		catch (TransformerException te) {DebugPlugin.log(te);}
-	}
-	
-	/**
-	 * finds and terminates any running launch configurations associated with the given resource
-	 * @param resource the resource to search for launch configurations and hence launches for
-	 * @since 3.2
-	 */
-	protected void terminateMappedConfigurations(IResource resource) {
-		ILaunch[] launches = getLaunches();
-		ILaunchConfiguration[] configs = getMappedConfigurations(resource);
-		try {
-			for(int i = 0; i < launches.length; i++) {
-				for(int j = 0; j < configs.length; j++) {
-					if(configs[j].equals(launches[i].getLaunchConfiguration()) & launches[i].canTerminate()) {
-						launches[i].terminate();
-					}
-				}
-			}
-		}
-		catch(CoreException e) {DebugPlugin.log(e);}
-	}
-	
-	/**
-	 * Throws a debug exception with the given throwable that occurred
-	 * while processing the given configuration.
-	 */
-	private void throwException(ILaunchConfiguration config, Throwable e) throws DebugException {
-		IPath path = config.getLocation();
-		throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1, new String[]{e.toString(), path.toOSString()}), e); 
-	}
-
-	/**
-	 * Verify basic integrity of launch configurations in the given list,
-	 * adding valid configurations to the collection of all launch configurations.
-	 * Exceptions are logged for invalid configurations.
-	 * 
-	 * @param verify the list of configurations to verify
-	 * @param valid the list to place valid configurations in
-	 */
-	protected void verifyConfigurations(List verify, List valid) {
-		Iterator configs = verify.iterator();
-		ILaunchConfiguration config = null;
-		while (configs.hasNext()) {
-			config = (ILaunchConfiguration)configs.next();
-			if (isValid(config)) {
-				valid.add(config);
-			}
-		}		
-	}
-	
-	/**
-	 * Returns the name of the given launch mode with accelerators removed,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id launch mode identifier
-	 * @return launch mode name with accelerators removed or <code>null</code>
-	 */
-	public String getLaunchModeName(String id) {
-		ILaunchMode launchMode = getLaunchMode(id);
-		if (launchMode != null) {
-			return removeAccelerators(launchMode.getLabel());
-		}
-		return null;
-	}
-	/**
-	 * Returns the label with any accelerators removed.
-	 * 
-	 * @param label label to process
-	 * @return label without accelerators
-	 */
-    public static String removeAccelerators(String label) {
-        String title = label;
-        if (title != null) {
-            // strip out any '&' (accelerators)
-            int index = title.indexOf('&');
-            if (index == 0) {
-                title = title.substring(1);
-            } else if (index > 0) {
-                //DBCS languages use "(&X)" format
-                if (title.charAt(index - 1) == '(' && title.length() >= index + 3 && title.charAt(index + 2) == ')') {
-                    String first = title.substring(0, index - 1);
-                    String last = title.substring(index + 3);
-                    title = first + last;
-                } else if (index < (title.length() - 1)) {
-                    String first = title.substring(0, index);
-                    String last = title.substring(index + 1);
-                    title = first + last;
-                }
-            }
-        }
-        return title;
-    }	
-    
-	/**
-	 * Returns the singleton step filter manager.
-	 * 
-	 * @return the step filter manager
-	 */
-	public synchronized StepFilterManager getStepFilterManager() {
-		if (fStepFilterManager == null) {
-			fStepFilterManager = new StepFilterManager();
-		}
-		return fStepFilterManager;
-	}    
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
deleted file mode 100644
index 48a25f6..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import com.ibm.icu.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchMode;
-
-/**
- * Proxy to a launch mode extension.
- * 
- * @see IConfigurationElementConstants
- */
-public class LaunchMode implements ILaunchMode {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	/**
-	 * Constructs a new launch mode.
-	 * 
-	 * @param element configuration element
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LaunchMode(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists(IConfigurationElementConstants.MODE);
-		verifyAttributeExists(IConfigurationElementConstants.LABEL);
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	/**
-	 * This method is used to create a new internal error describing that the specified attribute
-	 * is missing 
-	 * @param attrName the name of the attribute that is missing
-	 * @throws CoreException
-	 */
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LaunchMode_1,new String[]{attrName}), null));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return fConfigurationElement.getAttribute(IConfigurationElementConstants.MODE);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getLabel()
-	 */
-	public String getLabel() {
-		return fConfigurationElement.getAttribute(IConfigurationElementConstants.LABEL);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getLaunchAsLabel()
-	 */
-	public String getLaunchAsLabel() {
-		String label = fConfigurationElement.getAttribute(IConfigurationElementConstants.LAUNCH_AS_LABEL);
-		if (label == null) {
-			return MessageFormat.format(DebugCoreMessages.LaunchMode_0, new String[]{getLabel()});
-		}
-		return label;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
deleted file mode 100644
index 6f3fd03..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manages logical structure extensions
- * 
- * @since 3.0
- */
-public class LogicalStructureManager {
-
-	private static LogicalStructureManager fgDefault;
-	private List fTypes = null;
-	private List fTypeProviders;
-
-    /**
-     * Map containing the user's selection for each combination of logical
-     * structure types.
-     * key: String - Comma-separated list of ints representing a combination of structure types.
-     *               These integers are indeces into the fStructureTypeIds array.
-     * value: Integer - One of the ints from the combo key (the one chosen by the user) or -1 if
-     *                  the user has chosen not to display any structures for this combination
-     */
-    private Map fStructureTypeSelections= null;
-    /**
-     * List of known type identifiers. An identifier's index in this list is used as
-     * its ID number. This list is maintained as a space-saving measure so that the various
-     * combinations of structure types can be persisted using indeces instead of storing the
-     * full index strings.
-     */
-    private List fStructureTypeIds= null;
-    
-    /**
-     * Preference key used for storing the user's selected structure for each combination
-     * or structures. The preference value is stored in the form:
-     * int,int,...,int|int,int,...int|...
-     * Where int is an integer index of a structure in the array of known structures.
-     */
-    public static final String PREF_STRUCTURE_SELECTIONS= "selectedStructures"; //$NON-NLS-1$
-    /**
-     * Preference key used for storing the array of known structures. The preference
-     * value is in the form:
-     * string,string,string,...,string,
-     * Where string is an identifier of a logical structure.
-     */
-    public static final String PREF_STRUCTURE_IDS= "allStructures"; //$NON-NLS-1$
-	
-	public static LogicalStructureManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new LogicalStructureManager();
-		}
-		return fgDefault;
-	}
-	
-    /**
-     * Returns the logical structure types that are applicable to the given value.
-     * @param value the value
-     * @return the logical structure types that are applicable to the given value
-     */
-	public ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		initialize();
-		// looks in the logical structure types
-		Iterator iterator = fTypes.iterator();
-		List select = new ArrayList();
-		while (iterator.hasNext()) {
-			ILogicalStructureType type = (ILogicalStructureType)iterator.next();
-			if (type.providesLogicalStructure(value)) {
-				select.add(type);
-			}
-		}
-		// asks the logical structure providers
-		for (Iterator iter= fTypeProviders.iterator(); iter.hasNext();) {
-			ILogicalStructureType[] logicalStructures= ((LogicalStructureProvider) iter.next()).getLogicalStructures(value);
-			for (int i= 0; i < logicalStructures.length; i++) {
-				select.add(logicalStructures[i]);
-			}
-		}
-		return (ILogicalStructureType[]) select.toArray(new ILogicalStructureType[select.size()]);
-	}
-    
-    /**
-     * Loads the map of structure selections from the preference store.
-     */
-    private void loadStructureTypeSelections() {
-        fStructureTypeSelections= new HashMap();
-        String selections= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_SELECTIONS);
-    	// selections are stored in the form:
-    	// selection|selection|...selection|
-        StringTokenizer tokenizer= new StringTokenizer(selections, "|"); //$NON-NLS-1$
-        while (tokenizer.hasMoreTokens()) {
-            String selection = tokenizer.nextToken();
-            // selection string is of the form:
-            // id,id,...,selectedid
-            int i = selection.lastIndexOf(',');
-            if (i > 0 && i < selection.length() - 1) {
-                String comboKey= selection.substring(0, i + 1);
-                String selected= selection.substring(i + 1, selection.length());
-                fStructureTypeSelections.put(comboKey, new Integer(Integer.parseInt(selected)));
-            }
-        }
-    }
-    
-    /**
-     * Stores the map of structure selections to the preference store
-     */
-    private void storeStructureTypeSelections() {
-        StringBuffer buffer= new StringBuffer();
-        Iterator iter = fStructureTypeSelections.entrySet().iterator();
-        while (iter.hasNext()) {
-            Map.Entry entry = (Entry) iter.next();
-            buffer.append(entry.getKey());
-            buffer.append(entry.getValue());
-            buffer.append('|');
-        }
-        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_SELECTIONS, buffer.toString());
-    }
-    
-    /**
-     * Loads the collection of known structures identifiers from the preference store
-     */
-    private void loadStructureTypeIds() {
-        fStructureTypeIds= new ArrayList();
-    	// Types are stored as a comma-separated, ordered list.
-        String types= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_STRUCTURE_IDS);
-        StringTokenizer tokenizer= new StringTokenizer(types, ","); //$NON-NLS-1$
-        while (tokenizer.hasMoreTokens()) {
-            String id= tokenizer.nextToken();
-            if (id.length() > 0) {
-                fStructureTypeIds.add(id);
-            }
-        }
-    }
-    
-    /**
-     * Stores the collection of known structure identifiers to the preference store
-     */
-    private void storeStructureTypeIds() {
-        StringBuffer buffer= new StringBuffer();
-        Iterator iter = fStructureTypeIds.iterator();
-        while (iter.hasNext()) {
-            buffer.append(iter.next()).append(',');
-        }
-        DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_STRUCTURE_IDS, buffer.toString());
-    }
-    
-    /**
-     * Returns the structure that the user has chosen from among the given
-     * collection of structures or <code>null</code> if the user has chosen
-     * to display none.
-     * @param structureTypes the collection of structures available
-     * @return the structure that the user has chosen from among the given collection
-     *  or <code>null</code> if the user has chosen to display none
-     */
-    public ILogicalStructureType getSelectedStructureType(ILogicalStructureType[] structureTypes) {
-        if (structureTypes.length == 0) {
-            return null;
-        }
-        String combo= getComboString(structureTypes);
-        // Lookup the combo
-        Integer index = (Integer) fStructureTypeSelections.get(combo);
-        if (index == null) {
-            // If the user hasn't explicitly chosen anything for this
-            // combo yet, just return the first type.
-            return structureTypes[0];
-        } else if (index.intValue() == -1) {
-            // An index of -1 means the user has deselected all structures for this combo
-            return null;
-        }
-        // If an index is stored for this combo, retrieve the id at the index
-        String id= (String) fStructureTypeIds.get(index.intValue());
-        for (int i = 0; i < structureTypes.length; i++) {
-            // Return the type with the retrieved id
-            ILogicalStructureType type = structureTypes[i];
-            if (type.getId().equals(id)) {
-                return type;
-            }
-        }
-        return structureTypes[0];
-    }
-    
-    /**
-     * 
-     * @param types
-     * @param selected the type that is selected for the given combo or <code>null</code>
-     *  if the user has deselected any structure for the given combo
-     */
-    public void setEnabledType(ILogicalStructureType[] types, ILogicalStructureType selected) {
-        String combo= getComboString(types);
-        int index= -1; // Initialize to "none selected"
-        if (selected != null) {
-            index= fStructureTypeIds.indexOf(selected.getId());
-        }
-        Integer integer= new Integer(index);
-        fStructureTypeSelections.put(combo, integer);
-        storeStructureTypeSelections();
-        storeStructureTypeIds();
-    }
-    
-    /**
-     * Returns the string representing the given combination of logical
-     * structure types. This string will be a series of comma-separated
-     * indeces representing the various types. If any of the given types
-     * don't have indeces associated with them, this method will create
-     * the appropriate index.
-     * @param types the logical structure types
-     * @return the string representing the given combination of logical
-     *  structure types
-     */
-    protected String getComboString(ILogicalStructureType[] types) {
-        StringBuffer comboKey= new StringBuffer();
-        for (int i = 0; i < types.length; i++) {
-            ILogicalStructureType type = types[i];
-            int typeIndex = fStructureTypeIds.indexOf(type.getId());
-            if (typeIndex == -1) {
-                typeIndex= fStructureTypeIds.size();
-                fStructureTypeIds.add(type.getId());
-            }
-            comboKey.append(typeIndex).append(',');
-        }
-        return comboKey.toString();
-    }
-	
-	private synchronized void initialize() {
-		if (fTypes == null) {
-			//get the logical structure types from the extension points
-			IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES);
-			IConfigurationElement[] extensions = point.getConfigurationElements();
-			fTypes = new ArrayList(extensions.length);
-			for (int i = 0; i < extensions.length; i++) {
-				IConfigurationElement extension = extensions[i];
-				LogicalStructureType type;
-				try {
-					type = new LogicalStructureType(extension);
-					fTypes.add(type);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-			// get the logical structure providers from the extension point
-			point= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS);
-			extensions= point.getConfigurationElements();
-			fTypeProviders= new ArrayList(extensions.length);
-			for (int i= 0; i < extensions.length; i++) {
-				try {
-					fTypeProviders.add(new LogicalStructureProvider(extensions[i]));
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-		}
-        if (fStructureTypeSelections == null) {
-            loadStructureTypeSelections();
-        }
-        if (fStructureTypeIds == null) {
-            loadStructureTypeIds();
-        }
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
deleted file mode 100644
index 6aea4be..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureProvider;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manage logical structure provider extensions
- * 
- * @see IConfigurationElementConstants
- */
-public class LogicalStructureProvider {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private String fModelIdentifier;
-
-	private ILogicalStructureProvider fDelegate;
-
-	public LogicalStructureProvider(IConfigurationElement element) throws CoreException {
-		fConfigurationElement= element;
-		fModelIdentifier= fConfigurationElement.getAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER);
-		if (fModelIdentifier == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LogicalStructureProvider_0, null));
-		}
-		String className= fConfigurationElement.getAttribute(IConfigurationElementConstants.CLASS);
-		if (className == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LogicalStructureProvider_1, null));
-		}
-	}
-	
-	/**
-	 * Return the logical structure type able to provide a logical structure for
-	 * the given value.
-	 * 
-	 * @param value value for which structure types are requested
-	 * @return logical structure types
-	 */
-	public ILogicalStructureType[] getLogicalStructures(IValue value) {
-		if (fModelIdentifier.equals(value.getModelIdentifier())) {
-			return getDelegate().getLogicalStructureTypes(value);
-		}
-		return new ILogicalStructureType[0];
-	}
-
-	/**
-	 * Return the ILogicalStructureProvider for this extension.
-	 */
-	protected ILogicalStructureProvider getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILogicalStructureProvider) fConfigurationElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
deleted file mode 100644
index 95633f5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.*;
-
-/**
- * Proxy to a logical structure type extension.
- * 
- * @see IConfigurationElementConstants
- */
-public class LogicalStructureType implements ILogicalStructureType {
-
-	private IConfigurationElement fConfigurationElement;
-	private ILogicalStructureTypeDelegate fDelegate;
-	private String fModelId;
-	// whether the 'description' attribute has been verified to exist: it is only
-	// required when the delegate does *not* implement ILogicalStructureTypeDelegate2.
-	private boolean fVerifiedDescription = false; 
-	
-	/**
-	 * Constructs a new logical structure type, and verifies required attributes.
-	 * 
-	 * @param element configuration element
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LogicalStructureType(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists(IConfigurationElementConstants.ID);
-		verifyAttributeExists(IConfigurationElementConstants.CLASS);
-		fModelId = fConfigurationElement.getAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER); 
-		if (fModelId == null) {
-			missingAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER);
-		}
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	/**
-	 * Throws a new <code>CoreException</code> about the specified attribute being missing
-	 * @param attrName the name of the missing attribute
-	 * @throws CoreException
-	 */
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LogicalStructureType_1, new String[]{attrName}), null));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getDescription()
-	 */
-	public String getDescription() {
-		return fConfigurationElement.getAttribute(IConfigurationElementConstants.DESCRIPTION);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getId()
-	 */
-	public String getId() {
-		return fConfigurationElement.getAttribute(IConfigurationElementConstants.ID);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException {
-		return getDelegate().getLogicalStructure(value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#providesLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean providesLogicalStructure(IValue value) {
-		if (value.getModelIdentifier().equals(fModelId)) {
-			return getDelegate().providesLogicalStructure(value);
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the <code>ILogicalStructuresTypeDelegate</code> delegate
-	 * @return the delegate
-	 */
-	protected ILogicalStructureTypeDelegate getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILogicalStructureTypeDelegate) fConfigurationElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2#getDescription(org.eclipse.debug.core.model.IValue)
-	 */
-	public String getDescription(IValue value) {
-		ILogicalStructureTypeDelegate delegate = getDelegate();
-		if (delegate instanceof ILogicalStructureTypeDelegate2) {
-			ILogicalStructureTypeDelegate2 d2 = (ILogicalStructureTypeDelegate2) delegate;
-			return d2.getDescription(value);
-		}
-		if (!fVerifiedDescription) {
-		    fVerifiedDescription = true;
-		    try {
-                verifyAttributeExists(IConfigurationElementConstants.DESCRIPTION);
-            } catch (CoreException e) {
-                DebugPlugin.log(e);
-            }
-		}
-		String description = getDescription();
-		if (description == null) {
-		    return DebugCoreMessages.LogicalStructureType_0; 
-		}
-		return description;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
deleted file mode 100644
index 25a381d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *	   WindRiver - Bug 192028 [Memory View] Memory view does not 
- *                 display memory blocks that do not reference IDebugTarget
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.IMemoryBlockManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Implementation of IMemoryBlockManager
- * The manager is responsible to manage all memory blocks in the workbench.
- * 
- * @since 3.1
- * 
- */
-public class MemoryBlockManager implements IMemoryBlockManager, IDebugEventSetListener {
-	
-	private ArrayList listeners = new ArrayList();			// list of all IMemoryBlockListener
-	private ArrayList memoryBlocks = new ArrayList();	// list of all memory blocks 
-	
-	private static final int ADDED = 0;
-	private static final int REMOVED = 1;
-	/**
-	 * Notifies a memory block listener in a safe runnable to
-	 * handle exceptions.
-	 */
-	class MemoryBlockNotifier implements ISafeRunnable {
-		
-		private IMemoryBlockListener fListener;
-		private int fType;
-		private IMemoryBlock[] fMemoryBlocks;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.memoryBlocksAdded(fMemoryBlocks);
-					break;
-				case REMOVED:
-					fListener.memoryBlocksRemoved(fMemoryBlocks);
-					break;
-			}			
-		}
-
-		/**
-		 * Notify listeners of added/removed memory block events
-		 * 
-		 * @param memBlocks blocks that have changed
-		 * @param update type of change
-		 */
-		public void notify(IMemoryBlock[] memBlocks, int update) {
-			if (listeners != null) {
-				fType = update;
-				Object[] copiedListeners= listeners.toArray(new IMemoryBlockListener[listeners.size()]);
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IMemoryBlockListener)copiedListeners[i];
-					fMemoryBlocks = memBlocks;
-                    SafeRunner.run(this);
-				}			
-			}
-			fListener = null;
-			fMemoryBlocks = null;
-		}
-	}
-	
-	/**
-	 * Returns the <code>MemoryBlockNotifier</code>
-	 * @return the <code>MemoryBlockNotifier</code>
-	 * 
-	 * TODO consider using only one of these, and sync where needed, 
-	 * this way we are not creating a new every single time.
-	 */
-	private MemoryBlockNotifier getMemoryBlockNotifier() {
-		return new MemoryBlockNotifier();
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#addMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void addMemoryBlocks(IMemoryBlock[] mem) {
-		if (memoryBlocks == null) {
-			return;
-		}
-		if (mem == null) {
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}
-		
-		if(mem.length > 0) {
-			ArrayList newMemoryBlocks = new ArrayList();
-			for (int i=0; i<mem.length; i++) {
-				// do not allow duplicates
-				if (!memoryBlocks.contains(mem[i])) {
-					newMemoryBlocks.add(mem[i]);
-					memoryBlocks.add(mem[i]);
-					// add listener for the first memory block added
-					if (memoryBlocks.size() == 1) {
-						DebugPlugin.getDefault().addDebugEventListener(this);
-					}
-				}
-			}
-			notifyListeners((IMemoryBlock[])newMemoryBlocks.toArray(new IMemoryBlock[newMemoryBlocks.size()]), ADDED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#removeMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void removeMemoryBlocks(IMemoryBlock[] memBlocks) {
-		if (memoryBlocks == null) {
-			return;
-		}
-		if (memBlocks == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}		
-		
-		if(memBlocks.length > 0) {
-			for (int i=0; i<memBlocks.length; i++) {
-				memoryBlocks.remove(memBlocks[i]);
-				// remove listener after the last memory block has been removed
-				if (memoryBlocks.size() == 0) {
-					DebugPlugin.getDefault().removeDebugEventListener(this);
-				}
-				if (memBlocks[i] instanceof IMemoryBlockExtension) { 
-					try {
-						((IMemoryBlockExtension)memBlocks[i]).dispose();
-					} catch (DebugException e) {
-						DebugPlugin.log(e);
-					}
-				}
-			}
-			notifyListeners(memBlocks, REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#addListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void addListener(IMemoryBlockListener listener) {
-		
-		if(listeners == null) {
-			return;
-		}
-		if(listener == null) {
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addListener", null); //$NON-NLS-1$
-			return;
-		}
-		if (!listeners.contains(listener)) {
-			listeners.add(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#removeListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void removeListener(IMemoryBlockListener listener) {
-		
-		if(listeners == null) {
-			return;
-		}
-		if(listener == null) {
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeListener", null); //$NON-NLS-1$
-			return;
-		}
-		if (listeners.contains(listener)) {
-			listeners.remove(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IMemoryBlockManager#getMemoryBlocks()
-	 */
-	public IMemoryBlock[] getMemoryBlocks() {
-		return (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IDebugTarget)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget) {
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		ArrayList memoryBlocksList = new ArrayList();
-		for (int i=0; i<blocks.length; i++) {
-			if (blocks[i].getDebugTarget() == debugTarget) {
-				memoryBlocksList.add(blocks[i]);
-			}
-		}
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IMemoryBlockRetrieval)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval retrieve) {
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		ArrayList memoryBlocksList = new ArrayList(blocks.length);
-		for (int i=0; i<blocks.length; i++)	{
-			if (blocks[i] instanceof IMemoryBlockExtension)	{	
-				if (((IMemoryBlockExtension)blocks[i]).getMemoryBlockRetrieval() == retrieve) {	
-					memoryBlocksList.add(blocks[i]);
-				}
-			}
-			else {	
-				IMemoryBlockRetrieval mbRetrieval = (IMemoryBlockRetrieval)blocks[i].getAdapter(IMemoryBlockRetrieval.class);
-				
-				// standard memory block always uses the debug target as the memory block retrieval
-				if (mbRetrieval == null)
-					mbRetrieval = blocks[i].getDebugTarget();
-				
-				if (mbRetrieval == retrieve) {
-					memoryBlocksList.add(blocks[i]);
-				}
-			}
-		}
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-	}
-	
-	/**
-	 * Notifies the listeners about the given memory blocks and the event to be sent
-	 * @param memBlocks
-	 * @param event
-	 */
-	private void notifyListeners(IMemoryBlock[] memBlocks, int event) {
-		getMemoryBlockNotifier().notify(memBlocks, event);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i=0; i < events.length; i++) {
-			handleDebugEvent(events[i]);
-		}
-	}
-	
-	/**
-	 * Handles a debug event
-	 * @param event
-	 */
-	public void handleDebugEvent(DebugEvent event) {
-		Object obj = event.getSource();
-		IDebugTarget dt = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE) {
-			// a terminate event could happen from an IThread or IDebugTarget
-			// only handle a debug event from the debug target
-			if (obj instanceof IDebugTarget) {
-				dt = ((IDebugTarget)obj);
-				
-				// getMemoryBlocks will return an empty array if it is null
-				IMemoryBlock[] deletedMemoryBlocks = getMemoryBlocks(dt);
-				removeMemoryBlocks(deletedMemoryBlocks);
-			}
-		}
-	}
-	
-	/**
-	 * Clean up when the plugin is shut down
-	 */
-	public void shutdown() {
-		if (listeners != null) {
-			listeners.clear();
-			listeners = null;
-		}
-		
-		if (memoryBlocks != null) {
-			memoryBlocks.clear();
-			memoryBlocks = null;
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
deleted file mode 100644
index 5d0dab3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-public class NullStreamsProxy implements IStreamsProxy2 {
-    private NullStreamMonitor outputStreamMonitor;
-    private NullStreamMonitor errorStreamMonitor;
-    
-    public NullStreamsProxy(Process process) {
-        outputStreamMonitor = new NullStreamMonitor(process.getInputStream());
-        errorStreamMonitor = new NullStreamMonitor(process.getErrorStream());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
-     */
-    public void closeInputStream() throws IOException {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#getErrorStreamMonitor()
-     */
-    public IStreamMonitor getErrorStreamMonitor() {
-        return errorStreamMonitor;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#getOutputStreamMonitor()
-     */
-    public IStreamMonitor getOutputStreamMonitor() {
-        return outputStreamMonitor;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy#write(java.lang.String)
-     */
-    public void write(String input) throws IOException {
-    }
-
-    private class NullStreamMonitor implements IStreamMonitor {
-        private InputStream fStream;
-
-        public NullStreamMonitor(InputStream stream) {
-            fStream = stream;
-            startReaderThread();
-        }
-
-        private void startReaderThread() {
-            Thread thread = new Thread(new Runnable() {
-                public void run() {
-                    byte[] bytes = new byte[1024];
-                    try {
-                        while(fStream.read(bytes) >= 0) {
-                            //do nothing
-                        }
-                    } catch (IOException e) {
-                    }
-                }
-            }, DebugCoreMessages.NullStreamsProxy_0); 
-            thread.setDaemon(true);
-            thread.start();
-            
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-         */
-        public void addListener(IStreamListener listener) {    
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-         */
-        public String getContents() {
-            return ""; //$NON-NLS-1$
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-         */
-        public void removeListener(IStreamListener listener) {
-        }
-    }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
deleted file mode 100644
index c5fa6da..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-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();
-	
-	/**
-	 * Whether content is being buffered
-	 */
-	private boolean fBuffered = true;
-
-	/**
-	 * The local copy of the stream contents
-	 */
-	private StringBuffer fContents;
-
-	/**
-	 * The thread which reads from the stream
-	 */
-	private Thread fThread;
-
-	/**
-	 * The size of the read buffer
-	 */
-	private static final int BUFFER_SIZE= 8192;
-
-	/**
-	 * Whether or not this monitor has been killed.
-	 * When the monitor is killed, it stops reading
-	 * from the stream immediately.
-	 */
-	private boolean fKilled= false;
-	
-    private long lastSleep;
-
-	private String fEncoding;
-    
-	/**
-	 * Creates an output stream monitor on the
-	 * given stream (connected to system out or err).
-	 * 
-	 * @param stream input stream to read from
-	 * @param encoding stream encoding or <code>null</code> for system default
-	 */
-	public OutputStreamMonitor(InputStream stream, String encoding) {
-        fStream = new BufferedInputStream(stream, 8192);
-        fEncoding = encoding;
-		fContents= new StringBuffer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public synchronized void addListener(IStreamListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Causes the monitor to close all
-	 * communications between it and the
-	 * underlying stream by waiting for the thread to terminate.
-	 */
-	protected void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			try {
-				thread.join();
-			} catch (InterruptedException ie) {
-			}
-			fListeners = new ListenerList();
-		}
-	}
-
-	/**
-	 * Notifies the listeners that text has
-	 * been appended to the stream.
-	 */
-	private void fireStreamAppended(String text) {
-		getNotifier().notifyAppend(text);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-	 */
-	public synchronized String getContents() {
-		return fContents.toString();
-	}
-
-	/**
-	 * Continually reads from the stream.
-	 * <p>
-	 * This method, along with the <code>startReading</code>
-	 * method is used to allow <code>OutputStreamMonitor</code>
-	 * to implement <code>Runnable</code> without publicly
-	 * exposing a <code>run</code> method.
-	 */
-	private void read() {
-        lastSleep = System.currentTimeMillis();
-        long currentTime = lastSleep;
-		byte[] bytes= new byte[BUFFER_SIZE];
-		int read = 0;
-		while (read >= 0) {
-			try {
-				if (fKilled) {
-					break;
-				}
-				read= fStream.read(bytes);
-				if (read > 0) {
-					String text;
-					if (fEncoding != null) {
-						text = new String(bytes, 0, read, fEncoding);
-					} else {
-						text = new String(bytes, 0, read);
-					}
-					synchronized (this) {
-						if (isBuffered()) {
-							fContents.append(text);
-						}
-						fireStreamAppended(text);
-					}
-				}
-			} catch (IOException ioe) {
-				if (!fKilled) {
-					DebugPlugin.log(ioe);
-				}
-				return;
-			} catch (NullPointerException e) {
-				// killing the stream monitor while reading can cause an NPE
-				// when reading from the stream
-				if (!fKilled && fThread != null) {
-					DebugPlugin.log(e);
-				}
-				return;
-			}
-            
-            currentTime = System.currentTimeMillis();
-            if (currentTime - lastSleep > 1000) {
-                lastSleep = currentTime;
-                try {
-                    Thread.sleep(1); // just give up CPU to maintain UI responsiveness.
-                } catch (InterruptedException e) {
-                } 
-            }
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	protected void kill() {
-		fKilled= true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public synchronized void removeListener(IStreamListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Starts a thread which reads from the stream
-	 */
-	protected void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					read();
-				}
-			}, DebugCoreMessages.OutputStreamMonitor_label); 
-            fThread.setDaemon(true);
-            fThread.setPriority(Thread.MIN_PRIORITY);
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
-	 */
-	public synchronized void setBuffered(boolean buffer) {
-		fBuffered = buffer;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
-	 */
-	public synchronized void flushContents() {
-		fContents.setLength(0);
-	}
-	
-	/**
-	 * @see IFlushableStreamMonitor#isBuffered()
-	 */
-	public synchronized boolean isBuffered() {
-		return fBuffered;
-	}
-
-	private ContentNotifier getNotifier() {
-		return new ContentNotifier();
-	}
-	
-	class ContentNotifier implements ISafeRunnable {
-		
-		private IStreamListener fListener;
-		private String fText;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.streamAppended(fText, OutputStreamMonitor.this);
-		}
-
-		public void notifyAppend(String text) {
-			if (text == null)
-				return;
-			fText = text;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IStreamListener) copiedListeners[i];
-                SafeRunner.run(this);
-			}
-			fListener = null;
-			fText = null;		
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java
deleted file mode 100644
index 7723837..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.internal.core.commands.DebugCommandRequest;
-
-/**
- * As targets are launched, this manager sets its step filter
- * support settings according to the "use step filter" setting.
- * 
- * @since 3.0
- */
-public class StepFilterManager implements ILaunchListener {
-	
-	public static final String PREF_USE_STEP_FILTERS = DebugPlugin.getUniqueIdentifier() + ".USE_STEP_FILTERS"; //$NON-NLS-1$
-	
-	/**
-	 * The step filter manager is instantiated by the debug UI plug-in,
-	 * and should be accessed from the <code>DebugUIPlugin</code> class.
-	 */
-	protected StepFilterManager() {
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-	}
-	
-	/**
-	 * This method is called by the debug UI plug-in at shutdown.
-	 */
-	public void shutdown() {
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		launchChanged(launch);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-		IStepFiltersHandler command = (IStepFiltersHandler)launch.getAdapter(IStepFiltersHandler.class);
-		if (command != null) {
-			command.execute(new DebugCommandRequest(new Object[]{launch}));
-		}
-	}
-	
-	/**
-	 * Returns whether the 'use step filters' preference is on.
-	 * 
-	 * @return whether to use step filters
-	 */
-	public boolean isUseStepFilters() {
-		return DebugPlugin.getDefault().getPluginPreferences().getBoolean(PREF_USE_STEP_FILTERS);
-	}
-	
-	/**
-	 * Sets whether to use step filters.
-	 * 
-	 * @param useFilters whether to use step filters
-	 */
-	public void setUseStepFilters(boolean useFilters) {
-		DebugPlugin.getDefault().getPluginPreferences().setValue(PREF_USE_STEP_FILTERS, useFilters);
-		ILaunch[] launchs = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		for (int i = 0; i < launchs.length; i++) {
-			ILaunch launch = launchs[i];
-			launchChanged(launch);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {}
-}
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 8820f68..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-/**
- * Standard implementation of a streams proxy for s 
- * StreamsProxy
- */
-
-public class StreamsProxy implements IStreamsProxy, IStreamsProxy2 {
-	/**
-	 * The monitor for the output stream (connected to standard out of the process)
-	 */
-	private OutputStreamMonitor fOutputMonitor;
-	/**
-	 * The monitor for the error stream (connected to standard error of the process)
-	 */
-	private OutputStreamMonitor fErrorMonitor;
-	/**
-	 * The monitor for the input stream (connected to standard in of the process)
-	 */
-	private InputStreamMonitor fInputMonitor;
-	/**
-	 * Records the open/closed state of communications with
-	 * the underlying streams.
-	 */
-	private boolean fClosed= false;
-	/**
-	 * Creates a <code>StreamsProxy</code> on the streams
-	 * of the given system process.
-	 * 
-	 * @param process system process to create a streams proxy on
-	 * @param encoding the process's encoding or <code>null</code> if default
-	 */
-	public StreamsProxy(Process process, String encoding) {
-		if (process == null) {
-			return;
-		}
-		fOutputMonitor= new OutputStreamMonitor(process.getInputStream(), encoding);
-		fErrorMonitor= new OutputStreamMonitor(process.getErrorStream(), encoding);
-		fInputMonitor= new InputStreamMonitor(process.getOutputStream());
-		fOutputMonitor.startMonitoring();
-		fErrorMonitor.startMonitoring();
-		fInputMonitor.startMonitoring();
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams after all remaining data
-	 * in the streams is read.
-	 */
-	public void close() {
-		if (!fClosed) {
-			fClosed= true;
-			fOutputMonitor.close();
-			fErrorMonitor.close();
-			fInputMonitor.close();
-		}
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams immediately.
-	 * Data remaining in the streams is lost.
-	 */	
-	public void kill() {
-		fClosed= true;
-		fOutputMonitor.kill();
-		fErrorMonitor.kill();
-		fInputMonitor.close();
-	}
-
-	/**
-	 * @see IStreamsProxy#getErrorStreamMonitor()
-	 */
-	public IStreamMonitor getErrorStreamMonitor() {
-		return fErrorMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#getOutputStreamMonitor()
-	 */
-	public IStreamMonitor getOutputStreamMonitor() {
-		return fOutputMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#write(String)
-	 */
-	public void write(String input) throws IOException {
-		if (!fClosed) {
-			fInputMonitor.write(input);
-		} else {
-			throw new IOException();
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
-     */
-    public void closeInputStream() throws IOException {
-        if (!fClosed) {
-            fInputMonitor.closeInputStream();
-        } else {
-            throw new IOException();
-        }
-        
-    }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java
deleted file mode 100644
index 01c5d19..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Resolves the value of system properties from the Eclipse SDK runtime. 
- */
-public class SystemPropertyResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		if (argument == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugCoreMessages.SystemPropertyResolver_0, null)); 
-		}
-		return System.getProperty(argument);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
deleted file mode 100644
index da4d5e5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-
-/**
- * Resolves common system variables. The current set of variables
- * supported (referenced as an argument to this variable) are:
- * <ul>
- * <li>ARCH - value of <code>BootLoader.getOSArch()</code></li>
- * <li>ECLIPSE_HOME - location of the Eclipse installation</li>
- * <li>NL - value of <code>BootLoader.getNL()</code></li>
- * <li>OS - value of <code>BootLoader.getOS()</code></li>
- * <li>WS - value of <code>BootLoader.getWS()</code></li>
- * </ul>
- * @since 3.0
- */
-public class SystemVariableResolver implements IDynamicVariableResolver {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		if ("ARCH".equals(argument)) { //$NON-NLS-1$
-			return Platform.getOSArch();
-		} else if ("ECLIPSE_HOME".equals(argument)) { //$NON-NLS-1$
-			URL installURL = Platform.getInstallLocation().getURL();
-			IPath ppath = new Path(installURL.getFile()).removeTrailingSeparator();
-			return getCorrectPath(ppath.toOSString());
-		} else if ("NL".equals(argument)) { //$NON-NLS-1$
-			return Platform.getNL();
-		} else if ("OS".equals(argument)) { //$NON-NLS-1$
-			return Platform.getOS();
-		} else if ("WS".equals(argument)) { //$NON-NLS-1$
-			return Platform.getWS();
-		}
-		return null;
-	}
-	
-	private static String getCorrectPath(String path) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < path.length(); i++) {
-			char c = path.charAt(i);
-			if (Platform.getOS().equals("win32")) { //$NON-NLS-1$
-				if (i == 0 && c == '/')
-					continue;
-			}
-			// Some VMs may return %20 instead of a space
-			if (c == '%' && i + 2 < path.length()) {
-				char c1 = path.charAt(i + 1);
-				char c2 = path.charAt(i + 2);
-				if (c1 == '2' && c2 == '0') {
-					i += 2;
-					buf.append(" "); //$NON-NLS-1$
-					continue;
-				}
-			}
-			buf.append(c);
-		}
-		return buf.toString();
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
deleted file mode 100644
index e2b0316..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.eclipse.debug.core.model.IWatchExpressionListener;
-import org.eclipse.debug.core.model.IWatchExpressionResult;
-
-/**
- * Base watch expression implementation.
- * 
- * @since 3.0
- */
-public class WatchExpression implements IWatchExpression {
-	
-	protected String fExpressionText;
-	protected IWatchExpressionResult fResult;
-	protected IDebugElement fCurrentContext;
-	private boolean fEnabled= true;
-	private boolean fPending= false;
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * text.
-	 * @param expression the text of the expression to be evaluated.
-	 */
-	public WatchExpression(String expression) {
-		fExpressionText= expression;
-	}
-
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 */
-	public WatchExpression(String expressionText, boolean enabled) {
-		this(expressionText);
-		fEnabled= enabled;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#evaluate()
-	 */
-	public void evaluate() {
-		IDebugElement context= fCurrentContext;
-		if (context == null) {
-			return;
-		}
-			
-		IWatchExpressionListener listener= new IWatchExpressionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.core.model.IWatchExpressionListener#watchEvaluationFinished(org.eclipse.debug.core.model.IWatchExpressionResult)
-			 */
-			public void watchEvaluationFinished(IWatchExpressionResult result) {
-				setPending(false);
-				setResult(result);
-			}
-		};
-		setPending(true);
-		IWatchExpressionDelegate delegate= DebugPlugin.getDefault().getExpressionManager().newWatchExpressionDelegate(context.getModelIdentifier());
-		if (delegate != null) {
-			delegate.evaluateExpression(getExpressionText(), context, listener);
-		} else {
-			// No delegate provided
-			listener.watchEvaluationFinished(new IWatchExpressionResult() {
-				public IValue getValue() {
-					return null;
-				}
-				public boolean hasErrors() {
-					return true;
-				}
-				public String[] getErrorMessages() {
-					return new String[] { DebugCoreMessages.WatchExpression_0 }; 
-				}
-				public String getExpressionText() {
-					return WatchExpression.this.getExpressionText();
-				}
-				public DebugException getException() {
-					return null;
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionContext(org.eclipse.debug.core.model.IDebugElement)
-	 */
-	public void setExpressionContext(IDebugElement context) {
-		fCurrentContext= context;
-		if (context == null) {
-			setResult(null);
-			return;
-		}
-		if (!isEnabled()) {
-			return;
-		}
-		
-		evaluate();
-	}
-
-	/**
-	 * Sets the result of the last expression and fires notification that
-	 * this expression's value has changed.
-	 * 
-	 * @param result result of a watch expression
-	 */
-	public void setResult(IWatchExpressionResult result) {
-		fResult= result;
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
-	}
-
-	/**
-	 * Fires the given debug event
-	 * @param event
-	 */
-	protected void fireEvent(DebugEvent event) {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
-	}
-	
-	/**
-	 * Notifies the expression manager that this watch expression's
-	 * values have changed so the manager can update the
-	 * persisted expression.
-	 * 
-	 * @param persist whether to persist the expression
-	 */
-	private void watchExpressionChanged(boolean persist) {
-		((ExpressionManager)DebugPlugin.getDefault().getExpressionManager()).watchExpressionChanged(this, persist);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		return fExpressionText;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getValue()
-	 */
-	public IValue getValue() {
-		if (fResult == null) {
-			return null;
-		}
-		return fResult.getValue();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		IDebugElement element = fCurrentContext;
-		if (element != null) {
-			return element.getDebugTarget();
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		if (fCurrentContext != null) {
-			return fCurrentContext.getModelIdentifier();
-		}
-		return DebugPlugin.getUniqueIdentifier();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		IDebugTarget debugTarget = getDebugTarget();
-		if (debugTarget != null) {
-		    return debugTarget.getLaunch();
-		}
-		return null; 
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		//CONTEXTLAUNCHING
-		if(adapter.equals(ILaunchConfiguration.class)) {
-			ILaunch launch = getLaunch();
-			if(launch != null) {
-				return launch.getLaunchConfiguration();
-			}
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @param enabled
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled= enabled;
-		watchExpressionChanged(true);
-		evaluate();
-	}
-
-	/**
-	 * @param expression
-	 */
-	public void setExpressionText(String expression) {
-		fExpressionText= expression;
-		watchExpressionChanged(true);
-		evaluate();
-	}
-
-	/**
-	 * @return Whether or not this watch expression is currently enabled.
-	 * 		Enabled watch expressions will continue to update their value
-	 * 		automatically. Disabled expressions require a manual update.
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#isPending()
-	 */
-	public boolean isPending() {
-		return fPending;
-	}
-	
-	/**
-	 * Sets the pending state of this expression.
-	 * 
-	 * @param pending whether or not this expression should be
-	 * 		flagged as pending
-	 */
-	protected void setPending(boolean pending) {
-		fPending= pending;
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.STATE));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#hasErrors()
-	 */
-	public boolean hasErrors() {
-		return fResult != null && fResult.hasErrors();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#getErrorMessages()
-	 */
-	public String[] getErrorMessages() {
-		if (fResult == null) {
-			return new String[0];
-		}
-		return fResult.getErrorMessages();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java
deleted file mode 100644
index 5d47e7b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.commands.IDisconnectHandler;
-import org.eclipse.debug.core.commands.IDropToFrameHandler;
-import org.eclipse.debug.core.commands.IResumeHandler;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.core.commands.IStepIntoHandler;
-import org.eclipse.debug.core.commands.IStepOverHandler;
-import org.eclipse.debug.core.commands.IStepReturnHandler;
-import org.eclipse.debug.core.commands.ISuspendHandler;
-import org.eclipse.debug.core.commands.ITerminateHandler;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IDropToFrame;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStep;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * Adapter factory for debug commands.
- * 
- * @since 3.3
- *
- */
-public class CommandAdapterFactory implements IAdapterFactory {
-	
-	
-	private static ITerminateHandler fgTerminateCommand = new TerminateCommand();
-	private static IStepOverHandler fgStepOverCommand = new StepOverCommand();
-	private static IStepIntoHandler fgStepIntoCommand = new StepIntoCommand();
-	private static IStepReturnHandler fgStepReturnCommand = new StepReturnCommand();
-	private static IDropToFrameHandler fgDropToFrameCommand = new DropToFrameCommand();
-	private static IDisconnectHandler fgDisconnectCommand = new DisconnectCommand();
-	private static ISuspendHandler fgSuspendCommand = new SuspendCommand();
-	private static IResumeHandler fgResumeCommand = new ResumeCommand();
-	private static IStepFiltersHandler fgStepFiltersCommand = new StepFiltersCommand();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (IStepFiltersHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDebugElement ||
-				adaptableObject instanceof ILaunch || 
-				adaptableObject instanceof IProcess) {
-				return fgStepFiltersCommand;
-			}
-		}
-		
-		if (ITerminateHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof ITerminate) {
-				return fgTerminateCommand;
-			}
-		}
-		if (IStepOverHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IStep) {
-				return fgStepOverCommand;
-			}
-		}
-		if (IStepIntoHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IStep) {
-				return fgStepIntoCommand;
-			}
-		}
-		if (IStepReturnHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IStep) {
-				return fgStepReturnCommand;
-			}
-		}
-		if (ISuspendHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof ISuspendResume) {
-				return fgSuspendCommand;
-			}
-		}
-		if (IResumeHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof ISuspendResume) {
-				return fgResumeCommand;
-			}
-		}
-		if (IDisconnectHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDisconnect) {
-				return fgDisconnectCommand;
-			}
-		}
-		if (IDropToFrameHandler.class.equals(adapterType)) {
-			if (adaptableObject instanceof IDropToFrame) {
-				return fgDropToFrameCommand;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[]{
-				ITerminateHandler.class,
-				IStepOverHandler.class,
-				IStepIntoHandler.class,
-				IStepReturnHandler.class,
-				ISuspendHandler.class,
-				IResumeHandler.class,
-				IDropToFrameHandler.class,
-				IDisconnectHandler.class,
-				IStepFiltersHandler.class};
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommand.java
deleted file mode 100644
index dff79eb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommand.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import java.util.LinkedHashSet;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.IRequest;
-import org.eclipse.debug.core.commands.IDebugCommandHandler;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IEnabledStateRequest;
-import org.eclipse.debug.internal.core.DebugOptions;
-
-/**
- * Common function for standard debug commands.
- * 
- * @since 3.3
- *
- */
-public abstract class DebugCommand implements IDebugCommandHandler {
-	
-	/**
-	 * Scheduling rule to serialize commands on an object
-	 */
-   class SerialPerObjectRule implements ISchedulingRule {
-
-		private Object fObject = null;
-
-		public SerialPerObjectRule(Object lock) {
-			fObject = lock;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean contains(ISchedulingRule rule) {
-			return rule == this;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean isConflicting(ISchedulingRule rule) {
-			if (rule instanceof SerialPerObjectRule) {
-				SerialPerObjectRule vup = (SerialPerObjectRule) rule;
-				return fObject == vup.fObject;
-			}
-			return false;
-		}
-
-	}
-   
-	public boolean execute(final IDebugCommandRequest request) {
-		Job job = new Job(getExecuteTaskName()) {
-			protected IStatus run(IProgressMonitor monitor) {
-				if (DebugOptions.DEBUG_COMMANDS) {
-					System.out.println("execute: " + DebugCommand.this); //$NON-NLS-1$
-				}
-				Object[] elements = request.getElements();
-				Object[] targets = new Object[elements.length];
-				for (int i = 0; i < elements.length; i++) {
-					targets[i]= getTarget(elements[i]);
-				}
-				targets = coalesce(targets);
-				monitor.beginTask(getExecuteTaskName(), targets.length);
-				try {
-					doExecute(targets, monitor, request);
-				} catch (CoreException e) {
-					request.setStatus(e.getStatus());
-					if (DebugOptions.DEBUG_COMMANDS) {
-						System.out.println("\t" + e.getStatus().getMessage()); //$NON-NLS-1$
-					}
-				}
-				request.done();
-				monitor.setCanceled(request.isCanceled());
-				monitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-		return isRemainEnabled();
-	}	
-	
-	/**
-	 * Returns whether this command should remain enabled after execution is invoked.
-	 * 
-	 * @return whether to remain enabled
-	 */
-	protected boolean isRemainEnabled() {
-		return false;
-	}
-	
-	public void canExecute(final IEnabledStateRequest request) {
-		Job job = new Job(getEnablementTaskName()) {
-			protected IStatus run(IProgressMonitor monitor) {
-				if (DebugOptions.DEBUG_COMMANDS) {
-					System.out.print("can execute command: " + DebugCommand.this); //$NON-NLS-1$
-				}
-				Object[] elements = request.getElements();
-				Object[] targets = new Object[elements.length];
-				for (int i = 0; i < elements.length; i++) {
-					targets[i] = getTarget(elements[i]);
-					if (targets[i] == null) {
-						request.setEnabled(false);
-						request.cancel();
-						if (DebugOptions.DEBUG_COMMANDS) {
-							System.out.println(" >> false (no adapter)"); //$NON-NLS-1$
-						}
-					}
-				}
-				if (!request.isCanceled()) {
-					targets = coalesce(targets);
-					monitor.beginTask(getEnablementTaskName(), targets.length);
-					try {
-						boolean executable = isExecutable(targets, monitor, request);
-						if (DebugOptions.DEBUG_COMMANDS) {
-							System.out.println(" >> " + executable); //$NON-NLS-1$
-						}
-						request.setEnabled(executable);
-					} catch (CoreException e) {
-						request.setStatus(e.getStatus());
-						request.setEnabled(false);
-						if (DebugOptions.DEBUG_COMMANDS) {
-							System.out.println(" >> ABORTED"); //$NON-NLS-1$
-							System.out.println("\t" + e.getStatus().getMessage()); //$NON-NLS-1$
-						}
-					}
-				}
-				monitor.setCanceled(request.isCanceled());
-				request.done();
-				monitor.done();
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.setRule(createUpdateSchedulingRule(request));
-		job.schedule();
-		
-	}
-	
-	/**
-	 * Returns the name to use for jobs and progress monitor task names when checking
-	 * enabled state.
-	 * 
-	 * @return task name
-	 */
-	protected String getEnablementTaskName() {
-		// this is a system job name and does not need to be NLS'd
-		return "Check Debug Command"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the name to use for jobs and progress monitor task names when executing
-	 * a debug command
-	 * 
-	 * @return task name
-	 */
-	protected String getExecuteTaskName() {
-		// this is a system job name and does not need to be NLS'd
-		return "Execute Debug Command"; //$NON-NLS-1$
-	}	
-
-	/**
-	 * Executes the actual operation.
-	 * 
-	 * @param targets objects to perform on
-	 * @param request request
-	 */
-	protected abstract void doExecute(Object[] targets, IProgressMonitor monitor, IRequest request) throws CoreException;
-
-	/**
-	 * Returns whether this command is executable.
-	 * 
-	 * @param targets objects to check command for
-	 * @param monitor progress monitor
-	 * @param request request
-	 * @return whether this command can be executed
-	 */
-	protected abstract boolean isExecutable(Object[] targets, IProgressMonitor monitor, IEnabledStateRequest request) throws CoreException;
-	
-	/**
-	 * Returns the appropriate command adapter from the given object.
-	 * 
-	 * @param element object to obtain adapter from
-	 * @return adapter
-	 */
-	protected abstract Object getTarget(Object element); 
-	
-	/**
-	 * Scheduling rule for updating command enabled state.
-	 * 
-	 * @return scheduling rule or <code>null</code>
-	 */
-	protected ISchedulingRule createUpdateSchedulingRule(IDebugCommandRequest request) {
-		return new SerialPerObjectRule(request.getElements()[0]);
-	}
-	
-	private Object[] coalesce(Object[] objects) {
-		if (objects.length == 1) {
-			return objects;
-		} else {
-			LinkedHashSet set = new LinkedHashSet(objects.length);
-			for (int i = 0; i < objects.length; i++) {
-				set.add(objects[i]);
-			}
-			return set.toArray();
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java
deleted file mode 100644
index 5d447e5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-
-/**
- * @since 3.3
- */
-public class DebugCommandRequest extends Request implements IDebugCommandRequest {
-	
-	private Object[] fElements;
-	
-	public DebugCommandRequest(Object[] elements) {
-		fElements = elements;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IDebugCommandRequest#getElements()
-	 */
-	public Object[] getElements() {
-		return fElements;
-	}
-
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java
deleted file mode 100644
index 66d33d4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.commands.IDisconnectHandler;
-import org.eclipse.debug.core.model.IDisconnect;
-
-/**
- * Default disconnect command for the standard debug model.
- * 
- * @since 3.3
- */
-public class DisconnectCommand extends ForEachCommand implements IDisconnectHandler {
-
-	protected Object getTarget(Object element) {
-		if (element instanceof IDisconnect) {
-			return element;
-		} else if (element instanceof IAdaptable) {
-			return ((IAdaptable) element).getAdapter(IDisconnect.class);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.ForEachCommand#execute(java.lang.Object)
-	 */
-	protected void execute(Object target) throws CoreException {
-		((IDisconnect)target).disconnect();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.ForEachCommand#isExecutable(java.lang.Object)
-	 */
-	protected boolean isExecutable(Object target) {
-		return ((IDisconnect)target).canDisconnect();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java
deleted file mode 100644
index 06a3b93..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.commands.IDropToFrameHandler;
-import org.eclipse.debug.core.model.IDropToFrame;
-
-/**
- * Default drop to frame command for the standard debug model.
- * 
- * @since 3.3
- */
-public class DropToFrameCommand extends StepCommand implements IDropToFrameHandler {
-
-	protected Object getTarget(Object element) {
-		if (element instanceof IDropToFrame) {
-			return element;
-		} else if (element instanceof IAdaptable) {
-			return ((IAdaptable) element).getAdapter(IDropToFrame.class);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.StepCommand#isSteppable(java.lang.Object)
-	 */
-	protected boolean isSteppable(Object target) throws CoreException {
-		return ((IDropToFrame)target).canDropToFrame();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.StepCommand#step(java.lang.Object)
-	 */
-	protected void step(Object target) throws CoreException {
-		((IDropToFrame)target).dropToFrame();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java
deleted file mode 100644
index f536d90..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.IRequest;
-import org.eclipse.debug.core.commands.IEnabledStateRequest;
-
-/**
- * A command that operates on each element individually.
- * 
- * @since 3.3
- */
-public abstract class ForEachCommand extends DebugCommand {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.DebugCommand#doExecute(java.lang.Object[], org.eclipse.core.runtime.IProgressMonitor, org.eclipse.debug.core.IRequest)
-	 */
-	protected void doExecute(Object[] targets, IProgressMonitor monitor, IRequest request) throws CoreException {
-		for (int i = 0; i < targets.length; i++) {
-			execute(targets[i]);
-			monitor.worked(1);
-		}
-	}
-	
-	protected abstract void execute(Object target) throws CoreException;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.DebugCommand#isExecutable(java.lang.Object[], org.eclipse.core.runtime.IProgressMonitor, org.eclipse.debug.core.commands.IEnabledStateRequest)
-	 */
-	protected boolean isExecutable(Object[] targets, IProgressMonitor monitor, IEnabledStateRequest request) throws CoreException {
-		for (int i = 0; i < targets.length; i++) {
-			if (!isExecutable(targets[i])) {
-				return false;
-			}
-			monitor.worked(1);
-		}
-		return true;
-	}
-	
-	protected abstract boolean isExecutable(Object target);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java
deleted file mode 100644
index 29ac7b7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IRequest;
-
-/**
- * @since 3.3
- */
-public class Request implements IRequest {
-	
-	private IStatus fStatus;
-	private boolean fCanceled = false;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IStatusCollector#done()
-	 */
-	public void done() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IStatusCollector#getStatus()
-	 */
-	public IStatus getStatus() {
-		return fStatus;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IStatusCollector#setStatus(org.eclipse.core.runtime.IStatus)
-	 */
-	public void setStatus(IStatus status) {
-		fStatus = status;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IRequest#cancel()
-	 */
-	public synchronized void cancel() {
-		fCanceled = true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.commands.IRequest#isCanceled()
-	 */
-	public synchronized boolean isCanceled() {
-		return fCanceled;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java
deleted file mode 100644
index 3fbb24d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IResumeHandler;
-import org.eclipse.debug.core.model.ISuspendResume;
-
-/**
- * Default resume command for the standard debug model.
- * 
- * @since 3.3
- */
-public class ResumeCommand extends SuspendCommand implements IResumeHandler {
-
-	protected void execute(Object target) throws CoreException {
-		((ISuspendResume)target).resume();
-	}
-
-	protected boolean isExecutable(Object target) {
-		return ((ISuspendResume)target).canResume();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java
deleted file mode 100644
index 94dd065..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.IRequest;
-import org.eclipse.debug.core.commands.IEnabledStateRequest;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Common function for step commands.
- * 
- * @since 3.3
- */
-public abstract class StepCommand extends DebugCommand {
-
-	protected void doExecute(Object[] targets, IProgressMonitor monitor, IRequest request) throws CoreException {
-		for (int i = 0; i < targets.length; i++) {
-			step(targets[i]);
-		}
-	}
-
-	protected abstract void step(Object target) throws CoreException ;
-	
-	protected boolean isExecutable(Object[] targets, IProgressMonitor monitor, IEnabledStateRequest collector) throws CoreException {
-		if (isThreadCompatible(targets)) {
-			for (int i = 0; i < targets.length; i++) {
-				if (!isSteppable(targets[i])) {
-					return false;
-				}
-			}
-			return true;
-		} else {
-			return false;
-		}
-	}
-	
-	protected abstract boolean isSteppable(Object target) throws CoreException;
-	
-	protected boolean isThreadCompatible(Object[] targets) {
-		if (targets.length == 1) {
-			return true;
-		}
-		// check if frames from same thread
-		Set threads = new HashSet(targets.length);
-		for (int i = 0; i < targets.length; i++) {
-			Object object = targets[i];
-			IStackFrame frame = null;
-			if (object instanceof IStackFrame) {
-				frame = (IStackFrame) object;
-			} else if (object instanceof IAdaptable) {
-				frame = (IStackFrame)((IAdaptable)object).getAdapter(IStackFrame.class);
-			}
-			if (frame != null) {
-				if (!threads.add(frame.getThread())) { 
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-	
-	protected Object getTarget(Object element) {
-		if (element instanceof IStep) {
-			return element;
-		} else if (element instanceof IAdaptable) {
-			return ((IAdaptable) element).getAdapter(IStep.class);
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java
deleted file mode 100644
index bf594f5..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStepFilters;
-
-/**
- * Default toggle step filters command for the standard debug model.
- * 
- * @since 3.3
- */
-public class StepFiltersCommand extends ForEachCommand implements IStepFiltersHandler {
-
-	protected Object getTarget(Object element) {
-		IDebugTarget[] targets = getDebugTargets(element);
-		if (targets.length > 0) {
-			IStepFilters[] filters = new IStepFilters[targets.length];
-			for (int i = 0; i < targets.length; i++) {
-				IDebugTarget target = targets[i];
-				if (target instanceof IStepFilters) {
-					filters[i] = (IStepFilters) target;
-				} else {
-					filters[i] = (IStepFilters) ((IAdaptable)element).getAdapter(IStepFilters.class);
-				}
-				if (filters[i] == null) {
-					return null;
-				}
-			}
-			return filters;
-		}
-        return null;
-	}
-	
-   private IDebugTarget[] getDebugTargets(Object element) {
-		if (element instanceof IDebugElement) {
-			IDebugElement debugElement = (IDebugElement) element;
-			return new IDebugTarget[] { debugElement.getDebugTarget() };
-		} else if (element instanceof ILaunch) {
-			ILaunch launch = (ILaunch) element;
-			return launch.getDebugTargets();
-		} else if (element instanceof IProcess) {
-			IProcess process = (IProcess) element;
-			return process.getLaunch().getDebugTargets();
-		} else {
-			return new IDebugTarget[0];
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.ForEachCommand#execute(java.lang.Object)
-	 */
-	protected void execute(Object target) throws CoreException {
-		if (target == null) {
-			return;
-		}
-		IStepFilters[] filters = (IStepFilters[]) target;
-		for (int i = 0; i < filters.length; i++) {
-			IStepFilters filter = filters[i];
-			filter.setStepFiltersEnabled(DebugPlugin.isUseStepFilters());
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.ForEachCommand#isExecutable(java.lang.Object)
-	 */
-	protected boolean isExecutable(Object target) {
-		IStepFilters[] filters = (IStepFilters[]) target;
-		for (int i = 0; i < filters.length; i++) {
-			IStepFilters filter = filters[i];
-			if (filter == null || !filter.supportsStepFilters()) {
-				return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java
deleted file mode 100644
index d96b088..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IStepIntoHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step into command for the standard debug model.
- * 
- * @since 3.3
- */
-public class StepIntoCommand extends StepCommand implements IStepIntoHandler {
-
-	protected boolean isSteppable(Object target) {
-		return ((IStep)target).canStepInto();
-	}
-
-	protected void step(Object target) throws CoreException {
-		((IStep)target).stepInto();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java
deleted file mode 100644
index fe48eb0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IStepOverHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step over command for the standard debug model.
- * 
- * @since 3.3
- */
-public class StepOverCommand extends StepCommand implements IStepOverHandler {
-
-
-	protected void step(Object target) throws CoreException {
-		((IStep)target).stepOver();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.commands.StepCommand#isSteppable(java.lang.Object)
-	 */
-	protected boolean isSteppable(Object target) {
-		return ((IStep)target).canStepOver();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java
deleted file mode 100644
index 7110016..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IStepReturnHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step return command for the standard debug model.
- * 
- * @since 3.3
- */
-public class StepReturnCommand extends StepCommand implements IStepReturnHandler {
-
-	protected boolean isSteppable(Object target) {
-		return ((IStep)target).canStepReturn();
-	}
-
-	protected void step(Object target) throws CoreException {
-		((IStep)target).stepReturn();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java
deleted file mode 100644
index 49717bf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.commands.ISuspendHandler;
-import org.eclipse.debug.core.model.ISuspendResume;
-
-/**
- * Default suspend command for the standard debug model.
- * 
- * @since 3.3
- */
-public class SuspendCommand extends ForEachCommand implements ISuspendHandler {
-
-	protected Object getTarget(Object element) {
-		if (element instanceof ISuspendResume) {
-			return element;
-		} else if (element instanceof IAdaptable) {
-			return ((IAdaptable) element).getAdapter(ISuspendResume.class);
-		}
-		return null;
-	}
-
-	protected void execute(Object target) throws CoreException {
-		((ISuspendResume)target).suspend();
-	}
-	
-	protected boolean isExecutable(Object target) {
-		return ((ISuspendResume)target).canSuspend();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java
deleted file mode 100644
index 0cca664..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.commands.ITerminateHandler;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * Default terminate command for the standard debug model.
- * 
- * @since 3.3
- */
-public class TerminateCommand extends ForEachCommand implements ITerminateHandler {
-
-	protected Object getTarget(Object element) {
-		if (element instanceof ITerminate) {
-			return element;
-		} else if (element instanceof IAdaptable) {
-			return ((IAdaptable) element).getAdapter(ITerminate.class);
-		}
-		return null;
-	}
-
-	protected void execute(Object target) throws CoreException {
-		((ITerminate)target).terminate();
-	}
-
-	protected boolean isExecutable(Object target) {
-		return ((ITerminate)target).canTerminate();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
deleted file mode 100644
index 935d115..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-
-/**
- * Proxy to contributed source container type extension.
- * 
- * @see IConfigurationElementConstants
- * 
- * @since 3.0
- */
-public class SourceContainerType implements ISourceContainerType {
-	
-	// lazily instantiated delegate
-	private ISourceContainerTypeDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source container type on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourceContainerType(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		return getDelegate().createSourceContainer(memento);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		if (this.equals(container.getType())) {
-			return getDelegate().getMemento(container);
-		}
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.SourceContainerType_0, null); 
-		throw new CoreException(status);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getName()
-	 */
-	public String getName() {
-		return fElement.getAttribute(IConfigurationElementConstants.NAME);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute(IConfigurationElementConstants.ID);
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourceContainerTypeDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourceContainerTypeDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
-		}
-		return fDelegate;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getDescription()
-	 */
-	public String getDescription() {
-		return fElement.getAttribute(IConfigurationElementConstants.DESCRIPTION);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
deleted file mode 100644
index 159b816..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.util.Comparator;
-
-/**
- * Comparator for source locator mementors. Ignores whitespace differences.
- * 
- * @since 3.0
- */
-public class SourceLocatorMementoComparator implements Comparator {
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String m1 = (String)o1;
-		String m2 = (String)o2;
-		int i1 = 0, i2 = 0;
-		while (i1 < m1.length()) {
-			i1 = skipWhitespace(m1, i1);
-			i2 = skipWhitespace(m2, i2);
-			if (i1 < m1.length() && i2 < m2.length()) {
-				if (m1.charAt(i1) != m2.charAt(i2)) {
-					return -1;
-				}
-				i1++;
-				i2++;
-			} else {
-				if (i2 < m2.length()) {
-					return -1;
-				} 
-				return 0;
-			}
-		}
-		return 0;
-	}
-	
-	private int skipWhitespace(String string, int offset) {
-		while (offset < string.length() && Character.isWhitespace(string.charAt(offset))) {
-			offset++;
-		}
-		return offset;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
deleted file mode 100644
index e63731c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.osgi.util.NLS;
-
-public class SourceLookupMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages";//$NON-NLS-1$
-
-	public static String AbstractSourceLookupDirector_11;
-	public static String AbstractSourceLookupDirector_12;
-	public static String AbstractSourceLookupDirector_13;
-	public static String AbstractSourceLookupDirector_14;
-
-	public static String Source_Lookup_Error;
-
-	public static String ExternalArchiveSourceContainer_1;
-
-	public static String ExternalArchiveSourceContainer_2;
-
-	public static String ExternalArchiveSourceContainerType_10;
-	public static String ExternalArchiveSourceContainerType_11;
-	public static String ExternalArchiveSourceContainerType_12;
-
-	public static String DefaultSourceContainer_0;
-	public static String DefaultSourceContainerType_6;
-	public static String DefaultSourceContainerType_7;
-
-	public static String DirectorySourceContainerType_10;
-	public static String DirectorySourceContainerType_11;
-	public static String DirectorySourceContainerType_12;
-
-	public static String FolderSourceContainerType_10;
-	public static String FolderSourceContainerType_11;
-	public static String FolderSourceContainerType_12;
-
-	public static String LocalFileStorage_0;
-
-	public static String ProjectSourceContainerType_10;
-	public static String ProjectSourceContainerType_11;
-	public static String ProjectSourceContainerType_12;
-
-	public static String SourceContainerType_0;
-
-	public static String WorkspaceSourceContainer_0;
-
-	public static String WorkspaceSourceContainerType_3;
-	public static String WorkspaceSourceContainerType_4;
-
-	public static String ZipEntryStorage_0;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, SourceLookupMessages.class);
-	}
-
-	public static String AbstractSourceLookupDirector_10;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
deleted file mode 100644
index 429f05e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractSourceLookupDirector_11=Unable to restore source lookup path - expecting typeId attribute.
-AbstractSourceLookupDirector_12=Unable to restore source lookup path - unknown type source container type specified: {0}
-AbstractSourceLookupDirector_13=Unable to restore source lookup path - expecting memento attribute.
-AbstractSourceLookupDirector_14=Unable to read source lookup path - expecting sourceLookupDirector node.
-AbstractSourceLookupDirector_10=Exception occurred during source lookup
-
-ExternalArchiveSourceContainer_2=Unable to access archive {0}
-ExternalArchiveSourceContainer_1=Archive does not exist: {0}
-
-ExternalArchiveSourceContainerType_10=Invalid or missing <path> attribute in archive memento.
-ExternalArchiveSourceContainerType_11=Missing <archive> node in archive memento.
-ExternalArchiveSourceContainerType_12=Invalid archive memento
-
-DefaultSourceContainer_0=Default
-DefaultSourceContainerType_6=Unable to restore default source lookup path - expecting default element.
-DefaultSourceContainerType_7=Unable to restore default source lookup path - invalid memento.
-
-DirectorySourceContainerType_10=Unable to restore directory source lookup entry - missing path attribute.
-DirectorySourceContainerType_11=Unable to restore directory source lookup entry - expecting directory element.
-DirectorySourceContainerType_12=Unable to restore directory source lookup entry - invalid memento.
-
-FolderSourceContainerType_10=Unable to restore source lookup folder - missing path attribute.
-FolderSourceContainerType_11=Unable to restore source lookup folder - expecting folder element.
-FolderSourceContainerType_12=Unable to restore source lookup folder - invalid memento.
-
-LocalFileStorage_0=Exception occurred retrieving file contents.
-
-ProjectSourceContainerType_10=Unable to restore project source lookup entry - missing name attribute.
-ProjectSourceContainerType_11=Unable to restore project source lookup entry - expecting project element.
-ProjectSourceContainerType_12=Unable to restore project source lookup entry - invalid memento.
-
-WorkspaceSourceContainer_0=Workspace
-
-WorkspaceSourceContainerType_3=Unable to restore workspace source lookup entry - expecting workspace element.
-WorkspaceSourceContainerType_4=Unable to restore workspace source lookup entry - invalid memento.
-
-ZipEntryStorage_0=Unable to read ZipEntry contents
-Source_Lookup_Error=Source lookup error
-SourceContainerType_0=Unable to persist source lookup path.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
deleted file mode 100644
index 67b2bb8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener2;
-
-/**
- * Utility and supporting methods for source location. Most of these
- * utilities should be migrated to the DebugPlugin and LanuchManager
- * when this facility becomes public API.
- *
- * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector
- * @since 3.0
- */
-public class SourceLookupUtils {
-		
-	/**
-	 * Cache of shared zip files. Zip files are closed
-	 * when this class's plug-in is shutdown, when a project
-	 * is about to be closed or deleted, when a launch is
-	 * removed, and when a debug target or process terminates. 
-	 */
-	private static HashMap fgZipFileCache = new HashMap(5);
-	private static ArchiveCleaner fgCleaner = null;
-	
-	/**
-	 * Returns a zip file with the given name
-	 * 
-	 * @param name zip file name
-	 * @return The zip file with the given name
-	 * @exception IOException if unable to create the specified zip
-	 * 	file
-	 */
-	public static ZipFile getZipFile(String name) throws IOException {
-		synchronized (fgZipFileCache) {
-			if (fgCleaner == null) {
-				fgCleaner = new ArchiveCleaner();
-				DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fgCleaner);
-				ResourcesPlugin.getWorkspace().addResourceChangeListener(fgCleaner, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE);
-			}
-			ZipFile zip = (ZipFile)fgZipFileCache.get(name);
-			if (zip == null) {
-				zip = new ZipFile(name);
-				fgZipFileCache.put(name, zip);
-			}
-			return zip;
-		}
-	}
-	
-	/**
-	 * Closes all zip files that have been opened,
-	 * and removes them from the zip file cache.
-	 * This method is only to be called by the debug
-	 * plug-in.
-	 */
-	public static void closeArchives() {
-		synchronized (fgZipFileCache) {
-			Iterator iter = fgZipFileCache.values().iterator();
-			while (iter.hasNext()) {
-				ZipFile file = (ZipFile)iter.next();
-				synchronized (file) {
-					try {
-						file.close();
-					} catch (IOException e) {
-						DebugPlugin.log(e);
-					}
-				}
-			}
-			fgZipFileCache.clear();
-		}
-	}	
-	
-	/**
-	 * Called when the debug plug-in shuts down.
-	 */
-	public static void shutdown() {
-		closeArchives();
-		if (fgCleaner != null) {
-			DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fgCleaner);
-			ResourcesPlugin.getWorkspace().removeResourceChangeListener(fgCleaner);			
-		}
-	}
-	
-	/**
-	 * Clears the cache of open zip files when a launch terminates,
-	 * is removed, or when a project is about to be deleted or closed.
-	 */
-	static class ArchiveCleaner implements IResourceChangeListener, ILaunchesListener2 {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesRemoved(ILaunch[] launches) {
-			for (int i = 0; i < launches.length; i++) {
-				ILaunch launch = launches[i];
-				if (!launch.isTerminated()) {	
-					SourceLookupUtils.closeArchives();
-					return;
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesAdded(ILaunch[] launches) {			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesChanged(ILaunch[] launches) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			SourceLookupUtils.closeArchives();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesTerminated(ILaunch[] launches) {
-			SourceLookupUtils.closeArchives();
-		}
-		
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
deleted file mode 100644
index 21bc87d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-
-/**
- * Proxy to contributed source path computer extension.
- * 
- * @see IConfigurationElementConstants
- */
-public class SourcePathComputer implements ISourcePathComputer {
-	
-	// lazily instantiated delegate
-	private ISourcePathComputerDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source path computer on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourcePathComputer(IConfigurationElement element) {
-		fElement = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute(IConfigurationElementConstants.ID); 
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourcePathComputerDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourcePathComputerDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) {
-		try {
-			return getDelegate().computeSourceContainers(configuration, monitor);
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-		}
-		return new ISourceContainer[0];
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
deleted file mode 100644
index 27c6d76..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Archive source container type for archives in the workspace.
- * 
- * @since 3.0
- */
-public class ArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null); 
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(string));
-				return new ArchiveSourceContainer(file, auto);
-			} 
-			abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null); 
-		}
-		abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null); 
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ArchiveSourceContainer archive = (ArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getFile().getFullPath().toString()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
deleted file mode 100644
index bea4453..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A default source lookup path. The default path is computed by a
- * source path computer.
- * 
- * @since 3.0
- */
-public class DefaultSourceContainerType extends AbstractSourceContainerTypeDelegate {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		Document document = newDocument();
-		Element element = document.createElement("default"); //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento)throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("default".equals(element.getNodeName())) { //$NON-NLS-1$
-				return new DefaultSourceContainer();
-			}
-			abort(SourceLookupMessages.DefaultSourceContainerType_6, null); 
-		}
-		abort(SourceLookupMessages.DefaultSourceContainerType_7, null); 
-		return null;		
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
deleted file mode 100644
index d25a0ff..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the local file system.
- * 
- * @since 3.0
- */
-public class DirectorySourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("directory".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.DirectorySourceContainerType_10, null); 
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				return new DirectorySourceContainer(new Path(string), nested);
-			}
-			abort(SourceLookupMessages.DirectorySourceContainerType_11, null); 
-		}
-		abort(SourceLookupMessages.DirectorySourceContainerType_12, null); 
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		DirectorySourceContainer folder = (DirectorySourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("directory"); //$NON-NLS-1$
-		element.setAttribute("path", folder.getDirectory().getAbsolutePath()); //$NON-NLS-1$
-		String nest = "false"; //$NON-NLS-1$
-		if (folder.isComposite()) {
-			nest = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("nest", nest);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
deleted file mode 100644
index 43f295a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * External archive source container type.
- * 
- * @since 3.0
- */
-public class ExternalArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null); 
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				return new ExternalArchiveSourceContainer(string, auto);
-			} 
-			abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null); 
-		}
-		abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null); 
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ExternalArchiveSourceContainer archive = (ExternalArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getName()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
deleted file mode 100644
index ce9ea08..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the workspace.
- * 
- * @since 3.0
- */
-public class FolderSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		FolderSourceContainer folderSourceContainer = (FolderSourceContainer)container;
-		Document document = newDocument();
-		Element element = document.createElement("folder"); //$NON-NLS-1$
-		element.setAttribute("path", folderSourceContainer.getContainer().getFullPath().toString()); //$NON-NLS-1$
-		String nest = "false"; //$NON-NLS-1$
-		if (folderSourceContainer.isComposite()) {
-			nest = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("nest", nest);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("folder".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("path"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.FolderSourceContainerType_10, null); 
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IFolder folder = workspace.getRoot().getFolder(new Path(string));
-				return new FolderSourceContainer(folder, nested);
-			} 
-			abort(SourceLookupMessages.FolderSourceContainerType_11, null); 
-		}
-		abort(SourceLookupMessages.FolderSourceContainerType_12, null); 
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
deleted file mode 100644
index 7dfbb6c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring a project source container.
- * 
- * @since 3.0
- */
-public class ProjectSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ProjectSourceContainer project = (ProjectSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("project"); //$NON-NLS-1$
-		element.setAttribute("name", project.getContainer().getName()); //$NON-NLS-1$
-		String referenced = "false"; //$NON-NLS-1$
-		if (project.isSearchReferencedProjects()) {
-			referenced = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("referencedProjects", referenced);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("project".equals(element.getNodeName())) { //$NON-NLS-1$
-				String string = element.getAttribute("name"); //$NON-NLS-1$
-				if (string == null || string.length() == 0) {
-					abort(SourceLookupMessages.ProjectSourceContainerType_10, null); 
-				}
-				String nest = element.getAttribute("referencedProjects"); //$NON-NLS-1$
-				boolean ref = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IProject project = workspace.getRoot().getProject(string);
-				return new ProjectSourceContainer(project, ref);
-			} 
-			abort(SourceLookupMessages.ProjectSourceContainerType_11, null); 
-		}
-		abort(SourceLookupMessages.ProjectSourceContainerType_12, null); 
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
deleted file mode 100644
index 460fadd..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring workspace source containers.
- * 
- * @since 3.0
- */
-public class WorkspaceSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		Node node = parseDocument(memento);
-		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			Element element = (Element)node;
-			if ("workspace".equals(element.getNodeName())) { //$NON-NLS-1$
-				return new WorkspaceSourceContainer();
-			} 
-			abort(SourceLookupMessages.WorkspaceSourceContainerType_3, null); 
-		}
-		abort(SourceLookupMessages.WorkspaceSourceContainerType_4, null); 
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		Document document = newDocument();
-		Element element = document.createElement("workspace"); //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/doc/.cvsignore b/org.eclipse.debug.core/doc/.cvsignore
deleted file mode 100644
index af3f463..0000000
--- a/org.eclipse.debug.core/doc/.cvsignore
+++ /dev/null
@@ -1,15 +0,0 @@
-book.css
-org_eclipse_debug_core_breakpoints.html
-org_eclipse_debug_core_launchConfigurationComparators.html
-org_eclipse_debug_core_launchConfigurationTypes.html
-org_eclipse_debug_core_launchDelegates.html
-org_eclipse_debug_core_launchers.html
-org_eclipse_debug_core_launchModes.html
-org_eclipse_debug_core_logicalStructureTypes.html
-org_eclipse_debug_core_processFactories.html
-org_eclipse_debug_core_sourceContainerTypes.html
-org_eclipse_debug_core_sourceLocators.html
-org_eclipse_debug_core_sourcePathComputers.html
-org_eclipse_debug_core_statusHandlers.html
-org_eclipse_debug_core_watchExpressionDelegates.html
-schema.css
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
deleted file mode 100644
index 98981aa..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Container Types</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourceContainerTypes<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>This extension point allows for an extensible set of source container types to be contributed by the debug platform
-         source lookup facilities.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourceContainerType">sourceContainerType</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourceContainerType">sourceContainerType</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourceContainerType</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this type</li>
-<li><b>name</b> - The name of this source container type use for presentation purposes.</li>
-<li><b>class</b> - A class that implements ISourceContainerType</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourceContainerType</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
deleted file mode 100644
index 9305403..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Path Computers</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourcePathComputers<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>Defines an extension point to register a computer that can describe a default source lookup path for
-         a launch configuration. Source path computers are associated with launch configuration types via the
-         launchConfigurationTypes extension point. As well, a source path computer can be associated with a
-         specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourcePathComputer">sourcePathComputer</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourcePathComputer">sourcePathComputer</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourcePathComputer</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<p class=ConfigMarkup id=elementDesc>
-Defines an extension point to register a computer that can describe a default source lookup path
-            for a launch configuration.</p>
-<br>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this computer.</li>
-<li><b>class</b> - A class that implements ISourcePathComputer.</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourcePathComputer</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/hglegal2003.htm b/org.eclipse.debug.core/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.debug.core/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.debug.core/ngibmcpy2003.gif b/org.eclipse.debug.core/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.debug.core/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/plugin.properties b/org.eclipse.debug.core/plugin.properties
deleted file mode 100644
index 732d0f7..0000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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
-watchExpressionDelegatesName= Watch Expression Delegates
-processFactoriesExtensionPointName=Process Factories
-logicalStructureTypesExtensionPointName=Logical Structure Types
-logicalStructureProvidersExtensionPointName=Logical Structure Providers
-sourceContainerTypesName = Source Container Types
-sourcePathComputersName = Source Path Computers
-
-run=&Run
-debug=&Debug
-profile=&Profile
-runAs.label=&Run As
-debugAs.label=&Debug As
-profileAs.label=&Profile As
-
-env_var.description=Returns the value of an environment variable. An environment variable name must be specified as an argument.
-system_var.description=Returns the value of an Eclipse system variable. A variable name must be specified as an argument - one of ARCH, ECLIPSE_HOME, NL, OS, or WS.
-system_property.description=Returns the value of a system property from the Eclipse runtime. A system property name must be specified as an argument.
-
-containerName.archive = Archive
-containerDescription.archive = A jar or zip in the workspace containing source files
-containerName.externalArchive = External Archive
-containerDescription.externalArchive = A jar or zip in the local file system containing source files
-containerName.project = Project
-containerDescription.project = A project in the workspace
-containerName.folder = Workspace Folder
-containerDescription.folder = A folder in the workspace
-containerName.directory = File System Directory
-containerDescription.directory = A directory in the local file system
-containerName.workspace = Workspace
-containerDescription.workspace = All projects in the workspace
-containerName.default = Default
-containerDescription.default = Default source lookup path
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index 75fc4a9..0000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Extension points -->
-   <extension-point id="breakpoints" name="%breakpointExtensionPointName" schema="schema/breakpoints.exsd"/>
-   <extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName" schema="schema/launchConfigurationComparators.exsd"/>
-   <extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName" schema="schema/launchConfigurationTypes.exsd"/>
-   <extension-point id="launchModes" name="%launchModesExtensionPointName" schema="schema/launchModes.exsd"/>
-   <extension-point id="launchDelegates" name="%launchDelegatesExtensionPointName" schema="schema/launchDelegates.exsd"/>
-   <extension-point id="launchers" name="%launcherExtensionPointName" schema="schema/launchers.exsd"/>
-   <extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName" schema="schema/sourceLocators.exsd"/>
-   <extension-point id="statusHandlers" name="%statusHandlerExtensionPointName" schema="schema/statusHandlers.exsd"/>
-   <extension-point id="watchExpressionDelegates" name="%watchExpressionDelegatesName" schema="schema/watchExpressionDelegates.exsd"/>
-   <extension-point id="processFactories" name="%processFactoriesExtensionPointName" schema="schema/processFactories.exsd"/>
-   <extension-point id="logicalStructureTypes" name="%logicalStructureTypesExtensionPointName" schema="schema/logicalStructureTypes.exsd"/>
-   <extension-point id="sourceContainerTypes" name="%sourceContainerTypesName" schema="schema/sourceContainerTypes.exsd"/>
-   <extension-point id="sourcePathComputers" name="%sourcePathComputersName" schema="schema/sourcePathComputers.exsd"/>
-   <extension-point id="logicalStructureProviders" name="%logicalStructureProvidersExtensionPointName" schema="schema/logicalStructureProviders.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         id="breakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.marker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="org.eclipse.debug.core.modelIdentifier">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.enabled">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.registered">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.persisted">
-      </attribute>
-   </extension>
-   <extension
-         id="lineBreakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.debug.core.breakpointMarker">
-      </super>
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="launch">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchModes">
-      <launchMode
-            label="%run"
-            launchAsLabel="%runAs.label"
-            mode="run">
-      </launchMode>
-      <launchMode
-            label="%debug"
-            launchAsLabel="%debugAs.label"
-            mode="debug">
-      </launchMode>
-      <launchMode
-            label="%profile"
-            launchAsLabel="%profileAs.label"
-            mode="profile">
-      </launchMode>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="env_var"
-            resolver="org.eclipse.debug.internal.core.EnvironmentVariableResolver"
-            description="%env_var.description">
-      </variable>
-      <variable
-            name="system"
-            resolver="org.eclipse.debug.internal.core.SystemVariableResolver"
-            description="%system_var.description">
-      </variable>
-      <variable
-            name="system_property"
-            resolver="org.eclipse.debug.internal.core.SystemPropertyResolver"
-            description="%system_property.description">
-      </variable>      
-   </extension>
-   
-<!-- ====================== -->
-<!--  source containers     -->                        					 
-<!-- ====================== -->
-   <extension
-         point="org.eclipse.debug.core.sourceContainerTypes">
-      <sourceContainerType
-            name="%containerName.project"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType"
-            id="org.eclipse.debug.core.containerType.project"
-            description="%containerDescription.project">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.folder"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.FolderSourceContainerType"
-            id="org.eclipse.debug.core.containerType.folder"
-            description="%containerDescription.folder">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.directory"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.DirectorySourceContainerType"
-            id="org.eclipse.debug.core.containerType.directory"
-            description="%containerDescription.directory">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.workspace"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.WorkspaceSourceContainerType"
-            id="org.eclipse.debug.core.containerType.workspace"
-            description="%containerDescription.workspace">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.default"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.DefaultSourceContainerType"
-            id="org.eclipse.debug.core.containerType.default"
-            description="%containerDescription.default">
-      </sourceContainerType>    
-      <sourceContainerType
-            name="%containerName.archive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.archive"
-            description="%containerDescription.archive">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.externalArchive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ExternalArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.externalArchive"
-            description="%containerDescription.externalArchive">
-      </sourceContainerType>      
-   </extension>
-   
-<!-- ===================================== -->
-<!--  launch configuration comparators     -->                        					 
-<!-- ===================================== -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.debug.core.source_locator_memento"
-            class="org.eclipse.debug.internal.core.sourcelookup.SourceLocatorMementoComparator"
-            id="org.eclipse.debug.core.sourceLocatorMementoComparator">
-      </launchConfigurationComparator>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.debug.internal.core.DebugPreferenceInitializer">
-      </initializer>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
deleted file mode 100644
index 90f26fd..0000000
--- a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,1102 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes for the 2.0 release</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 20, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20365">20365</a>: Bidi - NPE when closing Eclipse<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 19, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20492">20492</a>: Extra separator in run/debug history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19878">19878</a>: Collapse/expand symbol (+/-) dissappears in inspect window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19998">19998</a>: NullPointerException when launching rsource that has no extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20066">20066</a>: TVT2: Hardcoded "None" in debug preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20594">20594</a>: Preference listeners should use equals, not ==<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19928">19928</a>: Run/Debug menu ordering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17462">17462</a>: IllegalArgumentException when printing long stack to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19375">19375</a>: Duplicate launch config naming problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is Runtime<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19740">19740</a>: Content assist is now retargetable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19613">19613</a>: LaunchConfig marked PRIVATE shows in Console View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19338">19338</a>: Missing copyrights<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 7, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - a spelling mistake was fixed in the name of a method in IPersistableSourceLocator</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18789">18789</a>: Source editor not given focus on suspend<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18772">18772</a>: Launch Configurations: Table is cut off on motif<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19379">19379</a>: Debug remembers selected state of toolbar entry even if it is no longer enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19443">19443</a>: IPersistableSourceLocator has misspelled method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19489">19489</a>: References to IDebugViewAdapter (DOC)<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 1, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18209">18209</a>: Unable to run a program on first attempt<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 31, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15671">15671</a>: Strange behavior of the console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17017">17017</a>: Not always prompted to find source location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18334">18334</a>: Launch view holding onto Objects longer than necessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18153">18153</a>: launch last and run/debug buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18385">18385</a>: NPE during launching after removing the launch info<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16946">16946</a>: several Eclipse buttons are too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18474">18474</a>: Empty group in history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16764">16764</a>: Debug Perspective leaks actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10383">10383</a>: Help pass for 2.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16152">16152</a>: NLS pass<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16379">16379</a>: Launch configs tree is missing label and is not wide enough<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 30, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17087">17087</a>: Launch view, source lookup and closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17029">17029</a>: DCR: Please let me specify a launch history size of 20<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16378">16378</a>: Missing icons in launch config creation tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18156">18156</a>: Debug/Run As cascade menu should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16462">16462</a>: Not all tabs visible in Run-time Workbench config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18154">18154</a>: Launch shortcuts menu labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16685">16685</a>: Internal error changing launch history preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16963">16963</a>: Mneumonic missing on table label for Select Launch Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16975">16975</a>: Up/down button on launch history page not working correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17512">17512</a>: Missing mneumonics in Console Preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18222">18222</a>: All XML written using platform line delimiters/UTF8<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16955">16955</a>: NPE opening java perspective.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17633">17633</a>: ActionDelegateHelper should nullify fTextEditor when it does not need it<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17380">17380</a>: Launch history maintains duplicate entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14406">14406</a>: Debug menu items becoming disabled inappropriately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17794">17794</a>: Disabled actions in the context menu of the Launch config dialog viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17358">17358</a>: Revert button not enabled after changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17116">17116</a>: Launch related walkbacks in .log<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18099">18099</a>: Change provider name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17490">17490</a>: F1 help for launch config tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18121">18121</a>: Static menus items should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17649">17649</a>: ObjectCollectedException written to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16838">16838</a>: Over zealous error logging when config has been deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17105">17105</a>: Attempt to save shared launch configs in closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18122">18122</a>: Scrapbook configs show up in list for Launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16970">16970</a>: ClassCastException out of Launch history preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16492">16492</a>: CommonTab Switch to String<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16956">16956</a>: NPE opening java perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17100">17100</a>: Launch Config name with underscore is truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16638">16638</a>: Missing menmonic on Debug Action Groups page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17072">17072</a>: "Show Supported Breakpoints" has just one calorie, not meaningful enough<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17946">17946</a>: Generalize launch shortcuts/convenience actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 28, 2002
-<h3>
-What's new in this drop</h3>
-<li>New/replaced extension point. The extension point "org.eclipse.debug.ui.launchConfigurationShortcuts" has
- been replaced with "org.eclipse.debug.ui.launchShortcuts". Please see extension point documentation
- for details.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16757">16757</a>: Launch.removeDebugTarget does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17534">17534</a>: Two huge bugs in Launch class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17676">17676</a>: Run menu history menus not updated after organize favorites<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17069">17069</a>: NPE deleting project with shared config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16655">16655</a>: Streams are not closed when a java program is finished<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 21, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16185">16185</a>: Show/hide package names button in doesn't work in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15964">15964</a>: Updates to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16476">16476</a>: TextViewerGotoLineAction$NumberValidator<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 19, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - deprecated method was removed - ILaunchConfigurationTab.isValid()</li>
-<li>New extension point - org.eclipse.debug.core.launchConfigurationComparator. This 
- extension point is for launch configuration attributes that require a custom
- equality implementation. See documentation for extension point.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15704">15704</a>: Default "Maximum launch history size" should be at least 10<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15560">15560</a>: Cancel button on edit Configurations is much smaller than others<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15952">15952</a>: Remove deprecated method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15953">15953</a>: No longer expanding debug target to show threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15988">15988</a>: ArrayIndexOutOfBoundsException in config reselection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16107">16107</a>: NPE opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16063">16063</a>: Preference pages now re-size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16060">16060</a>: Re-sizable launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15850">15850</a>: LaunchView changes required from platform ui changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16143">16143</a>: Multiple *.launch filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12032">12032</a>: Debug Constants should include value in javadoc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6485">6485</a>: Extension & Package documentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16217">16217</a>: launch config "revert" causes flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16325">16325</a>: Content assist action icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16356">16356</a>: NPE out of ConsoleDocumentManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16148">16148</a>: IProcess should support an exit value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14927">14927</a>: Cancel button in progress monitor of launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15775">15775</a>: Deleting launch config should select the next config<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16113">16113</a>: Execution arguments gets lost if starting a class file of a jar library<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 14, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13766">13766</a>: Error recovery on failed launch - need to bring up dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11540">11540</a>: Misc Debugger source lookup dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15506">15506</a>: Switching launch configs should show busy cursor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15618">15618</a>: DebugDropDownAction missing resource string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15375">15375</a>: ClassCastException trying to resume<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15720">15720</a>: Debug perspective should define place holders for standard views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12316">12316</a>: Message (stack trace) silently written to console when trying to run small java example<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4130">4130</a>: Eclipse Debugger: Setting Breakpoints via keyboard not possilbe (1GITILH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15449">15449</a>: 'show detail pane' toolbar button behaves differently than other buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12904">12904</a>: Creating shard Launch Configuration fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15748">15748</a>: Duplicate action in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16848">15848</a>: Change Debug Menu id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15533">15533</a>: DebugAction contains redundant cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14922">14922</a>: Config created by double clicking on launch type; delete not enabled<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 08, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9034">9034</a>: Variables view should scroll to display new variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12001">12001</a>: Plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14412">14412</a>: Launch configuration XML should be written to file immediately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15246">15246</a>: Allow private launch configs to perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15325">15325</a>: Remove 'Configuration' from debug action labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1636">1636</a>: Copy/paste across console docs (1GF61GB)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13457">13457</a>: Should expose launch history length as user preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15024">15024</a>: Launch configuration dialog doesn't display "favorite" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15180">15180</a>: DND.ERROR_CANNOT_SET_CLIPBOARD must be handled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14657">14657</a>: LaunchDropDownAction and coolbar support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14897">14897</a>: many missing '...' on buttons in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15362">15362</a>: Standard out not always hooked to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15446">15446</a>: first click in the debug/launch history preference page results in exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11894">11894</a>: Mneumonic collision in the debug menu<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 30, 2002
-<h3>
-What's new in this drop</h3>
-<li>Changes in the launch configuration dialog:
-	<ul>
-	<li>To free up screen real estate for editing launch configurations, the tree of launch
-		configurations has been made more narrow by removing the "copy" button from the
-		dialog. The "new" button copies a configuration when a configuration is selected, and
-		creates a new configuration (based on the workbench selection) when a configuration
-		type is selected.</li>
-	<li>The "Cancel" button has been replaced with a "Close" button (closing the dialog
-		does not cancel changes). You will be prompted to save unsaved changes.</li>
-	<li>A "Revert" button has been added to the edit area to revert changes on the 
-		currently selected launch configuration (under edit).</li>
-	</ul>
-</li>
-<li>Changes to launch behavior
-	<ul>
-	<li>Pressing the run or debug toolbar buttons launches the configuration that was last launched
-		(in the workspace), in the appropriate mode (run or debug).</li>
-	<li>To create a new launch configuration, use the cascading menu items on the run or debug
-		menu. For example "New Configuration -> Local Java Application" - this will create a new 
-		configuration based on the selection in the workbench (or active editor).</li>
-	<li>"Single-click launching" preference has been removed. It was determined that a preference
-		which changes the behavior of a toolbar button is disorienting to the user.</li>
-	</ul>
-</li>
-<li>Changes to ILaunchManager
-	<ul>
-	<li>API for setting default launch configuration types has been removed.</li>
-	</ul>
-</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13537">13537</a>: DebugActionGroups: Clearer wording in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13909">13909</a>: Inconsistent margins on preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11889">11889</a>: Buttons too small in the Console and Launch Configuration Preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13513">13513</a>: Running a debug view in a Java perspective has several problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13536">13536</a>: DebugActionGroups: Collision on ID wipes out both action groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13317">13317</a>: New Configuration menu empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14560">14560</a>: Deleting breakpoint selects another breakpoint in the wrong direction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14143">14143</a>: Breakpoints View appears with "Go to file" button enabled regardless of breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9834">9834</a>: Views do not remember package visibility filter settings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11904">11904</a>: Debug menu mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14797">14797</a>: NumberFormatException if cancel Go to line in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13440">13440</a>: menu reorganization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14550">14550</a>: Need to be able to make launch configuration type invisible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6388">6388</a>: Variables view's static and field buttons are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14495">14495</a>: clipboards must be disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13665">13665</a>: Debug preference page looks cluttered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14485">14485</a>: Cannot delete a launch config using the Delete key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14486">14486</a>: Default perspective for Run should not be Debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11697">11697</a>: Debug Preference Page needs group box<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14540">14540</a>: Relaunch action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14556">14556</a>: Enable breakpoint action using old selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14520">14520</a>: Debug plugins should provide consistent unique identifier access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12577">12577</a>: Launch configurations wizard - usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13555">13555</a>: Edit configuration dialog UI confusing<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12292">12292</a>: Unable to suspend a running thread to see stack frames<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 23, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13836">13836</a>: Missing and duplicated extensions in debug plugin.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12125">12125</a>: NLS debug projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14111">14111</a>: Console terminate button not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13041">13041</a>: Remove all terminated action incorrectly enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13372">13372</a>: Strange UI feedback when breakpoint hit during evaluation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13430">13430</a>: Open on Type in console can work better; less beep<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12184">12184</a>: IncompatibleThreadStateException on launchAdded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14190">14190</a>: Stack dumps noticed in log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14125">14125</a>: Debug view "Resume" always jumps to source - menu item does not<br>
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12132">12132</a>: Can't launch debugger if proxy set.<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 18, 2002
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Support for old launchers has been removed (ILauncher, ILauncherDelegate, ILaunchWizard).
-	Launch configruations now rule the launching world.</li>
-<li>The extension point "org.eclipse.debug.ui.launchTabs" has been removed and replaced with
- a new extension point "org.eclipse.debug.ui.launchTabGroups".</li>
-<li>The constants IDebugUIConstants.PREF_AUTO_SHOW_DEBUG_VIEW & IDebugUIConstants.PREF_AUTO_SHOW_PROCESS_VIEW
- have been removed.  Users can now set a default perspective for each of Run & Debug which may be
- overridden in a launch configuration.</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13385">13385</a>: Showing detail should be disabled when multi-select in var view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12788">12788</a>: Cut, copy, paste actions don't work in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8590">8590</a>: Allow position of "step debug" in step tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12982">12982</a>: Need ability to set initial state of debug view based on AbstractDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13554">13554</a>: Incorrect dependencies: result is NPE in DebugActionGroupsManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13714">13714</a>: Pressing Apply makes tabs disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13307">13307</a>: NPE in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12382">12382</a>: Action set part association for the launch view?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13285">13285</a>: Debug/Run With use old launchers when in config mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13425">13425</a>: Double click to expand/contract tree in variable and expression views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13864">13864</a>: npe on lanuning (latest after 0412)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12281">12281</a>: Launch configuration tab widgets are private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13501">13501</a>: hostname cut off when show qualified names is off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12257">12257</a>: remove single event handling support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12722">12722</a>: Actions for configuration dialogs should appear on Debug menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13324">13324</a>: Change of selection lost in Launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11942">11942</a>: Single click launching preference text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13088">13088</a>: NPE in the log after exiting workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13565">13565</a>: Properties page for process should not contain defaults/apply buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13853">13853</a>: native code error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13613">13613</a>: Delegating presentation and #setAttribute()...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12962">12962</a>: Same target shows up twice in drop-downs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13375">13375</a>: Show Detail Pane in popup menu missing mneumonic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12785">12785</a>: Select all in the details pane selects all variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13383">13383</a>: Copy variables action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13993">13993</a>: Debug and Run buttons have been accidentally swapped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12953">12953</a>: Action "type" constants should be moved from AbstractDebugView to IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14124">14124</a>: Launch configuration classes not in launch configuration package<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12677">12677</a>: Single click launching and F11, Ctrl-F11<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13214">13214</a>: ArrayOutOfBoundException in launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13480">13480</a>: NPE creating Java Project when running Runtime Workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13345">13345</a>: exception in log - after opening/closing projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13085">13085</a>: DebugActionGroups cannot handle two actions with same ID in views<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 09, 2002
-<h3>
-What's new in this drop</h3>
-<li>A new extension point exists in the debug ui to control the types of launch configurations that can
- be created from the cascading "New run/debug configuration" menu (off the run/debug dropdown menus).
- A type of configuration can be contributed to mulitple perspectives.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1696">1696</a>: DCR: Perspective specific launcher filtering (1GIYJXH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11733">11733</a>: duplicate shared config after close & restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11899">11899</a>: Launch config name collission<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12658">12658</a>: Single click launching doesn't work if the active editor isn't selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12488">12488</a>: Launch config dialog should allow double-click on config type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11710">11710</a>: Deleting a launch configuration leaves no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12598">12598</a>: Launch config - tab group API inconvenience<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11190">11190</a>: cannot set working directory if it includes a japanese character<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12160">12160</a>: Launch creation/lifecycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8772">8772</a>: Infinitely looping stack trace in target pgm locks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12619">12619</a>: Exception during startup.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10282">10282</a>: Rendering of changed variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12310">12310</a>: Need ability to determine if a breakpoint applies to a target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12981">12981</a>: Launcher - listed name does not match given name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9825">9825</a>: Action icon inconsistencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12891">12891</a>: Several IOExceptions from .log in StreamsProxy.write(StreamsProxy.java:92)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11906">11906</a>: Useless single click launch for classes with no main<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12276">12276</a>: Index out of bounds exception from launch configuration dialog<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 2, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12289">12289</a>: Breakpoint should extend platform object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12548">12548</a>: Debug event filters should use event sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12613">12613</a>: Exception when on target workspace when starting eclipse<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11756">11756</a>: Launch config dialog: button sizes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11923">11923</a>: Console preference page needs reworking<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11880">11880</a>: Launch ConfigurationType property page missing accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11925">11925</a>: Up/down buttons for launch history restricted to single select<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11457">11457</a>: Launch Configuration Dialog issues<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11702">11702</a>: Launch configuration defaults are set after widgets are initialized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11330">11330</a>: JavaEnvironmentTab depends on JavaMainTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11053">11053</a>: Launch view too optimistic on source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11982">11982</a>: Logging exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12339">12339</a>: NPE when i switch to debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7609">7609</a>: Attempting to go to a marker that no longer exists<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11326">11326</a>: Restore instead of rebuild launch config index<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11720">11720</a>: Need replacement for #hasChildren<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 26, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breaking API change: IDebugViewAdapter had been renamed to IDebugView</li>
-<li>Launch configurations are the default launch mechanism.</li>
-<li>Debug events are reported in sets. @see IDebugEventSetListener and IDebugEventListener</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11610">11610</a>: Doc: identifier for launch extension points are incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11401">11401</a>: API on ILaunch.getDebugTarget() <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11303">11303</a>: Deadlock on startup processing breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11919">11919</a>: 2 NPEs using Preferences->Debug->Launch Configuration Types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6212">6212</a>: Debug view toolbar/menu pollution<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11849">11849</a>: Duplicate history items showing up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10448">10448</a>: IExpressionManager#hasExpression, IBreakpointManager#hasBreakpoints,etc.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10817">10817</a>: configs in java packages get copied to output folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11207">11207</a>: IDebugViewAdapter should be named IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11612">11612</a>: Agressive clearing of instruction pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12025">12025</a>: Invalid thread access out of Launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12229">12229</a>: Set default launching style to configuration based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9650">9650</a>: Variable change notification bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12157">12157</a>: Debug event sets<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 18, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11197">11197</a>: Feature request: Delete in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11212">11212</a>: Debug UI plugin.xml references jdt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11308">11308</a>: Launch configurations make workspace non-transportable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11346">11346</a>: Registering a launch multiple times is not handled well<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10586">10586</a>: Use new workbench selection service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11425">11425</a>: ILaunchConfiguration JavaDoc is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11189">11189</a>: Flicker in the Launch Configurations dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11253">11253</a>: Launch config tab flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11370">11370</a>: Launch view update bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11462">11462</a>: Launch config metadata change generates parse exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10637">10637</a>: "currently active project" should be the "current working directory"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10162">10162</a>: Console View to front on error output only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8937">8937</a>: Feature Request: Select all in the breakpoints view<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10775">10775</a>: New, delete copy of Launch configurations remain disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10780">10780</a>: Delete and Copy enabled for Launch configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10778">10778</a>: Launch configuration names should be trimmed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6376">6376</a>: Should be possible to remove entries from the "Run list"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10855">10855</a>: Use new workbench API for show perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10610">10610</a>: Null exception when lauchviewer processing events on remove tree items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8420">8420</a>: Cannot edit ExpressionView detail area until after inspect.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11076">11076</a>: Delete configs reamin in favorite list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9922">9922</a>: Null pointer in launch configuration type property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7605">7605</a>: Feature: Doubleclicking in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11072">11072</a>: History menu update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8294">8294</a>: "Debug History" and "Run History" have empty submenus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11133">11133</a>: NPE in LaunchView.initializeSelection()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11110">11110</a>: NPE in AbstractListenerActionDelegate.pageActivated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10847">10847</a>: API - AbstractLaunchConfiguration tab<br>
-<h3>
-
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch Configuration API has changed. The launch configuration tab lifecycle is now similar
- to that of preference and wizard pages.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9680">9680</a>: Launch config: pressing save returns to first tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9660">9660</a>: Launch Config Flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10524">10524</a>: Provide default label provider API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10506">10506</a>: NPE in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10582">10582</a>: SWT Exception closing a Debug Perspective in JUnit test<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7207">7207</a>: Launch configuration bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10652">10652</a>: Remove action enabled when nothing to be removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10243">10243</a>: ClassCastException when removing a breakpoint<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 26, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7767">7767</a>: Changing from "Debug View"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 14, 2002
-<h3>
-What's new in this drop</h3>
-<li>As part of the transition to configuration-based launching, early adopters may
-continue to access the launch configuration dialog by Shift-clicking the run and debug
-buttons, but configuration-based launches will NOT appear in the history, and
-CANNOT be relaunched.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9166">9166</a>: NPE in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9483">9483</a>: NPE in LaunchConfigurationTypePropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9652">9652</a>: IllegalArgumentException out of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9704">9704</a>: NPE on shutdown in BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 12, 2002
-<h3>
-What's new in this drop</h3>
-<li>Removed deprecated constant IDebugUIConstants.ID_PROCESS_VIEW</li>
-<li>Basic icons and their support has been removed</li>
-<li>Breakpoint property sheet has been replaced with breakpoint properties dialog.
- Choose "Properties..." from the pop-up menu in the breakpoints view.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8230">8230</a>: Console does not show process as <terminated>; better tracking of changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9194">9194</a>: Attempting to modify locked resource tree in BreakpointManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9218">9218</a>: NPE in LaunchConfigurationLabelDecorator.isLaunchConfigFile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9280">9280</a>: Debug event handlers performing runnables after dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9057">9057</a>: API - CHANGE event should be better specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9111">9111</a>: Invalid thread access running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6370">6370</a>: Breakpoint Properties Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9327">9327</a>: JavaDebugOptionsManager startup loading breakpoints during resource changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9178">9178</a>: Remove All Terminated always disabled?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9065">9065</a>: WID opening editor for breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8296">8296</a>: Debug With menu items have interesting numbering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9421">9421</a>: NPE out of the LaunchView on shutdown with running target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7301">7301</a>: no way to switch to custom debug perspective on debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5311">5311</a>: Missing debug information should be conveyed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1683">1683</a>: Extra Action delegates (1GIGUK0)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9299">9299</a>: NPE in LaunchView.showMarkerForCurrentSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch configuration infrastructure and UI is available for early adopters.
-Developers that have contributed launchers should migrate to launch configurations. To
-access launch configurations from the workbench, press the run/debug buttons while holding
-the SHIFT key down.</li>
-<li>The debugger indicates variables that have changed since the last suspend. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>.</i>
-<li>The debug action set has been renamed from Debug/Run to Debug. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>: Rename Debug action set from "Debug/Run" to "Debug"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8945">8945</a>: Non-Persisted breakpoint can be incorrectly deleted at startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7965">7965</a>: Debug view refresh flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>: Feature: notification of changing variables (1G5NRPC)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1721">1721</a>: Small Feature: separate disable/enable breakpoints (1GKKEI5)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8245">8245</a>: Launch preferences page problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1621">1621</a>: Debugger doesn't come to front when breakpoint is hit (1GEUZEX)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9102">9102</a>: Remove & Terminate walkback<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6807">6807</a>: launch configurations not crash proof<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7837">7837</a>: Launch configuration page verifier error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8235">8235</a>: Ctrl-space does not work for code assist in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7763">7763</a>: (usability) selecting in variables view with details pane causes un-maximize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7814">7814</a>: API for char range within a line<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8501">8501</a>: "Disable all" breakpoints action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7864">7864</a>: Need API for selection changes in debug view<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 24, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8059">8059</a>: NPE out of ControlActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8005">8005</a>: Terminate & Remove disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8063">8063</a>: NPE in BreakpointsView when closing workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8318">8318</a>: internal error occured, if open the menu "Debug -> Debug History"<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 22, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breakpoint API has been updated to allow selective persistence of breakpoint
-of the same type</li>
-<li>Breakpoint API now allows for "hidden" breakpoints. @see IBreakpoint.isRegistered()</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7578">7578</a>: .metadata launch files not in correct location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7626">7626</a>: Widget is disposed error relaunching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1710">1710</a>: DCR - Launcher should have control over perspective switching (1GJUT9J)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6480">6480</a>: Launch configurations - store with workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7961">7961</a>: updating source twice per suspend event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7507">7507</a>: debugger keyboard shortcuts do not work in 20020109<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2990">2990</a>: Internal errors when fast clicking in debug stack (1GLDZVH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7974">7974</a>: Stack overflow pression "remove all" from Expression View<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1563">1563</a>: Fully qualified rendering of launch element name (1GD7U0Z)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7418">7418</a>: Need the Process view back<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7627">7627</a>: Tooltips not working in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7755">7755</a>: The Breakpoints pane should highlight the breakpoint where the debugger stops<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5141">5141</a>: Breakpoint manager can use new marker API<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 15, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6088">6088</a>: Move "qualified name" rendering to java debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7420">7420</a>: "Debug UI.xml" references JDT<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7580">7580</a>: NPE out of AbstractDebugEventHandler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7513">7513</a>: Terminate and remove fails to remove when timeouts occur<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7316">7316</a>: Inconsistent casing for Show detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7370">7370</a>: TimeoutException occurs during stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1714">1714</a>: Confusion of launches from different projects in history (1GJYNLK)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 9, 2002
-<h3>
-What's new in this drop</h3>
-<li>The debugger now uses the workbench editor re-use policy.</li>
-<li>There is no longer a Process view. The Debug view shows all debug
-sessions and processes launched. When a workspace is re-started that
-had a Process view open, an error message will appear explaining that
-the Process view could not be created.</li>
-<li>The debug action set has been split into two groups - debug and launch.
-Existing debug and Java perspectives need to be closed and re-opened to obtain
-run and debug buttons in the toolbar. @see bug 1724.</li>
-<li>There is no longer an Inspector view - it has been replaced with an
-Expressions view. When a workspace is re-started that had an Inspector
-view open, an error message will appear explaining the Inspector view
-could not be created.</li>
-<li>A launch can be annotated with client specific data. @see bug 6481.</li>
-<li>A launch can now contain more than one debug target. API has changed
- in ILaunch, ILaunchListener, and ILaunchManager to suppport this.</li>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7120">7120</a>: NPE during shutdown of DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6954">6954</a>: Use new workbench API for openning perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6206">6206</a>: Make AbstractDebugView API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7151">7151</a>: Toggling ShowDetailPaneAction sets focus to the launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7164">7164</a>: NPE during shutdown to do with DebugSelectionManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1724">1724</a>: Feature: split debug action set in to debug & launch (1GKCQVZ)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7167">7167</a>: NPE shutting down in abstract debug view 'save state'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6771">6771</a>: DebugEvent constructors changed to take IDebugElement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1574">1574</a>: Settings in debug views not persisted (1GDTUNW)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6105">6105</a>: Step accelerators should not take focus from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1671">1671</a>: Option to autoclear terminated processes (1GHSO3L)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6357">6357</a>: Combine Process/Debug Views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6200">6200</a>: Extensible set of debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7204">7204</a>: Copy variables action needs icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7031">7031</a>: Inspector is missing a toString area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6213</a>: Breakpoints view improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6481</a>: Feature: Annotate launch with transaction id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1617">1617</a>: type names not always shown in inspector (1GEULC4)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6484">6484</a>: Ability for "super adaptor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6783">6783</a>: Console should not steal focus while writing output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7277">7277</a>: Step detail events for into/over/return<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6214">6214</a>: More that one debug target per lanuch<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6482">6482</a>: Ability to group debug targets in one launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6215">6215</a>: Exception handling in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1688">1688</a>: Object display options (1GIKMIG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1606">1606</a>: Feature: Source Lookup (1GEPJEN)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1553">1553</a>: Handling of no source is confusing (1GC2TVU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7166">7166</a>: Remove terminated launches preference does not applied correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7169">7169</a>: Debug "F" keys not enabled properly on new editor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 18, 2001
-<h3>
-What's new in this drop</h3>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5260">5260</a>: TVT: Properties view for debug process is missing substitution variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7003">7003</a>: Debug With menu launches incorrect program (not finding selection)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1548">1548</a>: Extensible launch modes (1GBEQYO)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1592">1592</a>: DebugPlugin must allow for null elements in updateHistory() (1GEI3C1)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6886">6886</a>: Request: Keep perspective when running application<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1627">1627</a>: Previous editor's unsaved contents are still visible (1GEX5LS)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 11, 2001
-<h3>
-What's new in this drop</h3>
-	<ul>
-	<li>The "relaunch last" action has been remapped to use F9 instead of F10.
-	Please see "<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10" for details.
-	</li></ul>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10 <br>
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 6, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Variables view stays empty with stack frame selected (1GLE8PW) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6577">6577</a>: NPE in DebugContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6598">6598</a>: Problem using old workspace with new build <br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 4, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6216">6216</a>: Help for debug views in 1.0 <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Newly added resources cannot be checked out <br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1715">1715</a>: Consider removing state change actions from BreakpointsView (1GKKT90)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1559">1559</a>: Debugger doesn't pop to front when breakpoint hit (1GD7P7D) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1564">1564</a>: README: printf's in native code only show up in console at the end of execution (1GD80QZ) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1588">1588</a>: README: System.exit(0) from Scrapbook (1GE8JU3) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5485">5485</a>: NPE if missing launcher when using launch history <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1770">1770</a>: Last launch not updated upon deletion (1GLEANH) <br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 27, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Procedural Debug API - new debug element interfaces have been defined to support the notion of registers,
-register groups, memory blocks, and memory block retrieval:
-	<ul>
-	<li>IRegister - a register in a register group</li>
-	<li>IRegisterGroup - register groups are available from each stack frame (that supports registers)</li>
-	<li>IMemoryBlock - a contiguos block of bytes from memory allocated by a running program</li>
-	<li>IMemoryBlockRetrieval - support to retrieve arbitrary blocks of memory from a running program</li>
-	</ul>
-</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1720">1720</A>: Issue: breakpoint manager breaks lazy plug-in load rule (1GK<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6097">6097</A>: The inspector is not refresh<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 20, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>API Change - method addition - @see ILaunch.getLaunchConfiguration(). This does
-not break any clients, as the only implementation of ILaunch is org.eclipse.debug.core.Launch,
-which has been updated.</li>
-<li>API Change - method return value - @see ILaunch.getLauncher(). A launch
-is now allowed to return null for #getLauncher() when it was created by a launch
-configuration rather than a launcher. This does not break any clients, as launch configurations
-are not in use yet. The main client that will have to be updated is the Debug UI.</li>
-<li>New debug preference - "Build (if required) before launch"</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4023">4023</A>: Prompt user for save and build before run  (1GGCBO0)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5818">5818</A>: Debugger Source Lookup page claims project is closed<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5895">5895</A>: NPE out of the Console view on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5896">5896</A>: NPE out of LaunchManagerVisitor on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1623">1623</A>: StackFrame selected but toolbar actions disable (1GEV0L7)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5681">5681</A>: Show debug perspective doesn't reuse my perspective<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5909">5909</A>: Should have terminate on Debug menu<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5582">5582</A>: Keyboard shortcut for run/debug<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5789">5789</A>: Console Empty on Hello World Examples<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5951">5951</A>: Console buffer not flushed?<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5946">5946</A>: NPE  in LaunchManagerVisitor<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5808">5808</A>: Console output being lost<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5925">5925</A>: DebugView does not survive platform crash<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 13, 2001
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5360">5360</A>: ListenerList#removeAll<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5613">5613</A>: Debugger hangs when it hits breakpoints during self hosting<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4269">4269</A>: Simplifying debugger perspective (1GKRAWI)<br>
-
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5588">5588</A>: General Protection Fault double clicking on breakpoint in th<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5795">5795</A>: Reached Breakpoint, but no stacktrace<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 12, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Draft definition and infrastructure for launch configurations.</li>
-<li>API Change: Presentation of variable value details allows for long running
-computation. @see IDebugModelPresentation.computeDetail(IValue, IValueDetailListener). @see IValueDetailListener.
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5686">5686</A>: Launch/Run actions should be available on menubar<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5579">5579</A>: Would like option to switch to Debug perspective on breakpoi<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
deleted file mode 100644
index 3e0da8c..0000000
--- a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,410 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 25, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35459">35459</a>: "Run As ..." menu disabled<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 24, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35410">35410</a>: VariableView#fExpandedVariables is not always cleaned<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34901">34901</a>: Typos(?)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34899">34899</a>: Typos<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34554">34554</a>: console: locking during 6 second clear request on big contents<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 6, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33767">33767</a>: Step with filters label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33993">33993</a>: NPE in launch config getMemento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33996">33996</a>: Making a shared favorite config does not appear in fav's<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 4, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32631">32631</a>: Problem with text input from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32668">32668</a>: Invalid thread access disposing process drop down menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32706">32706</a>: Can re-enable LCD when disabled for run in foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32621">32621</a>: Console Pref page: punctuation and capitalization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33289">33289</a>: Console: ShowProcess tooltip should use book capitilization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29752">29752</a>: Removal of the "launchers" extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31519">31519</a>: action set part associations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33579">33579</a>: NPE in launch view event handler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33613">33613</a>: NPE in console line notifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32722">32722</a>: Attempting two background builds at same time: lose console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33620">33620</a>: NPE attempting to launch from a LCD with no selection area (Run Ant...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33153">33153</a>: Debug As and Run As actions are ignored if there is no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33185">33185</a>: Activate workbench when breakpoint hit should be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32775">32775</a>: BadLocationException on file hyperlink from ant build<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 20, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18665">18665</a>: Launch progress message bar is too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32191">32191</a>: LaunchManager added too late as resource changed listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31431">31431</a>: Show In...from the Console to the Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32247">32247</a>: Missing hashCode in org.eclipse.debug.internal.core.LaunchConfigurationInfo<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32176">32176</a>: Hyperlink on wrapped line draws line badly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32275">32275</a>: Debug console selection shows the wrong information<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30513">30513</a>: Step actions should be disabled when debug view closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31161">31161</a>: Dialogs don't use standard platform spacing for buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31216">31216</a>: Offer Show In...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11991">11991</a>: Renamed config not updated in history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31745">31745</a>: No feedback for navigating links in console using keyboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30586">30586</a>: NPE opening editor in LaunchView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32433">32433</a>: ShowProcessAction reference to its process keeps hyperlinks in memory<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 18, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31565">31565</a>: Selecting part of stack trace in console loses focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29326">29326</a>: Launch configuration with errors can be launched<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29045">29045</a>: StringIndexOutOfBoundsException from Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31394">31394</a>: New console UI does not provide a "Clear History" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31898">31898</a>: Error in the status bar without any text selected in the console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30901">30901</a>: Dialog flicker when launching a program<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31500">31500</a>: Double click for create a new launch configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 11, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31321">31321</a>: disable/enable breakpoints does not scale<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31502">31502</a>: Refactor LaunchHistoryPreferenceTab<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30411">30411</a>: Exceptions deleting Launch Configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28148">28148</a>: Debug and Run toolbar actions missing mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30493">30493</a>: No need for the verify key listener in the VariablesView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22815">22815</a>: Support delete key in viewers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30125">30125</a>: Provide inforpops for launch configuration types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30332">30332</a>: Not enough IDisconnect support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28827">28827</a>: Run Screen Sizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30167">30167</a>: Would like a way to navigate back from debugger to corresponding launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30333">30333</a>: Problem when multiple debug events occur at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30831">30831</a>: Console View: Terminate and Clear are too close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29503">29503</a>: Debug preference page error messaging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 28, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29877">29877</a>: Chkpii errors in debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28295">28295</a>: ConcurrentModificationException during "Run Ant..." build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18306">18306</a>: Use safe runnables for listeners and "untrusted" code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30037">30037</a>: Use platform support for breakpoint persistence<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29843">29843</a>: tooltip of the debug and run buttons displays "Debu&g" and "Ru&n"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30307">30307</a>: Apparent mispelled catalog reference in Expressions pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30222">30222</a>: External tool builder build command path is fully qualified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30324">30324</a>: NPE restoring shared launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29112">29112</a>: Add key binding to "open link" action in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30180">30180</a>: Stale launch if runtime-workbench launch is canceled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29028">29028</a>: Stack trace hyperlink does not work after clear<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 21, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24154">24154</a>: Add interfaces to debug core for enhanced debug function...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27782">27782</a>: Improve Debug UI plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29660">29660</a>: Only top stack frame icon correct after long step<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29676">29676</a>: Better error reporting when a launch config goes missing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29720">29720</a>: launch dialog for edit/run of a single config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26157">26157</a>: launch config working sets applied globally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27989">27989</a>: Provide 'final verification' launch configuration API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29450">29450</a>: LaunchManager.searchForFiles optimization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24821">24821</a>: [Key Bindings] Provide debug action definitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29153">29153</a>: Migrate extension point schema ownership<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 14, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28969">28969</a>: convenience action to open LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27342">27342</a>: No busy cursor when creating new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25569">25569</a>: Checkbox in launch config doesn't keep its value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27164">27164</a>: shared launch configs and "validate edit"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29064">29064</a>: Attached source not recognized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27830">27830</a>: Use IActionDelegate2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28033">28033</a>: external tools dialog title shows as "&External Tools"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27403">27403</a>: Should consider using the new font propogation support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22927">22927</a>: Add word-wrap option to Variables display area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28127">28127</a>: NPE if AbstractDebugView handling exception early<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22230">22230</a>: #setButtonLayoutData addition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24754">24754</a>: Preferences - should offer font choice for variable details pane<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 07, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28386">28386</a>: Source selection disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28571">28571</a>: Text selection updates on evaluation end<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10016">10016</a>: Flicker of System.err output in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28060">28060</a>: Launch#canTerminate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24884">24884</a>: Launching progress monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28562">28562</a>: details area does not update when BP hit while stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7715">7715</a>: Console does not show output of selected process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28867">28867</a>: [Console] Navigation between output of hosted/debugged apps<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27172">27172</a>: Hang copying variables with cycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29052">29052</a>: ConsolePreferencePage problem<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28383">28383</a>: Debug view flashes during stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28245">28245</a>: No launchAdded notification on first relaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28282">28282</a>: Launch view doesn't select stack frame when it is made visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27011">27011</a>: NPE from LaunchConfigurationTabGroupViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28317">28317</a>: NPE exiting workbench<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 13, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28050">28050</a>: Extra separator if no history, only favorites.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27881">27881</a>: Remote Debug Connection Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28088">28088</a>: Console view caused NPE when "becomesVisible"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27092">27092</a>: Only update variables/expressions when visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28227">28227</a>: NPE painting console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28100">28100</a>: Re-factor "isVisible" debug view function<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25437">25437</a>: Console Performance when output alternates between streams<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 10, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27139">27139</a>: Common tab has duplicate accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23216">23216</a>: Shared launches marked as favorites do not show up after importing existing project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23951">23951</a>: Flicker when closing launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26333">26333</a>: Improve launch manager startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24715">24715</a>: Launch dialog open return codes are internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26335">26335</a>: Improve debug plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27834">27834</a>: LaunchHistory registers unnecessary listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27607">27607</a>: Better Ant project names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26503">26503</a>: launch groups/dropdown should support shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27877">27877</a>: Don't use a marker for stack frame line highlighting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27816">27816</a>: Re-work launch actions to use launch group framework<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27952">27952</a>: hyperlink region should not be stored in hyperlink<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 03, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27353">27353</a>: ConsoleContentProvider -> ConsoleColorProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27347">27347</a>: Process types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27200">27200</a>: "Show console when program writes ..." doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19674">19674</a>: LaunchConfigurationDialog is over 3,000 lines (whew!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27248">27248</a>: Launch config dialog is grotesquely large<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 26, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18814">18814</a>: Cannot 'save changes' and duplicate a Launch configuration at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25745">25745</a>: NPE if no tab group specified for a configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26996">26996</a>: get/setAttributes on ILaunchConfiguration/WorkingCopy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26702">26702</a>: Allow single launch config to be edited<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 12, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25701">25701</a>: Instruction pointer disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23477">23477</a>: Most recent launch config lost after each restart<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 05, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1524">1524</a>: Feature: Displaying Instruction pointer (1G3A7CG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 22, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24738">24738</a>: Launch Config Dialog: Pressing cancel permanently diables 'Apply'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16817">16817</a>: DebugException: The resource tree is locked for modifications.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 15, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24364">24364</a>: Investigate opening launch config dialog from inside a delegate's launch() method<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 8, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24270">24270</a>: UI hangs when try to debug with 'bad' VM arguments<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 1, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24100">24100</a>: LaunchConfigurationWorkingSetPage.setSelection should work without container being set<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Sept 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23124">23124</a>: Presentation of "no source"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23266">23266</a>: NPE exception in VariablesViewContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22595">22595</a>: No code assist in details pane<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 27, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22283">22283</a>: ArrayIndexOutOfBoundsException in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19856">19856</a>: Create a new launch configuration should always be an option in launch configuration wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18877">18877</a>: Flicker in VariablesView when rapid stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 06, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21585">21585</a>: Evaluating expression switches editors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9687">9687</a>: Should have busy cursor opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21640">21640</a>: Show types action in Variables view is confused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18787">18787</a>: Slightly off message in details pane of Expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15847">15847</a>: Disable Run / Debug buttons in toolbar if no contribution is associated with that mode<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 30, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21504">21504</a>: Both "enable" and "disable" breakpoints actions are enabled when multiple breakpoints are selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20431">20431</a>: Run/debug include in favorites setting ineffective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19099">19099</a>: Console in different window keeps name of terminated and removed debug target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20504">20504</a>: Launch view accelerator update workaround no longer needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20602">20602</a>: Potential NPE in AbstractDebugView when subclass does not persist state in memento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20610">20610</a>: [Console] Terminate button disabled on Clear Console, even when app still running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20713">20713</a>: 2 requests to change value of variable when enter pressed on invalid value.<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
deleted file mode 100644
index fb29aed..0000000
--- a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,994 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC4</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68181">68181</a>: [doc] Error in IDebugUIConstants javadoc (launchActionSet)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC3</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61992">61992</a>: Slow selection change in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66586">66586</a>: Debug-related views no longer "come to front" in non-debug perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66990">66990</a>: PopupInformationControl does not specify shell for handler<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66330">66330</a>: Remote Debug Connection not disconnected when JDIDebugModel.newDebugTarget(...) fails<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66443">66443</a>: Review LaunchView call to IEditorReference#getEditor(true)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67522">67522</a>: Views don't open when auto-manage initially activated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67463">67463</a>: Launch Shortcuts schema is incorrect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67507">67507</a>: Ampersand ('&') in label when adding directory to source lookup path<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67620">67620</a>: Breakpoints should not be shown in the overview ruler<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65051">65051</a>: string_prompt variable prevents other variables from executing<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67781">67781</a>: color tuning<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC2</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64638">64638</a>: Don't use new "Run" icon on Debug objects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45980">45980</a>: Check calls to IWorkspace.run(...)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65067">65067</a>: switch perspective when breakpoint hit not honored<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57293">57293</a>: [doc] Beef up contextViewBinding schema<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66033">66033</a>: Move isAutoManageViews() to LaunchViewContextListener<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63340">63340</a>: Remove DebugContextManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65814">65814</a>: o.e.debug.core.memoryRenderings extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65581">65581</a>: broken doc link for stringVariablePresentations<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65351">65351</a>: Breakpoint migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64940">64940</a>: Delay on breakpoint rendering when enable/disable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66187">66187</a>: Polish patch: support view activation via a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65356">65356</a>: source lookup tab migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65072">65072</a>: workbench not activated when breakpoint hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64984">64984</a>: Inspect doesn't work in Display View<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65039">65039</a>: Launch view should use IPerspectiveListener2<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64666">64666</a>: Run/Debug prompts to continue before compiling [JUnit]<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>June 1, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56012">56012</a>: Consistency in space at top of launch configuration tabs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64188">64188</a>: Classcast exception when trying to resolve non-stackframe object<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63468">63468</a>: ConsoleView should set it's title using setContentDescription()<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64019">64019</a>: IllegalArgumentException when editing ant builder<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63449">63449</a>: Wrong menu path for profile action set.<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61117">61117</a>: enable checkbox state after "Show Breakpoints Supported by Selected Target"<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62322">62322</a>: Green triangle for Run is confused with the Resume button<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63951">63951</a>: Wrong window activated when new window is opened<br> 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63323">63328</a>: Move "show debug action set" to LaunchView<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63493">63493</a>: LaunchView keeps lots of state from last debug session in memory<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63016">63016</a>: Display view always brought to the top<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64337">64337</a>: unqualified source lookup fails in external archive<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62803">62803</a>: ExternalArchiveSourceContainer needs to handle multiple root paths<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 21, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63348">63348</a>: NPE from popup<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63374">63374</a>: NPE in LaunchView.partClosed<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63575">63575</a>: Invalid button states in EnvironmentTab of Launch Configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62798">62798</a>: Ok to launch Yes/No should also honor cancel<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62960">62960</a>: NullPointerException when restoring default in Source Lookup Tab<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63009">63009</a>: Source Lookup Tab does not properly show icons for Jar files<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63182">63182</a>: Warning about error in pre-requisite wrong<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63090">63090</a>: Console scroll button has its logic reversed.<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63053">63053</a>: View Management view menu drop down has no mnemonic<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63249">63249</a>: uneccessary error logging<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63029">63029</a>: Show As for logical structure has no mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62564">62564</a>: A runnable may not be run, if the previous one throws an exception<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54407">54407</a>: Make a pass on all the properties files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62643">62643</a>: [External Tools] Quoted args send quote to process<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63027">63027</a>: View Management "Reset Now" button does not layed out correctly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56042">56042</a>: [Coolbar] [Workbench] Toolbar flash selecting stack frames<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62592">62592</a>: Debug view can fail to close generic debugging views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63050">63050</a>: NPE in VariablesViewContentProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62574">62574</a>: Expose Debug view's "view tracking" behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63293">63293</a>: Pressing "Reset Now/Cancel" does not cancel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63256">63256</a>: NPE when adding a breakpoint in an external Java file<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62391">62391</a>: View management: Views opened in wrong perspective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 18, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57519">57519</a>: Console should bold title when new output is available<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53508">53508</a>: Activate debug action set with debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value "null"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62069">62069</a>: NullPointerException in LaunchViewContextListener#initViewCollection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61940">61940</a>: Customized perspective opens closed views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61064">61064</a>: improve string variable descriptions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61116">61116</a>: Common watch expressions don't work for wrapper adapters<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60024">60024</a>: Memory view code could make use of Debug plugin logging support<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61385">61385</a>: Remove debug action group doc<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47295">47295</a>: Hard to pin down a console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62236">62236</a>: Debug color settings should NOT be shown in Workbench>Colors and Fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61938">61938</a>: Add source location dialog always selects Java Classpath Variable<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62193">62193</a>: No RunToLine action in context menu<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62488">62488</a>: Default pref settings<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62490">62490</a>: out-of-box experience<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61412">61412</a>: Source lookup tab causes config to need saving<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61958">61958</a>: dangerous practice of catching Throwable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60327">60327</a>: Review LaunchViewContextListener multi-window behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56412">56412</a>: Duplicate favorites after rename<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61630">61630</a>: schema for external tools configurationDuplicationMaps ext point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55400">55400</a>: context menu&gt;watch from the variables view doesn't open/activate the expressions view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62258">62258</a>: No vertical scroll bar on inspect results<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61826">61826</a>: Add file extension filtering for run/debug context menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51435">51435</a>: CommonSourceNotFoundEditor#resetEditor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60016">60016</a>: Accessibility: Run config, Arguments tab: Working directory not read<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61868">61868</a>: Double tree viewer in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61917">61917</a>: use .exsd for extension pt schemas<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62202">62202</a>: Run context menu does not filter actions based on enabled activities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62269">62269</a>: Uneccessary label computation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61928">61928</a>: Launch Views leaking<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 11, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54598">54598</a>: Launch configuration; wizard buttons New/Delete margins<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57637">57637</a>: turn Remove All Terminated Launches on by default<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60305">60305</a>: Layout problems on the Environment tab<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58384">58384</a>: Profile toolbar launch menu should use "Profile As &gt;"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51916">51916</a>: Add ability to change source lookup of a running launch<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60286">60286</a>: API Request: Ability to open launch configuration properties dialog on a specific tab<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60838">60838</a>: Support matchesContentType property test<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45656">45656</a>: New Annotation Features<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59319">59319</a>: make scroll lock global to all process consoles<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60927">60927</a>: notifyResult(...) in OpenLaunchDialogAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60952">60952</a>: Chkpii errors in I20040504<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60364">60364</a>: debug used deprecated runtime code<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61321">61321</a>: ui.console should not depend on core.resources<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60918">60918</a>: [KeyBindings] Some key bindings not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60974">60974</a>: make org.eclipse.debug.internal.ui.views.console.ProcessConsolePage.getConsoleViewer() method public<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61105">61105</a>: Configure view management per perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60010">60010</a>: Auto manage view action move to view menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61221">61221</a>: No progress dialog when prompted to wait for build<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57763">57763</a>: NPE running from scrapbook<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61166">61166</a>: source not found<br> 
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61120">61120</a>: Should closed projects be skipped?<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55423">55423</a>: don't schedule build if already building<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41376">41376</a>: Incorrect english: doesn't account for case where launch config type starts with vowel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53722">53722</a>: Run As... menu disabled if selection is empty<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61634">61634</a>: Compile errors in workspace message should be more general<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61336">61336</a>: Compile errors prompt should use a warning dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61291">61291</a>: Breakpoint view is displayed when a breakpoint is hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57052">57052</a>: [KeyBindings] F11 (Debug Last Launched) Conflict on MacOS X<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46168">46168</a>: fork() methods should use jobs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61427">61427</a>: LaunchConfigurationDialog leaked for each use<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54946">54946</a>: Contextual launch contribution should not set adaptable=true<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60051">60051</a>: Launching with Ant buildfile errors <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61308">61308</a>: Display var/expression shows in unreadable popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57333">57333</a>: Provide API to specify whether a substitution variable supports arguments<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57164">57164</a>: Context view activation should maintain view "stack"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57588">57588</a>: Removing process from launch doesn't remove associated console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61810">61810</a>: NPE in the log<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 4, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60064">60064</a>: Memory preference page is missing mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60254">60254</a>: Change required in AbstractMemoryRenderer<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56146">56146</a>: Memory View Contribution to Eclipse<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56827">56827</a>: NPE - ExpressionManager expects a delegate for all debug models<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57862">57862</a>: Ability to configure variables from variable selection dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54726">54726</a>: Fix schema reference in launch shortcut extension<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51503">51503</a>: Add filter button to Expressions view to show expressions by debug target<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59776">59776</a>: Migrate memory view pref page to view setting<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60203">60203</a>: Launch job waiting forever<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60655">60655</a>: Memory Block is not enabled / disabled by the Memory View properly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59986">59986</a>: Move from ProgressMonitorDialog to IProgressService.busyCursorWhile()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57272">57272</a>: AlwaysNeverDialog should have "Eclipse standard" look<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60708">60708</a>: Edit String Substitution Variable dialog does not use the dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58933">58933</a>: Remove activity filtering in Breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59330">59330</a>: migrate to new search API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59183">59183</a>: Cancelling foreground launch waits for build to complete<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59535">59535</a>: Opening launch configuration dialog with "profile" mode.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59356">59356</a>: LaunchConfigurationDelegate needs a way to tell it per instance to not put up status prompts.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60409">60409</a>: Use of deprecated fontDefinition extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59854">59854</a>: Debug keybindings wrong on Mac<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59990">59990</a>: function keys not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58528">58528</a>: User prompted to switch to debug when debug perspective is active<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58957">58957</a>: breakpoints : Remove BreakpointManagerListener on dispose<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57305">57305</a>: flashing breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57173">57173</a>: Activity filtering not working for debug<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58684">58684</a>: Installed JRE can't be named "."<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42138">42138</a>: Provide a way to dynamically change the process label shown in the console title and debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47164">47164</a>: Need to be able to disable go to file action for breakpoints.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57517">57517</a>: eval popup are initially too small<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57735">57735</a>: When including assert tags in private method, breakpoint can't be set<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59483">59483</a>: Predefine some launch conifiguration variables<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59042">59042</a>: Invalid Launch configurations are never cleaned up<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39024">39024</a>: Need better icon for object browsers action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57999">57999</a>: Breakpoints added to view while breakpoint manager disabled are not greyed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58516">58516</a>: HandlerSubmission constructor marked as deprecated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58766">58766</a>: doc/enhance stratum breakpoint<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59002">59002</a>: Do we need marker definitions for instruction pointers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57642">57642</a>: [ViewMgmt] debug tests failures due to missing selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57836">57836</a>: Support to put paths in variable values<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59729">59729</a>: Run-> context menu only enabled for a single selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56246">56246</a>: InstructionPointerAnnotation and IDebugEditorPresentation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58209">58209</a>: Support multi-select for Resume action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58377">58377</a>: 'Esc' out of change variable dialog doesn't cancel action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58650">58650</a>: replace debugModelActivityBinding with pattern binding<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59828">59828</a>: Various issues with SelectedResourceManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=7552">7552</a>: Keep breakpoints when renaming a resource<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58290">58290</a>: Launch error message spelling<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56850">56850</a>: DebugViewDecoratingLabelProvider.computedText never cleared<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29890">29890</a>: Debug Platform Source Lookup Facilites<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45877">45887</a>: When selecting "Build before launching", the build is not specific to the project launched, but the whole workspace<br>  
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58754">58754</a>: Wait for build never and prompt preferences reversed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55419">55419</a>: Generalize compilation error detection for other launchers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56191">56191</a>: Skip breakpoints in run-to-line<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57306">57306</a>: Improve progress feedback when user wants to wait on build before a launch<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57790">57790</a>: Support multiple debug-model-to-context extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53222">53222</a>: Trigger activities when debug elements selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53640">53640</a>: Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57929">57929</a>: Scope step actions with debuging context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58052">58052</a>: Launch view can open views in the wrong window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57788">57788</a>: API changes to IHandler causing compile errors<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 6, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56235">56235</a>: Organize Favorites dialog could remember size<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56266">56266</a>: Reorder preference choices for Save dirty editors<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56966">56966</a>: Skip All Breakpoints should have a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30639">30639</a>: Debug preference pages cut of in High Contrast<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57328">57328</a>: NPE from ResourceResolver<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55685">55685</a>: Get rid of MoveResultToViewerAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55808">55808</a>: SelectedResourceManager holds onto selections too long<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56192">56192</a>: Remove unused command for close popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55612">55612</a>: Rename "Run" keybinding category to "Run/Debug"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56035">56035</a>: Console text font should be moved to Workbench Appearance<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51901">51901</a>: Breakpoint image specification is on jdt.ui instead of debug.ui<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56214">56214</a>: ProjectSourceContainer#getSourceContainers() and referenced projects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51084">51084</a>: Launch view should not track view open/close during perspective reset<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52524">52524</a>: Blocked launch dialog should offer cancel as an option<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56013">56013</a>: Remove the use of the deprecated shared icons<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56070">56070</a>: New and Delete buttons remained disabled after cancelling search<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53548">53548</a>: Automatically close views that were opened automatically<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 30, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56677">56677</a>: AssertionFailed from LaunchConfigurationView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56082">56082</a>: no junit test for LaunchConfigurationDelegate.preLaunchCheck()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55309">55309</a>: Leak: RetargetWatchpointAction hangs onto last activated part<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56672">56672</a>: 'Marker id not found' error in breakpoint view during fast create/delete breakpoint actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55704">55704</a>: Step into selection leads to too many breakpoints being skipped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56238">56238</a>: Continue Launch when compile errors preference: Never<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 23, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53677">53677</a>: Remove "debug popup" scope when dialogs support key bindings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52613">52613</a>: [New Look] Duplicate debugger perspective opened while stopping at brk pt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55124">55124</a>: Warning reported in the builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36495">36495</a>: Debugger support for roles and activities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55040">55040</a>: Don't provide ILaunchListener2 API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54925">54925</a>: want option to not run programs with errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54631">54631</a>: debug view opens while prompting for perspective change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6400">6400</a>: DCR - suggestion to improve running vs. debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55183">55183</a>: Preference to switch perspective on suspend is too eager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55442">55442</a>: ClassCastException in LaunchViewEventHandler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55194">55194</a>: "String" problems with the DebugPreferencePage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55430">55430</a>: "[KeyBindings] Migrate Popup keybinding support to new EnabledSubmission API<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 16, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50156">50156</a>: Disable "Use Step Filters" toggle for targets that do not support step filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54189">54189</a>: Disable "Use ToggleAutoManageViewsActionDelegate is missing required id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37485">37485</a>: Icons for launch short-cuts should be optional<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44234">44234</a>: Type names always qualified in expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53223">53223</a>: Expression popup should also show toString()/details<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54073">54073</a>: Chkpii warnings in plugin.xml files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10302">10302</a>: 'Run to Line' stops at breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52809">52809</a>: Evaluating in debugger should not stop on breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38950">38950</a>: Display offset of cursor in variables detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10078">10078</a>: Feature: Global enable/disable of breakpoints (and leave breakpoints list untouched)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54182">54182</a>: Two prompts when starting a debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12746">12746</a>: refactoring support for launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52017">52017</a>: Add createCheckButton API to AbstractLaunchConfigurationTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34345">34345</a>: Disabled watch expression label includes "obsolete"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53001">53001</a>: Need a separator between 'Include type inheriting ...' and 'stop in main' in the main Java launch configuration tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54859">54859</a>: Breakpoint are not set as non-registered when deleted from the breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54117">54117</a>: Contextual Launch should use XML Expression Language<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52952">52952</a>: show all env vars when replacing environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48933">48933</a>: Move to use the Platform UI color support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50384">50384</a>: Debugger perspective: default layout improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37514">37514</a>: global retargettable breakpoint action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52450">52450</a>: Don't open Expression View by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51402">51402</a>: [Generic console] need showConsoleView() method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51935">51935</a>: Add UI support for variables when specifying environment variable values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54065">54065</a>: Tooltip text for profile button in toolbar is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54901">54901</a>: Better error logging when launch configuration blows up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51568">51568</a>: Numerated accelerators for launch shorts in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54924">54924</a>: Variable selection dialog needs mneumonic for Variable Desc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54619">54619</a>: Doc for breakpoint manager enablement<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 9, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14414">14414</a>: Use detail pane for variable value setting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53636">53636</a>: Label changes after display/inspect popup is visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53665">53665</a>: NPE with "double click"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48313">48313</a>: Message console does not support tab size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52964">52964</a>: Persist size of debug pop-ups (or size better)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53470">53470</a>: launch waiting for build shows up in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53693">53693</a>: Variables view doesn't show variables.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51787">51787</a>: Stepping in Java Perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53554">53554</a>: Default perspective switching preferences are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53954">53954</a>: "Change variable value" action.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50886">50886</a>: Update debug markerAnnotationSpecification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44135">44135</a>: ability to prompt for arguments in run/debug profiles<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 2, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52607">52607</a>: console: no action when drop down is pressed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51387">51387</a>: API for retreiving console associated with a process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52867">52867</a>: New look - console no longer has a view title<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53225">53225</a>: Display keybinding for default close action in debug popup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51386">51386</a>:	Variables view does not persist size of details area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13933">13933</a>:	Terminating launch does not send launchChanged event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53313">53313</a>:	StringIndexOutOfBoundsException from LaunchConfiguration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52330">52330</a>:	Logical Structure should have a single value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52974">52974</a>: NPE in launch dialog when creating a new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53409">53409</a>: Launch view doesn't persist "views to not close"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49877">49887</a>: Expose the exit value of IProcess<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 24, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29953">29953</a>: Launch configuration not found, many stacktraces in the .log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13449">13449</a>: Better description when launch configuration type is selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52397">52397</a>: NPE from AddFavoritesAction and others when rename launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52763">52763</a>:	Edit String Substitution Variable dialog clears value on name change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52170">52170</a>:	Improve debug context inheritance<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 17, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51998">51998</a>: Bad label for a menu item<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51465">51465</a>: Variable subranges<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51635">51635</a>: Debug view is not brought to the front when a breakpoint is hit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37942">37942</a>: Launch config dialog should have some way to determine the full location of JARs that are listed on the classpath<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 12, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51803">51803</a>: ClassCastException importing preferences<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 10, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18338">18338</a>: Run/Debug in the context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51388">51388</a>: Show "Selection Not Applicable"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51422">51422</a>: NPE on hitting breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49934">49934</a>: Promote views with debugging contexts<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 3, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50155">50155</a>: New Job#schedule() behavior<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50203">50203</a>: Exception in error log + blank rendered in sessions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50543">50543</a>: Cannot override PATH environment variable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49972">49972</a>: Nothing happens when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49891">49891</a>: Problems launching a program, when using linked resources in CLASSPATH, which are not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50407">50407</a>: NPE in selected text resolver<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50223">50223</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46781">46781</a>: Console buffer size limit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46869">46869</a>: Message console does not buffer output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49288">49288</a>: Set Variable dialog not sized properly or resizable.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47601">47601</a>: external tools: add ${selection} as a variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48320">48320</a>: Adapt to annotation deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49977">49977</a>: Less invasive background labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41510">41510</a>: Step with Filters: unify function across languages by allowing filters to be enabled/disabled on the 3 basic step functions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45603">45603</a>: Cycles in string substitutions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46363">46363</a>: Lazy label provider for variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49884">49884</a>: ProcessConsolePage does not deregister hyperlink action<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48608">48608</a>: Handle null for IProcess#getStreamsProxy()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46868">46868</a>: Changing text color via a MessageStream doesn't update colors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46797">46797</a>: Possible NPE when writing launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48226">48226</a>: Tooltip text for "External Tools" toolbar button not updated.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47668">47668</a>: Exclude exception location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37506">37506</a>: RefreshTab makes use of WorkbenchPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45991">45991</a>: need package.html in "variables" plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47848">47848</a>: IDebugEditorPresentation methods called in different order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47855">47855</a>: Review VariableViewToggleAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48224">48224</a>: Target execution order hidden<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47268">47268</a>: Selected launch configuration incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48190">48190</a>: Variables context menu actions need eclipses [...]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40541">40541</a>: NPE in launch configuration dialog<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 9, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37918">37918</a>: Console uses Date format that is not appropriate for Japanese<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47949">47949</a>: Nothing added to launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47924">47924</a>: Thread label flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47834">47834</a>: No feedback that launch got queued/postponed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47377">47377</a>: Console: order of local toolbar items should remain stable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42272">42272</a>: Resize problem in Launch Config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41609">41609</a>: invalid tab size (rendering) in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48315">48315</a>: LaunchView thread timer runs too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47389">47389</a>: Use of deprecated API from IActivityManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38419">38419</a>: Variable "filters" is a misnomer<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47478">47478</a>: Switching to use JRE Library container<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47107">47107</a>: Open Resource not available in Debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45981">45981</a>: Move debug projects to use PDE dynamic classpath support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46811">46811</a>: Deadlock saving working copied<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 25, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47248">47248</a>: NPE starting run-time workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38979">38979</a>: Should not be able to remove contributed variables<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47100">47100</a>: TitleAreaDialog image has been disposed<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 20, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47071">47071</a>: Set instruction point layer to 6 in code<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 19, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46858">46858</a>: FileLink needs to resolve an editorId<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 18, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45524">45524</a>: Artwork for array partitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46728">46728</a>: org.eclipse.ui.console should be tagged as 3.0 plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44479">44479</a>: Exception when trying to start RuntimeWorkbench while workspace is building<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 11, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36942">36942</a>: [plan item] Present logical view of Java objects in debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45903">45903</a>: Breakpoint incorrectly enabled after activity filtering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43387">43387</a>: Refresh tab and specific resources<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44566">44566</a>: Refresh tab does not enable "Apply" when changing selection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 4, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45849">45849</a>: ConcurrentModificationException in Expression manager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43332">43332</a>: String Substitution Support - org.eclipse.core.variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43952">43952</a>: Improve launch tab interface/notification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44100">44100</a>: UI blocked removing breakpoints from breakpoints view with other jobs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46152">46152</a>: Revise usage of IWorkspace.run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46035">46035</a>: NPE in Run... pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45858">45858</a>: User gets prompted multiple times to save the same resources<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 28, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45195">45195</a>: Debug View: Copy Stack only copies <pending...><br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44856">44856</a>: errors in label update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44723">44723</a>: Redundant launching job message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36735">36735</a>: Would like automatic partitioning of large arrays<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44099">44099</a>: organize favorites...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44577">44577</a>: Suspended debug target not given "suspended" overlay<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44934">44934</a>: Remove dependancies on Xerces plugin<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44660">44660</a>: MessageConsole.appendToDocument(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44040">44040</a>: IConsoleLineTrackerExtension and after consoleClosed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44012">44012</a>: missing closed notification for console line tracker<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 07, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40609">40609</a>: Launch configuration dialog re-initializes all of the tabs on close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43226">43226</a>: Deadlock using 0916<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44048">44048</a>: Cannot create New String Substitutions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 30, 2003 </p>
-<h3>API Changes</h3>
-<ul>
-  <li>Support for variables that support string substitution has been changed. 
-    The previously experimental extension points for simpleLaunchVariables, contextLaunchVariables, 
-    and refreshLaunchVariables have been replaced with new (and yet experimental) 
-    extension points valueVariables and contextVariables. The new support is purely 
-    string based and is currently implemented in internal packages. It is percieved 
-    that the new support could be moved to a new plug-in such that more clients 
-    could leverage the support, as the current implementation is not tied to the 
-    debug plug-in. </li>
-  <li>A console line tracker (IConsoleLineTracker) can be notified when its associated 
-    console is closed (i.e. all of its streams are closed), by implementing the 
-    new interface IConsoleLineTrackerExtension. The notification indicates that 
-    no more output will be appended to the console.</li>
-</ul>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43608">43608</a>: NPE removing an existing program in the external tools launching configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43477">43477</a>: Console plug-in needs package.html<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43704">43704</a>: LaunchConfiguration.getFile does not handle linked resources: NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41579">41579</a>: Move selection to next suspended thread after resuming<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43197">43197</a>: Race condition between console line tracker and debug terminate event<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 23, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43225">43225</a>: No prompt to save dirty editors <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43353">43353</a>: Environment variable names all lowercased when appending to native environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43331">43331</a>: Rework Refresh Tab to avoid use of "refresh variables"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43334">43334</a>: Refresh Tab always needs "apply" when working set specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33866">33866</a>: Move to using the PDE generated build.xml for exporting plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37263">37263</a>: Support for generic console<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 16, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42570">42570</a>: Promote RuntimeProcess to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42779">42779</a>: Duplicate entry in expression view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42814">42814</a>: Ability of "override" environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42877">42877</a>: Clean up Launch in Background / Run in Background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19292">19292</a>: Icons for enable/disable breakpoints very confusing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37091">37091</a>: Need icon for environment tab and variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10668">10668</a>: Variable view - should reselect selected variable name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42177">42177</a>: Installed JRE's preference page is huge<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40863">40863</a>: Env var usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37784">37784</a>: Rename "Debug" preference page to "Run/Debug"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 09, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42020">42020</a>: Move "Run in background" to builders only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41866">41866</a>: Reference to IConsoleDocumentContentProvider in error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42179">42179</a>: Reevaluate watch expression enabled with no active targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41633">41633</a>: ILaunchManager#getLaunchConfigurations returns private configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41352">41352</a>: Incorrect lineAppended notification from ConsoleLineNotifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1562">1562</a>: Suspending on a breakpoint...select that breakpoint (1GD5P0D)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42184">42184</a>: Edit->Find action for the console is only enabled after some text is selected<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41758">41758</a>: "Profile Last Launched" menu item is at the bottom, should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42218">42218</a>: LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST no longer used<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41947">41947</a>: LaunchConfigurationDialog and cancellation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42064">42064</a>: "New Launch Variable" and "Edit Launch Variable" dialogs do not use dialog font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42189">42189</a>: NPE during shutdown<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Aug 27, 2003 </p>
-<h3>New Features in Milestone 3 (release 3.0)</h3>
-<h4>Extensible Watch Expressions</h4>
-<p>In release 3.0, the debug platform provides an implementation of watch expressions. 
-  Debug models can contribute watch expression delegates if they support watch 
-  expressions. When a stack frame is selected, the associated delegate is queried 
-  to provide a value for a watch expression in the given (stack frame) context. 
-  The debug platform provides persistence, enabling, disabling, entering, and 
-  editing of watch expressions. See the new extension point <code>org.eclipse.debug.core.watchExpressionDelegates</code> 
-  for more details.</p>
-<h3>API Changes</h3>
-<h4>Launch Tabs &amp; Tab Groups</h4>
-<p>Launch tab groups and launch tabs are no longer notified when a launch completes. 
-  The method <code>launched(ILaunch)</code> in the interfaces <code>ILaunchConfigurationTab</code> 
-  and <code>ILaunchConfigurationTabGroup</code> has been deprecated and is no 
-  longer called. Relying on this method for launch function was always problematic, 
-  since tabs only exist when launching is performed from the launch dialog. Also, 
-  with the introduction of background launching, this method can no longer be 
-  called, as the launch dialog is be closed before the resulting launch object 
-  exists.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41675">41675</a>: breakpoints no longer visible in overview ruler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38842">38842</a>: Make enabling and disabling expressions part of the debug framework.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27493">27493</a>: Re-use "watch list" actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41940">41940</a>: watch item not updated when enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41941">41941</a>: API method should be internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41550">41550</a>: launch in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41977">41977</a>: watch items will not disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42013">42013</a>: Launching should not be UIJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42037">42037</a>: Breakpoint not shown as checked when enabled.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 19, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41499">41499</a>: Update doc for watchExpressionDelegates extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41448">41448</a>: launch shortcuts should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41506">41506</a>: NPE attempting to create watch expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27281">27281</a>: The watch expressions don't persist across workbench invocations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41575">41575</a>: Can't open breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41585">41585</a>: shared launch configurations are not being encoded with UTF-8<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 12, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41290">41290</a>: Typo: "persepctive" in launch configurations window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41276">41276</a>: Clarify ILaunchConfiguration#getLocation()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41384">41384</a>: Chkpii errors in debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 5, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40964">40964</a>: Got DebugException when stepping and removing a breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38365">38365</a>: current instruction pointer annotation only added for ITextEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40961">40961</a>: Refresh tab indicates working set error when no refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40962">40962</a>: Refresh tab revert enabled incorrectly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19581">19581</a>: Single launch config error logged many time<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 29, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40576">40576</a>: NPE with pinned console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40844">40844</a>: NPE using debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35453">35453</a>: Process output causes switch to wrong console view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35573">35573</a>: Console output on new run or debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 22, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40235">40235</a>: preference page 'launch variables' uses borderless table, which looks suboptimal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40275">40275</a>: Superfluous semicolons in the generated jdt eval tests<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 15, 2003 
-<h3>New Features in Milestone 2 (release 3.0)</h3>
-<h4>Extensible Debug Events</h4>
-<p>The debug platform supports an extensible set of debug events. A debug event 
-  kind of <code>MODEL_SPECIFIC</code> has been added in the 3.0 release to indicate 
-  an application specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-  is created, the detail code in the event is client defined. The source of the 
-  event (debug element that generated the event) identifies the debug model from 
-  which the event was generated. The debug platform and user interface ignores 
-  model specific debug events.</p>
-<p>A data field has been added to debug events to allow clients to store application 
-  specific data in debug events.</p>
-<h4>Extensible Instruction Pointer Images</h4>
-<p>When a stack frame is selected in the debug view, the debugger opens a corresponding 
-  editor and displays an image in the editor ruler on the line that corresponds 
-  to the selected stack frame. In releases prior to 3.0, the images were provided 
-  by the debug plug-in and could not be overridden by a debug model. In release 
-  3.0, a debug model presentation (<code>IDebugModelPresentation</code>) can provide 
-  specialized images by implementing the debug editor presentation interface (<code>IDebugEditorPresentation</code>).</p>
-<h4>Editor Positioning and Custom Decorations</h4>
-<p>In release 3.0, debug model presentations can control the positioning of editors 
-  opened by the debugger for a stack frame, and may add extra decorations to the 
-  editor for a stack frame (for example, custom background coloring, etc.). This 
-  can be acheived by having a debug model presentation implement the new interface 
-  <code>IDebugEditorPresentation</code>, and implementing the appropriate methods 
-  - <code>selectAndReveal</code>,<code> decorateEditor</code>, and <code>removeDecorations</code>.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33598">33598</a>: Need to dynamically set icon for current line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38976">38976</a>: Cancelling on launch var pref page does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38980">38980</a>: var descriptions not persisted.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37793">37793</a>: When moving folders and/or files in the navigator window UI hangs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36147">36147</a>: Launch framework doesn't handle out of sync launch files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37092">37092</a>: Environment tab variables should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38534">38534</a>: Duplicate environment variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39979">39979</a>: Edit button should be disabled for multiselect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36597">36597</a>: Would like to say what text attributes to use when selecting the executing statement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35208">35208</a>: IAE in JavaMainTab when entering project name with path seperator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39980">39980</a>: Selection of launch variables in the Launch Variable pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38324">38324</a>: Double dialog for launch variable is unnecessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40122">40122</a>: NPE in TextEditorSelection.remove<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 9, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39058">39058</a>: Would like "collapse all" action in variable view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38577">38577</a>: Setting detail pane to be visible can hide selected variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39482">39482</a>: NPE adding Java Watch expressions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39709">39709</a>: Duplicated entries in the debugger<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 1, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38584">38584</a>: Book Capitilization for the tooltip for Toggle Variable Filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38508">38508</a>: [Dialog] [Font] Remote Java Application/Connect Page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38302">38302</a>: An IProcess that returns null for getStreamsProxy generates 2 null pointer exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39397">39397</a>: Consolidate variables & general debug preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39208">39208</a>: Context menu "Copy" should show Icon from ISharedImages [Console]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39344">39344</a>: Convert ProcessMonitor to be a Job<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39258">39258</a>: Launch Configuration dialog: Screen cheese when switching between nodes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39394">39394</a>: Extensible debug events<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23432">23432</a>: Some exceptions should not be logged.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38676">38676</a>: can't debug into class if file/class name identifier has _$$_<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38722">38722</a>: Need restoration of preference store for those actions that are enabled only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38532">38532</a>: Variables view orientation actions should more closely mimic the type hierarchy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22941">22941</a>: Details area orientation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37241">37241</a>: Support for core variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38837">38837</a>: CHKPII errors with launch variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38972">38972</a>: variable values only persisted when added/removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38967">38967</a>: simple launch variables & lazy init of plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38725">38725</a>: Debug context variables missing descriptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38727">38727</a>: IVariableComponent#setEnabled(boolean)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38671">38671</a>: NPE from LaunchVariableManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38649">38649</a>: Plugin.xml and schema validation<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38423">38423</a>: NPE during creation of varibles view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38529">38529</a>: UI locks up toggline on the variable filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38420">38420</a>: Details pane does not populate when first opened<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 3, 2003
-
-<h3> Extensible Launch Modes</h3>
-<p>The debug platform supports an extensible set of launch modes. Releases prior 
-  to 3.0 only supported two launch modes - run and debug. The debug platform now 
-  provides an extension point for contributing new launch modes - <code>org.eclipse.debug.core.launchModes</code>. 
-  The debug platform now defines (contributes) three basic launch modes - run, 
-  debug, and profile. Other clients may contribute new launch modes. The launch 
-  manager (<code>ILaunchManager</code>) has additional API to retrieve all launch 
-  modes, and a human readable label for each launch mode.</p>
-<p>The debug platform has a new extension point to support the contribution of 
-  a launch delegate for a specific launch configuration type and launch mode - 
-  <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch configurations 
-  to be extended by third parties, to support new launch modes. For example, a 
-  client could contribute a launch delegate that launches a Java Application in 
-  profile mode (currently, the SDK does not provide a profiler).</p>
-<p>The debug platform has added an optional element (<code>launchMode</code>), 
-  to the definition of a launch tab group extension - <code>(org.eclipse.debug.ui.launchConfigurationTabGroup</code>), 
-  to support the contribution of a set of tabs for a specific launch configuration 
-  type and launch mode. This allows third parties to extend an existing lauch 
-  configuration user interface. For example, a client contributing a launch delegate 
-  to profile a Java Application would also contribute a set of tabs to configure 
-  the profiler. The launchMode element defines a perpsective attribute to specify 
-  the default perspective associated with the launch configuration type and mode. 
-  This controls the perspective that is switched to/opened, by default, when a 
-  configuration is launched in the associated mode. For example, a client contributing 
-  a profiler may also contribute a profiling perspective that should be displayed 
-  when an application is profiled.</p>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38083">38083</a>: [Viewers] Debug exception when double-clicking on hashtable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38249">38249</a>: NPE trying to create project builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37141">37141</a>: Common tab icon should not be a bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38283">38283</a>: Remove the setting of the target perspective on working copies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38102">38102</a>: [Debug] [Preferences] Launch Variables Page; Table Columns truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38330">38330</a>: No double click to edit for launch variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38325">38325</a>: Launch variable not removed from table on remove<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38336">38336</a>: Support delete key in launch variable table<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38328">38328</a>: Launch variable table needs to be sorted alphabetically<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38070">38070</a>: AbstractLaunchConfigurationTabGroup#launched() javadoc typo<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 06, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37090">37090</a>: Apply/Revert incorrectly enabled for Environment tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36930">36930</a>: Support variables in launch configurations<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 29, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27243">27243</a>: Environment for external tools<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 22, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35740">35740</a>: Disable edit launch config popup action for private launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36390">36390</a>: Doc error in schema for consoleColorProviders and consoleLineTrackers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36152">36152</a>: Workbench Help set on wrong Composite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36035">36035</a>: Request a variant on DebugPlugin.exec that takes an environment pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36409">36409</a>: TODO marker for help context for OpenLaunchDialogAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_changes.html b/org.eclipse.debug.core/r3_0_changes.html
deleted file mode 100644
index 1e584cb..0000000
--- a/org.eclipse.debug.core/r3_0_changes.html
+++ /dev/null
@@ -1,260 +0,0 @@
-<html>
-<head>
-<title>3.0 Debug Platform Change Notes</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1>3.0 Debug Platform Change Notes</h1>
-<p>This document describes important changes in the 3.0 debug platform, relative 
-  to the 2.1 release.</p>
-  
-<h2>New Features</h2>
-
-<h3> Extensible Launch Modes</h3>
-<p>The debug platform supports an extensible set of launch modes. Releases prior 
-  to 3.0 only supported two launch modes - run and debug. The debug platform now 
-  provides an extension point for contributing new launch modes - <code>org.eclipse.debug.core.launchModes</code>. 
-  The debug platform now defines (contributes) three basic launch modes - run, 
-  debug, and profile. Other clients may contribute new launch modes. The launch 
-  manager (<code>ILaunchManager</code>) has additional API to retrieve all launch 
-  modes, and a human readable label for each launch mode.</p>
-<p>The debug platform has a new extension point to support the contribution of 
-  a launch delegate for a specific launch configuration type and launch mode - 
-  <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch configurations 
-  to be extended by third parties, to support new launch modes. For example, a 
-  client could contribute a launch delegate that launches a Java Application in 
-  profile mode (currently, the SDK does not provide a profiler).</p>
-<p>For backwards compatibility, the launch delegate supplied by a launch configuration 
-  type extension is used for the launch modes specified by the launch configuration 
-  type. A launch delegate supplied for a specific mode, is used only for that 
-  mode. </p>
-<p>The debug platform has added an optional element (<code>launchMode</code>), 
-  to the definition of a launch tab group extension - <code>(org.eclipse.debug.ui.launchConfigurationTabGroup</code>), 
-  to support the contribution of a set of tabs for a specific launch configuration 
-  type and launch mode. This allows third parties to extend an existing launch 
-  configuration user interface. For example, a client contributing a launch delegate 
-  to profile a Java Application would also contribute a set of tabs to configure 
-  the profiler. The <code>launchMode</code> element defines a <code>perspective</code> 
-  attribute to specify the default perspective associated with the launch configuration 
-  type and mode. This controls the perspective that is switched to/opened, by 
-  default, when a configuration is launched in the associated mode. For example, 
-  a client contributing a profiler may also contribute a profiling perspective 
-  that should be displayed when an application is profiled.</p>
-<p>For backwards compatibility, the tab group contributed for a launch configuration 
-  type (specifying no launch mode), is used for all launch modes for which a specific 
-  launch tab group is not contributed. Thus, when a mode is not specified by a 
-  tab group, the tab group effectively becomes the default tab group.</p>
-  
-<h3>Extensible Debug Events</h3>
-<p>The debug platform supports an extensible set of debug events. A debug event 
-  kind of <code>MODEL_SPECIFIC</code> has been added in the 3.0 release to indicate 
-  an application specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code> 
-  is created, the detail code in the event is client defined. The source of the 
-  event (debug element that generated the event) identifies the debug model from 
-  which the event was generated. The debug platform and user interface ignores 
-  model specific debug events.</p>
-<p>A data field has been added to debug events to allow clients to store application 
-  specific data in debug events.</p>
-  
-<h3>Editor Positioning and Custom Annotations</h3>
-<p>In release 3.0, a debug model presentation can position and annotate editors 
-  opened by the debugger for stack frames. This is done by implementing the new 
-  interface <code>IDebugEditorPresentation</code> on the applicable debug model 
-  presentation. When implemented, the model presentation is used as a delegate 
-  to position editors, add annotations, and remove annotations for stack frames.</p>
-
-<h3>Extensible Watch Expressions</h3>
-<p>In release 3.0, the debug platform provides an implementation of watch expressions. 
-  Debug models can contribute watch expression delegates if they support watch 
-  expressions. When a stack frame is selected, the associated delegate is queried 
-  to provide a value for a watch expression in the given (stack frame) context. 
-  The debug platform provides persistence, enabling, disabling, entering, and 
-  editing of watch expressions.</p>
-
-<h3>Process Factories</h3>
-<p>The debug platform provides an extension point (<code>org.eclipse.debug.core.processFactories</code>) 
-  for contributing process factories. A process factory can be used to override 
-  default process creation for a launch configuration when the debug plug-in (i.e.<code> 
-  org.eclipse.debug.core.DebugPlugin</code>) is consulted to create a new process. 
-  A launch configuration can reference a process factory to use when creating 
-  a process, via the launch configuration attribute <code>DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>.</p>
-
-<h3>Automatic Array Partitioning</h3>
-<p>The debug plug-in now supports automatic array partitioning in the variables, 
-  which partitions large arrays into sub-ranges in the variables view. This is 
-  supported with the introduction of a new interface in the debug model representing 
-  an indexed value - <code>org.eclipse.core.debug.model.IIndexedValue</code>. 
-  If a value implements this interface, the variables view will automatically 
-  partition its elements as required, into sub-ranges</p>
-
-<h3>Logical Structure Types</h3>
-<p>Often, it is convenient to navigate complex data structures in terms of a logical 
-  structure, rather than an implementation structure. For example, no matter how 
-  a list is implemented (i.e. linked list, collection of arrays, etc.), it is 
-  often convenient to be able to view the list as an ordered collection. To facilitate 
-  the display of logical structures in the variables view, an extension point 
-  has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>) allowing 
-  debug models to contribute logical structures of its values, where applicable. 
-  Debug models may contribute delegates to translate raw implementation values 
-  into logical values. The variables view will display the logical values, when 
-  the option to display logical structures is turned on. More than one logical 
-  structure can be provided for a single value - the user can choose which structure 
-  to display.</p>
-
-<h3>Step Filters</h3>
-<p>To support step filters on all stepping functions (into, over, return), a new 
-  interface has been added to the debug platform - <code>IStepFilters</code> - 
-  which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>, 
-  which is now deprecated. The debugger provides a global toggle that turns step 
-  filters on/off for all stepping functions. Toggle actions are provided in the 
-  Run menu, Debug View context menu, and Debug View toolbar, which replaces the 
-  'Step with Filters' action in previous releases. As well, an API is provided 
-  on <code>DebugUITools</code> to modify step filter enablement. It is up to debug 
-  targets to implement this new interface and to honor the step filter enablement 
-  setting when stepping. See javadoc for <code>IStepFilters</code> for more details.</p>
-<p>This change maintains binary compatibility with previous releases. However, 
-  targets wishing to leverage the new function must implement the new interface.</p>
-
-<h3>Launch Termination Notification</h3>
-<p>A new interface has been introduced to provide a mechanism for launch listeners 
-  to be notified when a launch terminates. A launch is simply a container of processes 
-  and debug targets. When all of the contained targets and processes terminate, 
-  a terminate notification is now sent to those listeners that implement
-  <code>ILaunchesListener2</code>.</p>
-  
-
-<h3>Launch Delegate Enhancements</h3>
-<p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>. 
-  This allows launch delegates to provide a launch object to be used for a launch. 
-  For example, when debugging on a server a delegate could create a new launch 
-  object or may reuse an existing launch object if the server is already running 
-  in debug mode.</p>
-
-<h3>Retargettable Actions</h3>
-<p>The debug platform now provides retargettable actions for the following actions.</p>
-<ul>
-  <li>Run to Line</li>
-  <li>Toggle Line Breakpoint</li>
-  <li>Toggle Method Breakpoint</li>
-  <li>Toggle Watchpoint</li>
-</ul>
-<p>Debug implementations can plug into the retargettable actions by providing 
-  appropriate adapters for relevant editors and model objects that perform the 
-  actual operations (<code>IRunToLineTarget</code> and <code>IToggleBreakpointsTarget</code>, 
-  defined in the <code>org.eclipse.debug.ui.actions</code> package). A retargettable 
-  action works on the active part. First the part is asked for a target adapter. 
-  If the part does not provide an adapter, the selected objects within the part 
-  are consulted for adapters.</p>
-<p>As well, action delegates actions are provided by the debug platform such that 
-  debug implementations can contribute appropriate actions to context menus. An 
-  editor actions delegate is provided for the run to line action, and an object 
-  action delegate is provided for toggling method breakpoints and watchpoints. 
-  See the following classes: <code>RunToLineActionDelegate</code>, <code>ToggleMethodBreakpointActionDelegate</code>, 
-  and <code>ToggleWatchpointActionDelegate</code> in the <code>org.eclipse.debug.ui.actions</code> 
-  package.</p>
-  
-<h2>API Changes</h2>
-
-<h3>Debug Action Groups removed</h3>
-<p>The Debug Action Groups extension point (org.eclipse.debug.ui.debugActionGroups) has been
-  removed. In Eclipse 3.0, the workbench introduced support for Activities via the
-  org.eclipse.platform.ui.activities extension point. This support provides everything
-  that Debug Action Groups provided and is also easier to use (it supports patterns instead of
-  specifying all actions exhaustively) and has a programmatic API to support it.</p>
-<p>Failing to remove references to the old extension point won't cause any failures.
-  References to the extension point will simply be ignored. Product vendors are encouraged to
-  use the workbench Activities support to associate language-specific debugger actions with
-  language-specific activities (for example, C++ debugging actions might be associated with
-  an activity called "Developing C++").</p>
-
-<h3>Extensible Launch Modes</h3>
-<p>With the introduction of extensible launch modes, more than one launch delegate 
-  can exist for a launch configuration type. Releases prior to 3.0 only supported 
-  one launch delegate per launch configuration type. The method <code>ILaunchConfigurationType.getDelegate()</code> 
-  is now deprecated. The method <code>getDelegate(String mode)</code> should be 
-  used in its place to retrieve the launch delegate for a specific launch mode. 
-  The deprecated method has been changed to return the launch delegate for the 
-  <code>run</code> mode.</p>
-
-<h3>Launch Tabs &amp; Tab Groups</h3>
-<p>Launch tab groups and launch tabs are no longer notified when a launch completes. 
-  The method <code>launched(ILaunch)</code> in the interfaces <code>ILaunchConfigurationTab</code> 
-  and <code>ILaunchConfigurationTabGroup</code> has been deprecated and is no 
-  longer called. Relying on this method for launch function was always problematic, 
-  since tabs only exist when launching is performed from the launch dialog. Also, 
-  with the introduction of background launching, this method can no longer be 
-  called, as the launch dialog is be closed before the resulting launch object 
-  exists.</p>
-
-<h3>Perspective Switching</h3>
-<p>In prior releases, perspective switching was specified on a launch configuration, 
-  via the launch configuration attributes <code>ATTR_TARGET_DEBUG_PERSPECTIVE</code> 
-  and <code>ATTR_TARGET_RUN_PERSPECTIVE</code>. With the addition of extensible 
-  launch modes in 3.0, this approach no longer scales. Perspective switching is 
-  now specified on launch configuration type basis, per launch mode that a launch 
-  configuration type supports. API has been added to <code>DebugUITools</code> 
-  to set and get the perspective associated with a launch configuration type for 
-  a specific launch mode.</p>
-<p>An additional, optional, <code>launchMode</code> element has been added to 
-  the <code>launchConfigurationTabGroup</code> extension point, allowing a contributed 
-  tab group to specify a default perspective for a launch configuration type and 
-  mode.</p>
-<p>From the Eclipse user interface, users can edit the perspective associated 
-  with a launch configuration type by opening the launch configuration dialog, 
-  and selecting a launch configuration type node in the tree (rather than an individual 
-  configuration). A tab is displayed allowing the user to set a perspective with 
-  each supported launch mode.</p>
-
-<h3>Generic Console</h3>
-<p>With the work for the generic console support <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=37263"> 
-  (Bug 37263)</a>, the view id for the Eclipse (formerly debug) console has changed. 
-  This results in problems at startup such as "Could not restore workbench layout" 
-  with details that "Could not create view: org.eclipse.debug.ui.ConsoleView" 
-  for the particular perspective that contained reference to the old view id. 
-  The equivalent view id is now: "org.eclipse.ui.console.ConsoleView".<br>
-  The generic console is available via the Window>Show View>Basic>Console and 
-  is used by the Eclipse debug and Ant integration. </p>
-
-<h3>Console Line Tracker Extension</h3>
-<p>A console line tracker (<code>IConsoleLineTracker</code>) can be notified when 
-  its associated console is closed (i.e. all of its streams are closed), by implementing 
-  the new interface <code>IConsoleLineTrackerExtension</code>. The notification 
-  indicates that no more output will be appended to the console.</p>
-
-<h3>Launch Configuration Tab Enhancements</h3>
-<p>Two methods have been added to the <code>ILaunchConfigurationTab</code> interface 
-  - activated and deactivated. These new life cycle methods are called when a 
-  tab is entered and exited respectively. Existing implementations of <code>ILaunchConfigurationTab</code> 
-  that subclass the abstract class provided by the debug plug-in (<code>AbstractLaunchConfigurationTab</code>) 
-  will maintain binary compatibility, as the methods have been added in the abstract 
-  class.</p>
-<p>In prior releases, a tab was sent the message <code>initializeFrom</code> when 
-  it was activated, and <code>performApply</code> when it was deactivated. In 
-  this way, the launch configuration tab framework provided inter-tab communication 
-  via a launch configuration (by updating the configuration with current attribute 
-  values when a tab is exited, and updating the newly entered tab). However, since 
-  many tabs do not perform inter-tab communication, this can be inefficient. As 
-  well, there was no way to distinguish between a tab being activated, and a tab 
-  displaying a selected launch configuration for the first time. The newly added 
-  methods allow tabs to distinguish between activation and initialization, and 
-  deactivation and saving current values. </p>
-<p>To avoid breaking the behavior of current tab implementations, the default 
-  implementation of <code>activated</code>, provided by the abstract tab, calls 
-  <code>initializeFrom</code>. And, the default implementation of <code>deactivated</code> 
-  calls <code>performApply</code>. Tabs wishing to take advantage of the new API 
-  should override these methods as required. Generally, for tabs that do not perform 
-  inter-tab communication, a correct implementation of these methods is to do 
-  nothing.</p>
-  
-<h3>BreakpointManager Can Be Disabled</h3>
-<p>IBreakpointManager now defines the methods setEnabled(boolean) and isEnabled().
-  When the breakpoint manager is disabled, debuggers should ignore all registered breakpoints.
-  The debug platform also provides a new listener mechanism, IBreakpointManagerListener
-  which allows clients to register with the breakpoint manager to be notified when its
-  enablement changes.</p>
-<p>The Breakpoints view calls this API from a new toggle action that allows the user to
-  "Skip All Breakpoints." Debuggers which do not honor the breakpoint manager's enablement
-  will thus appear somewhat broken if the user tries to use this feature.</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_1_buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_1_buildnotes_platform-debug.html
deleted file mode 100644
index 3562b6e..0000000
--- a/org.eclipse.debug.core/r3_1_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,975 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC4
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100807">100807</a>: Source not found<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC3
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99407">99407</a>: Handle BLE from toggle breakpoint action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99796">99796</a>: Refactoring changed launch config name to &quot;null&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99693">99693</a>: Invalid stack frames during display<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84458">84458</a>: [Doc] package.html needs to be updated for org.eclipse.ui.console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99752">99752</a>: Console Terminate Hangs Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99996">99996</a>: NPE when bringing the Memory View to the top from a view stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100105">100105</a>: Help context id fixes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100489">100489</a>: &quot;color&quot; as a preference keyword<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100283">100283</a>: [Memory View]: SWTException when launch a session with Memory view open<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC2 - June 10, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94441">94441</a>: deallocated Inspect Expression incorrectly displayed in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97654">97654</a>: Pref Page General/Colors and Fonts - problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97564">97564</a>: breakpoint group shows as disabled when enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98655">98655</a>: [Preferences] Error message too long in Preferences dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96972">96972</a>: NullPointerException when trying to set breakpoint (in ToggleBreakpointAction)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97304">97304</a>: DebugRequestJob should be system job<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97327">97327</a>: renaming main type does not update launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97628">97628</a>: Edit source path dialog not re-sizeable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97742">97742</a>: Console uses wrong link color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97847">97847</a>: An internal error occurred during: &quot;Fetching children from debug target&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97869">97869</a>: Pref Page Run/Debug - problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98272">98272</a>: Key binding for terminate - works 3.0, not 3.1 (debug view issue)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98389">98389</a>: Stack overflow when launching from within project with circular plugin dependancy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71794">71794</a>: Mnemonic in error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98090">98090</a>: source lookup with relative path names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95490">95490</a>: String substitution variables are lost during import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98048">98048</a>: &quot;Terminate and Remove&quot; doesn't assure termination of launch object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98090">98090</a>: source lookup with relative path names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99174">99174</a>: launch view should use async instead of sync<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98249">98249</a>: cvs console missing icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99063">99063</a>: DebugModePromptStatusHandler should check preference before getting the active shell<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91305">91305</a>: program spewing large amounts to console causes eclipse to OOM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92135">92135</a>: Investigate console performance test failures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97348">97348</a>: Run button enabled without selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98162">98162</a>: Missing properties string in AddMemoryRenderingAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98003">98003</a>: 3.1 RC1 javadoc warnings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96657">96657</a>: Clipped message for missing source.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97726">97726</a>: Carat location should be updated when user types in Console.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98900">98900</a>: Console hyperlinks inaccurately detected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98995">98995</a>: Monitor Memory Dialog needs to accept empty expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99067">99067</a>: Add Memory Monitor dialog should stay up if there is an error adding a memory monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99247">99247</a>: Potential NegativeArraySizeException in Table Rendering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-3.1 RC1 - May 27, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94446">94446</a>: CodePagesPrefDialog using internal help access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84324">84324</a>: Changes to Watch Expressions not updated in view when not debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84959">84959</a>: action background job hangs onto elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89961">89961</a>: NPE running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93686">93686</a>: Provide select all / deselect all buttons for BreakpointWorkingSetPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95190">95190</a>: Display view context menu item is missing label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95199">95199</a>: consoleFactories extension point doesn't specify implementation reqs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94749">94749</a>: terminate all does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95256">95256</a>: Marker doesn't exist error from breakpoint sorter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94357">94357</a>: breakpoints view not auto-opened on second launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87586">87586</a>: View closure doesn't pay attention to perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71486">71486</a>: no error message when CTRL-S used to change var value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85612">85612</a>: NPE trying to create new launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93545">93545</a>: No feedback when re-enabling breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95662">95662</a>: Activity enablement not working in debug platform<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93474">93474</a>: &quot;Step filters&quot; incorrectly enabled when launch selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94281">94281</a>: [Preferences] Some Parts not using Dialog Fonts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90206">90206</a>: Stack trace console should use console font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95204">95204</a>: FolderSourceContainerDialog and internal ref<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95767">95767</a>: (polish) Use &quot;open&quot; instead of &quot;switch&quot; terminology for perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95956">95956</a>: typo in NLS keys<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92547">92547</a>: Job not shut down correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92949">92949</a>: potential NPE in RenderingViewPane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95477">95477</a>: Infinite &quot;restore viewer state&quot; in Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91543">91543</a>: Exception when placing a breakpoint (double click on ruler)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91786">91786</a>: top frame annotated as &quot;secondary&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77252">77252</a>: Consistency in SDK consoles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96546">96546</a>: Debug plugins should restrict access to their packages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95470">95470</a>: Debug jobs should be system jobs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87587">87587</a>: Debugging views automatically opened before perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96470">96470</a>: Breakpoint type group shows up not &quot;enabled&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96199">96199</a>: NPE in RemoteTreeViewer.deferExpansion running Ant test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96724">96724</a>: FindVariableDelegate leaks as remains as DebugEventListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96557">96557</a>: Missing adapter type: BreakpointTypeCategory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94406">94406</a>: Context Enabled not opened in Java Perspective in multi-langauage scenario<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94535">94535</a>: TimedOut VM remains in Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96451">96451</a>: Memory View throws exception in multi-window scenario<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95745">95745</a>: console/editor:  allow editor selection/load of source files for none stack traces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96766">96766</a>: Console hyperlinks broken by 3.1M7<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96432">96432</a>: Debug/Run As "Ant build" shows up for Java files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85770">85770</a>: Hyperlink over multiple lines: text colored only on first line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96731">96731</a>: Leak: RemoteTreeViewer jobs holding on to debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96728">96728</a>: Leak: MemoryViewSynchronizationService remains as listener of IMemoryBlockManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94454">94454</a>: Find Variable action from Variable view missing mnemonic<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 13, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94208">94208</a>: Debug UI depends on IDE to declare &quot;Goto Breakpoint&quot; image.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94216">94216</a>: Open type does not work for generic types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94447">94447</a>: WorkingSetSourceContainerBrowser and internal WorkbenchPlugin<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 9, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92939">92939</a>: Render links in the console as hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93712">93712</a>: missing messages in DebugUIMessages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93198">93198</a>: ClassCastException  when monitoring large array in Expression View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93578">93578</a>: java.lang.ArrayIndexOutOfBoundsException in ConsoleDocumentAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93800">93800</a>: Serialize requests per target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93805">93805</a>: Run/Debug as menu should never be empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93909">93909</a>: No longer able to launch java application from navigator view folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93927">93927</a>: Add keywords to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93949">93949</a>: Tests opening external browsers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93976">93976</a>: Add Source Container dialog should add the new container to the top of the source container list by default.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94133">94133</a>: [Console] console does not automatically appear on write to stdout<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 3, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93711">93711</a>: Eraser icon is difficult to see and analogy is often missed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89548">89548</a>: no message for native methods in var view<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 3, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85033">85033</a>: Memory View:  Screen reader does not read content properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92704">92704</a>: Classcast exception from Registers View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76032">76032</a>: inconsistent &quot;Run&quot; rightclick menu on French OS vs. English OS<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92817">92817</a>: [api] fields deleted from MessageConsole<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92838">92838</a>: [api] add missing &#64;since 3.1 tags on API added in 3.1 cycles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92902">92902</a>: Can't launch with errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92836">92836</a>: [api] missing &#64;since 3.1 tag on AbstractDebugView.setViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92930">92930</a>: 4 methods added to CommonTab intended to be private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90289">90289</a>: &gt;1 debug worker thread calling IStackFrame.getVariables()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92938">92938</a>: Unused Keys in ConsoleMessages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92840">92840</a>: [api] deleted field IDebugUIConstants.IMG_ACT_SYNCED<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 26, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88685">88685</a>: stepxxx and resume calls made even if &quot;canStepxxx()&quot; and &quot;canResume()&quot; return false<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91605">91605</a>: ShowTypesAction runs twice when it is invoked.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89604">89604</a>: [polish] Prompted to delete all selected breakpoints for empty group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91889">91889</a>: top frame not selected when monitor added to stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78166">78166</a>: [performance test] console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79426">79426</a>: Exception in log file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92135">92135</a>: Output out of sync with process when debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90351">90351</a>: [performance test] Tests completing too quickly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91552">91552</a>: Console view shows &quot;Console&quot; as content description when no consoles open<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91625">91625</a>: IndexedValuePartition's #getVariables is inefficient<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91984">91984</a>: RemoteTreeViewer.StateRestorationJob should be pushed down stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92132">92132</a>: Memory rendering's dispose() method gets called twice when closing the rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89743">89743</a>: [polish] [Console] Process Console not opened if output is not captured anywhere<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87420">87420</a>: Provide feedback during source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89230">89230</a>: Run as mnemonic has been changed from S to U<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89693">89693</a>: Exception occurred when looking at monitors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92244">92244</a>: SelectedResourceManager copies entire text selection upon every selection change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81330">81330</a>: Missing mnemonics in Context menu of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85588">85588</a>: No error/warning when console encoding not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74885">74885</a>: Review all Threads created to see if they should be set as daemon<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 19, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91208">91208</a>: firing PropertyChangeEvent in TextConsole.addHyperlink can be expensive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78318">78318</a>: Backport performance tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91471">91471</a>: Avoid asyncs in action updating<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89865">89865</a>: Poor debug performance in I20050330-0500<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89184">89184</a>: Eclipse hangs during shutdown after error disposing display<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90975">90975</a>: Consoles removed when using multiple windows<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91569">91569</a>: TextConsoleViewer should not change selection when auto-scrolling<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91067">91067</a>: Performance problem in Console View if more than one Console View is opened<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91597">91597</a>: OutputStreamMonitor #read method is inefficient<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82530">82530</a>: DebugPluginImages and ImageRegistry<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 12, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89748">89748</a>: [polish] &quot;Search for duplicate source files&quot; option doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82627">82627</a>: Source containers should be case-insensitive on platforms that are case insensitive.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89883">89883</a>: Exception triggered by Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90154">90154</a>: [Memory View] Short Input Rejected by Hex Rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88261">88261</a>: create component XML for debug plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90892">90892</a>: Typos in javadoc of IConsoleFactory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90318">90318</a>: Change string externalization to use new format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88677">88677</a>: AbstractDebugEventHandler$EventProcessingJob can hog UI thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90387">90387</a>: Debug with break point cause error in 3.1M6<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90518">90518</a>: JAR debug plug-ins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90838">90838</a>: Folder and Directory source containers should have slightly more descriptive names.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90470">90470</a>: StatusDialog now available in JFace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76794">76794</a>: Error Disabling Breakpoint: "Unable to create class prepare request."<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 5, 2005 - M6
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89741">89741</a>: [polish] Debug config: Suggestion: When user clicks new, put focus in name text field<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89590">89590</a>: Scroll Lock is broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89711">89711</a>: Display View unexpectedly brought to top when debug session is suspended<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 1, 2005 - M6
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89772">89772</a>: [Memory View] NPE in AbstractTableRendering when throwing Debug Exception during rendering creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89308">89308</a>: Pass combined preference store to TextSourceViewerConfiguration(IPreferenceStore)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 29, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88945">88945</a>: [Memory View] Add code page preference for Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84378">84378</a>: Open several tabs in memory view at once<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89293">89293</a>: [Memory View] Selection problems in Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82245">82245</a>: Multiple memory views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88828">88828</a>: [Memory View] Allow clients to provider custom decorations in AbstractTableRendering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 24, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88833">88833</a>: TableRenderingLabelProviderEx should cache font/color providers<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 22, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86510">86510</a>: Filtering all threads from the debug view causes infinite expand attempts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88585">88585</a>: Find action in variables and expressions view context menu has no text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80857">80857</a>: ProjectSourceContainer fails to search for files specified by relative paths<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86572">86572</a>: banner image for launch config tab groups ignored<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88465">88465</a>: VariableValueEditorManager does not need to be API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86743">86743</a>: Register view shows the same as Variables view in CVS HEAD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88027">88027</a>: ConsoleManager does not recognize Workbench shutdown.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88264">88264</a>: [Memory View] Support for non-scrollable IMemoryBlockExtension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88404">88404</a>: [Memory View] Support for mixed-endianess in a memory block<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88232">88232</a>: AbstractSourceLookupDirector disposes existing containers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86725">86725</a>: Environment vars on windows: lowercase/uppercase<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85216">85216</a>: [API] platform could provide double-click breakpoint action<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 15, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86793">86793</a>: Support for dynamic help in LaunchConfigurationView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87421">87421</a>: IMemoryBlockExtension: Rename getAddressibleSize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52939">52939</a>: Launch from the context menu in an editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74343">74343</a>: Some contextual views not opening after a perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87569">87569</a>: Infinte loop obtaining image when switching to Debug Perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87955">87955</a>: Exception on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86617">86617</a>: Memory view scrolling problem under GTK<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83246">83246</a>: Javadoc warnings in latest builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87692">87692</a>: setConsoleWidth() causes Invalid thread access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86859">86859</a>: NPE running Ant debugger test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86895">86895</a>: NPE from source lookup from Ant debug tests<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 8, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87108">87108</a>: ProcessConsole.ConsoleLogFilePatternMatcher should remove itself once a match has been found<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78288">78288</a>: [API] Drop to Frame not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86850">86850</a>: Console should scroll to last line, not end of document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86956">86956</a>: Adapt to the key binding changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87225">87225</a>: NPE during compile using clover 1.2.2<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Mar 1, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85623">85623</a>: NPE opening View Management preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77566">77566</a>: [API] Implementations of AbstractJavaLaunchConfigurationDelegate.launch are too monolithic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85322">85322</a>: remote viewers should cancel jobs when disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85964">85964</a>: RemoteVariablesContentProvider.hasChildren() communicating with Target in UI Thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86030">86030</a>: VariablesView communicates with target in UI thread while populated Details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86199">86199</a>: [M5a] Memory view is not updated when padded string is changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81211">81211</a>: [KeyBindings] preference page: key bindings don't show relevant platform<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51887">51887</a>: Feature request: Allow more control over Debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86573">86573</a>: Console prcoess type property tester poorly named<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76526">76526</a>: [API] ILaunchManager/Launch not extensible.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87081">87081</a>: Invalid thread access during &quot;Populate Detail Pane&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85600">85600</a>: NPE from format in Java Stack trace console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77255">77255</a>: RemoveAllTerminatedAction and ConsoleRemoveAllTerminatedAction differences/bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85626">85626</a>: View tracking state still honored after toggling "track views" preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84362">84362</a>: Relaunch does not terminate current launch<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 22, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85740">85740</a>: &quot;Display in favorites&quot; selection table is too small<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85734">85734</a>: Debug view flickers excessively<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 17, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85582">85582</a>: index out of bounds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85653">85653</a>: Reuse of source lookup result<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84111">84111</a>: Exception while running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85603">85603</a>: Attempting to capture output to invalid file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85330">85330</a>: Illegal Argument Exception in VariablesView details panel<br>	  	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85579">85579</a>: launch view event handler performs insert rather than refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85701">85701</a>: source selection only cleared on thread termination<br>
-	  	
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 15, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84588">84588</a>: Dummy launch should be rendered with italics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84587">84587</a>: dummy launch not cleaned up when job terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84257">84257</a>: Expanding tree in the variable view collapses the tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78553">78553</a>: Console hyperlink painting needs improvement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84795">84795</a>: Missing NLS string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84586">84586</a>: Launch doesn't wait for build if launching while &quot;cleaning&quot; before build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82318">82318</a>: Breakpoint enablement blocks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80325">80325</a>: Deferred content adapater will override workbench adapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84075">84075</a>: deferred workbench adapters for expressions and registers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84825">84825</a>: new variables no longer revealed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84672">84672</a>: breakpoint does not have marker errors in test log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84907">84907</a>: Invalid thread access while removing launches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84958">84958</a>: class cast exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85048">85048</a>: RemoveAllTerminatedAction causes debug view to refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84932">84932</a>: Deleting a breakpoint leaves no selection in the breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83793">83793</a>: Find Variable could be mapped to Ctrl-F<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84959">84959</a>: action background job hangs onto elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84951">84951</a>: Launch leak<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73397">73397</a>: Setting ErrorHandlers for XML parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84960">84960</a>: Launch view source lookup result hangs onto launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83245">83245</a>: [Breakpoint Groups] Improve icons for breakpoint type groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84884">84884</a>: test failure: memory rendering types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84925">84925</a>: refactoring of doUpdateItem(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85291">85291</a>: NPE in find variale action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84933">84933</a>: Adding a lock to Debug View deselects stack frame<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85007">85007</a>: Invalid stack frames displayed in Debug View, Owned monitors not displayed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84641">84641</a>: StringIndexOutOfBoundsException in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84870">84870</a>: Hang in PasteBreakpointsAction.updateSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 8, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84072">84072</a>: Text field doesn't have border<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83237">83237</a>: [Breakpoint Groups] Breakpoint working set actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84258">84258</a>: Find variable enabled when view is empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83453">83453</a>: Infinite &quot;restore viewer state&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73417">73417</a>: Wrong thread selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84078">84078</a>: RemoteTreeContentManager should override default job name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84493">84493</a>: Flashing job notification on stepping: "Restore Viewer state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84189">84189</a>: Remove &quot;final&quot; limitation from Launch implementation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77781">77781</a>: No feedback when launch is waiting for build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84454">84454</a>: Allow termination of launch when in &quot;waiting for build...&quot; state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83607">83607</a>: ClassCastException during saving VariablesView state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84605">84605</a>: update javadoc for IDebugModelPresentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84385">84385</a>: disabling breakpoint with ruler action does update check box in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83794">83794</a>: API issue with logical structures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72838">72838</a>: Say which project in &quot;Errors exist in a required project. Continue to launch?&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64424">64424</a>: Enhancement required in the Launch Configuration extension point<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Feb 1, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83779">83779</a>: NPE attempting to edit string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75849">75849</a>: Support for search in variables view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83054">83054</a>: Changing toString() setting at debug time has no immediate effect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83570">83570</a>: Mnemonic collisions on CommonTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83956">83956</a>: Hang while debugging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 25, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82866">82866</a>: [Breakpoint Groups] The default groups should be emphasized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82993">82993</a>: &quot;show qualified names&quot; broken in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83035">83035</a>: breakpoints not visible when view brought to top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83103">83103</a>: newly created breakpoint not visible in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82886">82886</a>: Breakpoints view "expands all" too often<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83244">83244</a>: [Breakpoint Groups] wording in advanced ordering dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44724">44724</a>: background content in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82840">82840</a>: Concurrent modification exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82729">82729</a>: Run to line should work in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82931">82931</a>: NPE in RenderingViewPane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82869">82869</a>: [Breakpoint Groups] show only breakpoint working sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74125">74125</a>: [Console] provide API for images<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75227">75227</a>: Allow DND of breakpoints to breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83235">83235</a>: [Breakpoint Groups] show empty breakpoint sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83238">83238</a>: [Breakpoint Groups] Breakpoint actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83260">83260</a>: dnd with nested breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83277">83277</a>: Run/Debug: reuse editor does not affect current workbench session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82492">82492</a>: Groups do not indicate that the breakpoint manager is disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83365">83365</a>: Cutting a breakpoint doesn't remove the breakpoint from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82912">82912</a>: breakpoint groups "Others" category could be more descriptive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75891">75891</a>: Stratum line breakpoints should be grouped by stratum.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83202">83202</a>: No mnemonics on Breakpoint working set page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82868">82868</a>: [Breakpoint Groups] Custom working set dialog<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 18, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80991">80991</a>: Promote StringVariableSelectionDialog to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82553">82553</a>: NPE from TerminateAllAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80924">80924</a>: errors in log running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75194">75194</a>: CommonSourceNotFoundEditor is closed unexpectedly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76272">76272</a>: Use working sets to store custom breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71149">71149</a>: [artwork] When breakpoints are disabled (skipped), the bullet should be different<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81236">81236</a>: Consider console output to a workspace file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82708">82708</a>: Cannot delete console output file w/o removing console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82908">82908</a>: console ckpii error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80321">80321</a>: Support "Group By > Working Set" in Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82865">82865</a>: [Breakpoint Groups] "Show" actions for breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82871">82871</a>: [Breakpoint Groups] Deselect working should disable when none<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82882">82882</a>: Need to provide an icon for "working set organizer"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82883">82883</a>: IBreakpointOrganizer not needed in public API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82885">82885</a>: "Breakpoint organizers" don't show icons in cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82895">82895</a>: Broken strings in new "breakpoint working set" dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82900">82900</a>: should be able to create empty breakpoint working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80207">80207</a>: launch variables should insert at cursor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 11, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82003">82003</a>: The IDisconnect implementation by Launch module is too restrictive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82001">82001</a>: When shutting down the IDE, the debugger should first attempt to disconnect debug targets before terminating them<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80551">80551</a>: Provide AbstractRunToLineAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82402">82402</a>: [Memory View] Bad error message format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>: Memory View does not scroll properly on Linux<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82403">82403</a>: [Memory View] Unable to remove more than one memory monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82280">82280</a>: remove TextConsole.setAutoScroll()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82479">82479</a>: run to line test failures<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 4, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72909">72909</a>: Add &quot;Remove All Breakpoints&quot; action to &quot;Run&quot; menu<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 21, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81540">81540</a>: no need to create annotation for editors without annotation model<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71149">71149</a>: [artwork] When breakpoints are disabled (skipped), the bullet should be different<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-M4, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70938">70938</a>: Need to be able to turn off &quot;Watch&quot; action for IVariable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80522">80522</a>: VariablesView and problems with hyperlink support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81234">81234</a>: Console Pinning causes no console to be displayed.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80227">80227</a>: Fixed width console of 80 chars double spaces 80 char lines<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80546">80546</a>: Incorrect package ref for IRunToLineTarget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80617">80617</a>: Memory View does not synchronize properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80331">80331</a>: NPE from AbstractDebugActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80409">80409</a>: Breakpoints Group By > menu should number submenu starting with 1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76297">76297</a>: Enhancements to memory block API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78335">78335</a>: Support for word-addressable memory in memory view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78423">78423</a>: Enhancements to Memory Rendering Extension Point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79255">79255</a>: Enhancements to Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80284">80284</a>: Enhancements to Memory View - replace MemoryViewPane with Tree Viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80229">80229</a>: AIOB exception with fixed width console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80679">80679</a>: Encoding dropdown enabled on common tab of launch config when default selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80653">80653</a>: IllegalArgumentException from OpenBreakpointMarkerAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1654">1654</a>: USABILITY - Can't look at client server output in one perspective (1GFX2ZU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80726">80726</a>: new launch doesn't open console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80728">80728</a>: ShowConsoleAction not working when console pinned<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80720">80720</a>: Pinned console does not remain on top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80373">80373</a>: Pinning of consoles is lost after relaunch of debug process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80729">80729</a>: NPE in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80873">80873</a>: Fill out schema for logical structure providers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80721">80721</a>: Conflicting key binding for 'org.eclipse.debug.ui.commands.eof' and 'org.eclipse.ui.edit.text.delete.line'<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79153">79153</a>: [Common Tab] redirect to file should do variable expansion<br>	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79757">79757</a>: NoClassDefFoundError when opening type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79897">79897</a>: Debug view flashes after terminating target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79903">79903</a>: Source not found automatically for higher level plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79949">79949</a>: Console View is missing Ctrl-C in context menu item.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79841">79841</a>: Memory view leaks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79606">79606</a>: Common tab is too tall<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79735">79735</a>: Allow to append / overwrite when output to file from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79952">79952</a>: broken hyperlink in console redirecting process output to console.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79306">79306</a>: Custom breakpoint group action enablement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30779">30779</a>: Queue/Fire debug events in separate thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79951">79951</a>: Output lost / colored incorrect with echoProperties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80073">80073</a>: Shortcut for show debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79510">79510</a>: background source lookup<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 30, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78881">78881</a>: NullPointerException in memory view when selecting watch expressions<br>	
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78079">78079</a>: Error loading classes to to Apple's VM packaging.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79097">79097</a>: Mnemonic collision on the Commons tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79466">79466</a>: Capture Output file widgets enabled initially<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35400">35400</a>: new Debugger view can't get to associated text editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23064">23064</a>: RFE: Add option to redirect console output (stderr & stdout) to file<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76316">76316</a>: Addition of memory block manager to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76310">76310</a>: Memory block enhancements: MemoryByte<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78864">78864</a>: Using new registry API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value &quot;null&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77060">77060</a>: Toggling show qualified names in the Debug view collapses thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78010">78010</a>: NPE closing eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79008">79008</a>: Dialog units should not be used for calculating button heights<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77380">77380</a>: hyperlinks in stack trace console draw &quot;higher&quot; than original text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78739">78739</a>: stack trace console unexpectedly restored<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78751">78751</a>: Extension Point Schema Changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78996">78996</a>: ContextualLaunchAction assumes launch group category supports mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78759">78759</a>: NPE in WatchExpression.getLaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 16, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73882">73882</a>: ConsoleDocumentManager caused a deadlock<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77779">77779</a>: Advanced Breakpoints grouping dialog improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76119">76119</a>: source containers not disposed when launch removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78191">78191</a>: [console] context menu contributions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77995">77995</a>: NPE out of LaunchViewer running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74590">74590</a>: Console colors not changed for terminated processes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68621">68621</a>: Invalid thread access in launcher from Checkout thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78193">78193</a>: IOConsolePartitioner.TrimJob quits too early if lastPartition is null<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78351">78351</a>: Please add shortcut keys to switch to Variables and Breakpoints views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77416">77416</a>: Filter console factories by capabilities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78386">78386</a>: NPE in ProcessConsoleManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78456">78456</a>: Breakpoint group setting lost on close of breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78494">78494</a>: State of child BreakpointContainers are not updated when parent is enabled/disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75851">75851</a>: Custom variable edit widget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78513">78513</a>: Memory View: Length and change state incorrect for IMemoryBlock<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29581">29581</a>: Launch shortcut hotkeys<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 9, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74584">74584</a>: [Console] IOConsole does not bold title when contents change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75571">75571</a>: restore defaults does not enable console buffer size text field<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77667">77667</a>: Invalid error message in Run/Debug|Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77783">77783</a>: No mnemonic for &quot;Group By&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77670">77670</a>: breakpoint group rendered as &quot;enabled&quot; when manager disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77721">77721</a>: groups not expanded when switching between none and other<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77991">77991</a>: Leak: IOConsolePage needs to dispose ScrollLockAction<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77703">77703</a>: Deselecting Map$Entry/Show As&gt;/Key And Value Deselects Map/Show As&gt;/Map Entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77754">77754</a>: Inefficient loop rendering styled text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77472">77472</a>: NPE in TextConsolePage runnable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77994">77994</a>: TextConsoleViewer leaks ConsoleDocumentAdapter<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77998">77998</a>: IOConsoleViewer leaks a document listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76605">76605</a>: Set our compiler settings for each project so they are shared<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77748">77748</a>: NPE terminating a target<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 2, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76771">76771</a>: Inconsistency between schema description and implementation in logicalStructureTypes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77049">77049</a>: SelectBreakpointGroupDialog doesn't allow selection of existing groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76675">76675</a>: Pattern Matching independent of IOConsole and IOConsolePartitioner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77028">77028</a>: Element 'breakpointContainerFactory' is not legal as a child of element 'extension'.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77046">77046</a>: Console causing Ant test failures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77072">77072</a>: Composite breakpoint group expansion problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77065">77065</a>: scroll lock not required in stack trace console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77066">77066</a>: Pressing &lt;Enter&gt; in strack trace console appends to EOD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76907">76907</a>: Clarify run menu (run, run..., run &gt; run...?  RUN!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54916">54916</a>: Environment tab should show icons for env vars<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74206">74206</a>: Delete breakpoint needs to "preserve selection"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74031">74031</a>: No mnemonics on Open Console drop down items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74123">74123</a>: Console font problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75370">75370</a>: Hyperlinks to source in console don't work sometimes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77029">77029</a>: &quot;Browse&quot; button on the Common tab does not resize properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77033">77033</a>: Console encoding on Common tab: mnemonics and NLS<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77189">77189</a>: exception during test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77068">77068</a>: Typing in stack trace console moves line to top of view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77116">77116</a>: API cannot reference internal classes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77306">77306</a>: Provide a rendering view pane in the Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69815">69815</a>: DBCS -- System console cannot display Unicode characters properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76427">76427</a>: Run configuration dialog layout<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69083">69083</a>: Switch to associated perspective on suspension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77063">77063</a>: JavaStackTraceConsole should use Hyperlink Color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77295">77295</a>: Argument parsing for command line launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77238">77238</a>: Enable/Disable not on context menu for breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77048">77048</a>: ArrayIndexOutOfBounds removing breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77397">77397</a>: Book capitalization in Color and Font extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77253">77253</a>: Sort the consoles in the Open console dropdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77073">77073</a>: Expand to show breakpoint containers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77421">77421</a>: [Themes] default text editor font changes by itself<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77462">77462</a>: CVS Plug-in fails to start<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74596">74596</a>: Always group by breakpoint type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75119">75119</a>: Default breakpoint group setting not used when breakpoints view not there<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 26, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76539">76539</a>: ILaunchConfiguration.getAttributes doc/clone usage pbm<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76677">76677</a>: Console Input incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76110">76110</a>: Breakpoints not showing as installed in the BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76532">76532</a>: Deleting multipe groups prompts for each group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75183">75183</a>: DebugEvent.CHANGE does not cause run control action states to be updated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76797">76797</a>: Two output stream reader threads and 100% CPU usages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76743">76743</a>: Console pipes should be closed when program terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51884">51884</a>: Feature request: More flexible debug hierarchy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76514">76514</a>: Allow debug presentations to provide colors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76517">76517</a>: NPE in LaunchViewContextListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76529">76529</a>: Renaming a custom group collapses all of the groups<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 19, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75967">75967</a>: NullPointerException in IOConsolePartitioner.getRegion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75769">75769</a>: Console doesn't restore displayed tab width 8 on restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75174">75174</a>: Can not clear console with unlimited output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75546">75546</a>: hang during debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72500">72500</a>: Migrate StringMatcher to RegEx 1.4 support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75198">75198</a>: breakpoint groups don't support double click expand<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76428">76428</a>: Run configuration dialog; source tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76270">76270</a>: Scroll in Console is always lock.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76208">76208</a>: Incorrect code for converting String-> boolean<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75282">75282</a>: Composite breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76518">76518</a>: Buttons in the Group Breakpoints "Advanced" dialog incorrectly sized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76521">76521</a>: Incorrect icon names for the breakpoint group actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76519">76519</a>: Expand all in the Breakpoints view with no groups causes infinite recursion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74673">74673</a>: Add Expand/Collapse All to Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76495">76495</a>: Delete action is enabled for a group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76498">76498</a>: "set custom group" should have "..."<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76497">76497</a>: illegal argument exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76326">76326</a>: Shared launch configurations not removed when containing project is deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76527">76527</a>: Flaw in AbstractBreakpointGroupAction->rename and dissolve broken<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 12, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75454">75454</a>: RuntimeProcess.isTerminated() replies "false" if process segfaults<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75402">75402</a>: NPE on LaunchShortcutsAction.createContext<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75588">75588</a>: generalize watchpoint to debug platform<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-October 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75111">75111</a>: ArrayIndexOutOfBoundsException in ContentWidthCache.textChanged<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75177">75177</a>: Error setting Console Preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75204">75204</a>: NPE using build 200409240800<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75226">75226</a>: IllegalArgumentException setting console size from 200k to 400k<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75506">75506</a>: Adjust for the many deprecations in the command extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75405">75405</a>: Allow a logical structure type to provide more than one logical structure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75123">75123</a>: Use PerspectiveLabelProvider in ViewManagementPreferencePage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75372">75372</a>: NPE in org.eclipse.ui.console.IOConsole.getHyperlink<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72209">72209</a>: Inspect and Display popup does not allow copying of values<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 28, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74947">74947</a>: Remove warnings from 200409240800 build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74741">74741</a>: console hyperlink search is slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34052">34052</a>: CTRL-Z Not Recognized as EOF<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 21-23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56253">56253</a>: [Generic Console] no support for extending the toolbar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73942">73942</a>: IllegalMonitorStateException pasting into the Java Stack Trace Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73908">73908</a>: [Console] Incorrect colorization when multi streams write to same line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56252">56252</a>: [Generic Console] no support for enabled/disabled lifecycles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73957">73957</a>: API break introduced with IConsoleHyperlink change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73924">73924</a>: Console can be removed before it's page is created<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73893">73893</a>: Should disallow close in LCD when running an operation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73842">73842</a>: Remove from Group enabled when breakpoint not in a group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73576">73576</a>: Pattern matching in IOConsole is too expensive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73996">73996</a>: Add to Group / Remove from Group incorrectly disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74005">74005</a>: Persist last breakpoint group across invocations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73950">73950</a>: MemoryView leaks AddMemoryBlockAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73951">73951</a>: CopyViewTabToClipboardAction leaks Clipboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74033">74033</a>: ClassCastException on selection change in Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73840">73840</a>: Group by>File seems to only match on name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74000">74000</a>: ClassCastException filtering for "show support breakpoints"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73870">73870</a>: [misc] NPE when terminating large output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73917">73917</a>: [Console] Missing hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74080">74080</a>: Process console did not flush stream monitors<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74124">74124</a>: Console type should be promoted to IConsole<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74308">74308</a>: Wrong number of lines in output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74331">74331</a>: CPU at 99% after a debug session<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74340">74340</a>: NPE in IOConsoleViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74370">74370</a>: NPE from ProcessConsolePageParticipant<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74039">74039</a>: NPE in ProcessConsole.connect<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68077">68077</a>: Manually closed views do not open when view management is reset<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73841">73841</a>: Icon for grouped breakpoints not disabled with set to skip breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74229">74229</a>: Debug test failure for program arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74283">74283</a>: Empty output in debug tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74703">74703</a>: Console view activated even if nothing is written to standart out<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74431">74431</a>: [Mac] runtime discovers JDI interfaces in classes.jar before jdi.jar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48286">48286</a>: Add support for input on consoles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74024">74024</a>: Console buffer implementation is line based rather than char based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74428">74428</a>: Clearing console during output breaks hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74363">74363</a>: &quot;Terminate and Remove&quot; action doesn't close a view tied to a Context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74563">74563</a>: renaming breakpoint group collapses group<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74381">74381</a>: Launch view manages views in other perspectives<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74384">74384</a>: Numerous action delegates leaked on debug perspective closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74465">74465</a>: Pasting multiple lines in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74558">74558</a>: "Dissolve Group" should be "Ungroup"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21597">21597</a>: Difficult to enter text in debug console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: Copying from IOConsole inserts extra line breaks.<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73823">73823</a>: Reorganize BreakpointsView menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72167">72167</a>: ProcessConsole should extend IOConsole<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44986">44986</a>: Support for Breakpoint groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73704">73704</a>: Provide action to group breakpoints by Type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70066">70066</a>: Bind &quot;Alt+Shift+Q C&quot; to active console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73493">73493</a>: Default VM Args field should parse quotes intuitively<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73577">73577</a>: Find (Ctrl-F) not enabled in ConsoleView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73779">73779</a>: Allow browse in &quot;Add To Group&quot; dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70471">70471</a>: ExpressionManager#handleDebugEvents() doesn't work as intended<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73844">73844</a>: Mnemonics missing from breakpoint groups<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-September 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72986">72986</a>: ExpressionInformationControl leaks<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72000">72000</a>: Run as Application: duplicate menmonics<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72449">72449</a>: NPE in VariablesView.saveState<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73068">73068</a>: Support for ordering launch shortcuts<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73069">73069</a>: bogus extension point id in org.eclipse.debug.ui.launchShortcuts<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73110">73110</a>: IConsoleColorProvider is not disconnected<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72472">72472</a>: Remove unused dependancies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72551">72551</a>: add System property to test suite to turn off workbench and console activation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51562">51562</a>: console doesn't wrap input<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: IOConsole inserts extra line breaks when pasting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72517">72517</a>: Replace &quot;Run As &gt;&quot; with context launch<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73272">73272</a>: NPE in ProcessConsoleManager when no process type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70664">70664</a>: TVT3.0:   Improper characters combination &quot;Run As&quot;<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 31, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72300">72300</a>: Confirmation on RemoveAll actions<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72350">72350</a>: NPE in BreakpointsView.dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72881">72881</a>: LineTracker Test Failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72483">72483</a>: NPE attempt to Inspect if never shown Variable view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27895">27895</a>: Add new command to Run-menu; Resume All Threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67383">67383</a>: breakpoint manage fires add notificaiton on initialization<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 24, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72169">72169</a>: provided debug context for non-UI thread<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26830">26830</a>: Allow external programs to create tasks and markers through regex matches on the output<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27591">27591</a>: [Console] Hyperlink color not used<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72165">72165</a>: MessageConsole should extend IOConsole<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70864">70864</a>: API method to show the console view has a bug<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28193">28193</a>: Watch expressions updating when expression view not visible<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31899">31899</a>: Consolidate "Java" hyperlinks<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71292">71292</a>: Launch name is truncated in MRU list<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71429">71429</a>: Choosing 'Cancel' in the ${string_prompt} dialog does not cancel the Run command<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61447">61447</a>: keybinding clean up.<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71561">71561</a>: Inspect popup doesn't handle tabs in inspected expression<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72370">72370</a>: [Console] ArrayIndexOutOfBounds<br> 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 17, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70354">70354</a>: JSP editor does not scroll to/highlight the current execution line when debug with JDT<br>
- 
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 3, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69470">69470</a>: TVT3.0: NL Truncation occurs in Run -> External Tools -> External Tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69723">69723</a>: TVT3.0: Truncated text in memory view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69952">69952</a>: ILaunchConfigurationListener's launchConfigurationRemoved gets a configuration that doesn't exist<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71185">71185</a>: TVT3.0: Extra mnemonics for Debug, Run, and External tools<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61566">61566</a>: Launch configs dialog: Arrow_Up/Down in configurations tree extremely slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64370">64370</a>: Fix setTitle deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68808">68808</a>: all debug actions (step, terminate, etc), should be done async<br>
- 
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 27, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69536">69536</a>: Infinite loop on rendering variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69978">69978</a>: TVT3.0: Two shortcuts for one menuitem<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69057">69057</a>: Incorrect icon in Breakpoints view when breakpoint manager disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69190">69190</a>: NullPointerException @ org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer.isFindDuplicates<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70472">70472</a>: MemoryBlockManager has redundant null check<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70492">70492</a>: Possible NPE in AddSourceContainerDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70493">70493</a>: Possible NPE in ViewTabCursorManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70495">70495</a>: Redundant null check in RefreshTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70499">70499</a>: Unnecessary null check in ContextualLaunchAction#selectionChanged(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69452">69452</a>: NPE initializing source lookup<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70571">70571</a>: launch config save location on Common tab<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68523">68523</a>: missing `return' in org.eclipse.ui.internal.console.MessageConsolePartition<br>  
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24829">24829</a>: Multiple toString results shown if hold down arrow key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68413">68413</a>: NPE from InstructionPointerManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70051">70051</a>: MemoryViewTab does not calculate delta and selected address correctly after error<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_1_changes.html b/org.eclipse.debug.core/r3_1_changes.html
deleted file mode 100644
index fb2cba6..0000000
--- a/org.eclipse.debug.core/r3_1_changes.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
-<title>3.1 Debug Platform Change Notes</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1>3.1 Debug Platform Change Notes</h1>
-<p>This document describes new features and important changes in the 3.1 debug 
-  platform, relative to the 3.0 release.</p>
-  
-<h2>New Features</h2>
-
-<h3> Breakpoint Organizers</h3>
-<p>The breakpoints view allows breakpoints to be displayed in groups. The platform 
-  supports breakpoint groupings by breakpoint type, file, project, and breakpoint 
-  working sets and resource based working sets (as well, it supports nested groupings). 
-  The <code>breakpointOrganizers</code> extension point allows for other grouping 
-  strategies to be contributed to the debug platform.</p>
-<p>A new, optional, <code>name</code> attribute has been added to the breakpoints 
-  extension point to provide a type name for breakpoints. This name appears as 
-  the group label, when the user chooses to group breakpoints by type. If this 
-  attribute is not specified on a breakpoint extension, the breakpoints are considered 
-  to not have a type, and will be displayed in the &quot;Others&quot; group.</p>
-<h3>Logical Structure Providers</h3>
-<p>Logical structures have been enhanced to allow clients to more easily contribute 
-  more than one logical structure for a given value. The new extension point <code>logicalStructureProviders</code> 
-  allows clients to contribute an implementation of an <code>ILogicalStrugureProvider</code>. 
-  A logical structure provider provides a simple way to contribute a single factory 
-  of logical structures for a debug model.</p>
-<p>In addition the optional interface <code>ILogicalStructureTypeDelegate2</code> 
-  has been added to allow a logical structure delegate to provide a dynamic label 
-  for a value's logical structure type.</p>
-<h3>Process Console Enhancements</h3>
-<p>The debug console has been enhanced to allow output to be multiplexed between 
-  the console and/or a file. As well, the encoding used to translate output to 
-  characters can now be specified. All of these options are available to the user 
-  on the &quot;Common&quot; launch configuration tab. As well, the options are 
-  available programmatically as launch configuration attributes. The following 
-  attributes have been added to <code>org.eclipse.debug.ui.IDebugUIConstants</code>.</p>
-<ul>
-  <li><code>ATTR_CONSOLE_ENCODING</code></li>
-  <li><code>ATTR_CAPTURE_IN_CONSOLE</code></li>
-  <li><code>ATTR_CAPTURE_IN_FILE</code></li>
-  <li><code>ATTR_APPEND_TO_FILE</code></li>
-</ul>
-<h3>Memory View</h3>
-<p>The Memory view, which was first released in 3.0 as internal API, has become 
-  public API in 3.1. See the new extension point <code>memoryRenderings</code>, 
-  and the new API package <code>org.eclipse.debug.ui.memory</code> for more information.</p>
-<h3>Parse Arguments</h3>
-<p>A convenience API method has been added to <code>DebugPlugin</code> to separate 
-  arguments in a single string into an array of arguments that can be passed to 
-  the command line for execution. See <code>DebugPlugin.parseArguments(String)</code>.</p>
-<h3>Run To Line Handler</h3>
-<p>Many debuggers implement &quot;run to line&quot; functionality by creating 
-  a breakpoint at the line a user has chosen to &quot;run to&quot;, and then resuming 
-  execution until that breakpoint is hit. A new API class, <code>RunToLineHandler</code>, 
-  has been created to simplify the task. The handler manages the &quot;skip breakpoints 
-  while performing run to line&quot; user preference as well canceling the operation 
-  if another breakpoint is hit before the &quot;run to line&quot; operation completes.</p>
-<h3>Run To Line Action Delegate</h3>
-<p>The <code>RunToLineActionDelegate</code> introduced in 3.0 can now also be 
-  contributed to a view (in 3.0 it could only be contributed to an editor). The 
-  action additionally implements <code>IViewActionDelegate</code>.</p>
-<h3>Variable Value Editors</h3>
-<p>A new extension point, <code>variableValueEditors</code>, allows debuggers 
-  to contribute custom editors for modifying a variable's value selected in the 
-  Variables view.</p>
-<h3>Launch Shortcut Keybindings</h3>
-<p>To register a key-binding for a launch shortcut, define a command with an <font face="Courier New, Courier, mono">id 
-  </font>the same as the launch shortcut <font face="Courier New, Courier, mono">id</font>, 
-  suffixed with the launch mode. For example, the id of the &quot;Java Application&quot; 
-  launch short cut is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut</font>, 
-  so the command id for launching in debug mode is <font face="Courier New, Courier, mono">org.eclipse.jdt.debug.ui.localJavaShortcut.debug</font>. 
-  Then define a key-binding for your command.</p>
-<p>When the command is invoked via the key-binding, the selection or active editor 
-  will be used as the target for the launch shortcut's launch method. The shortcut 
-  is only invoked if the shortcut is enabled for the selection or editor.</p>
-<h3>Source Lookup/Display Facility</h3>
-<p>API methods have been added to <code>DebugUITools</code> to facilitate source 
-  lookup and display. See the methods <code>lookupSource(Object, ISourceLocator)</code> 
-  and <code>displaySource(ISourceLookupResult, IWorkbenchPage)</code>. When a 
-  source lookup result for a stack frame is displayed, the open editor is also 
-  annotated with an appropriate instruction pointer.</p>
-<h3>Watchpoints (IWatchpoint) and Images</h3>
-<p>As watchpoints are common to many debug architectures, the notion of an IWatchpoint 
-  has been added to the debug model. A watch point is a breakpoint that suspends 
-  execution when an associated variable is read and/or written. As well, default 
-  images for rendering watchpoints have been added to the debug platform.</p>
-<h3>Colors and Fonts for Debug Elements</h3>
-<p>In 3.1, debug model presentations (<code>IDebugModelPresentation</code>) may 
-  optionally implement <code>IColorProvider </code>and <code>IFontProvider </code>to 
-  override default fonts and colors for debug elements.</p>
-<h3>Inserting Elements into Debug View</h3>
-<p>The Debug view allows for debug models to insert arbitrary elements into the 
-  debug model element hierarchy. For example, the Java debugger now displays lock 
-  information directly in the view. To override the default presentation in the 
-  view, a debugger must provide an <code>IWorkbenchAdapter</code> or <code>IDeferredWorkbenchAdapter 
-  </code>for the relevant element(s). The debug platform provides default adapters 
-  for the standard debug elements.</p>
-<p>Debug elements were always required to implement <code>IAdaptable</code>, and 
-  now must be subclasses of <code>PlatformObject</code> in order for workbench 
-  adapters to be properly registered and retrieved for debug elements.</p>
-<h3>Abstract Debug Element</h3>
-<p>An abstract implementation of a debug element is provided in 3.1 - <code>DebugElement</code>. 
-  Clients implementing debug models may choose to subclass this class when implementing 
-  debug models. The class provides convenience methods for firing debug events, 
-  reporting exceptions, and retrieving adapters.</p>
-<h3>Drop to Frame Platform Action/Interface</h3>
-<p>The debug platform provides a &quot;drop to frame&quot; action and corresponding 
-  capability interface (<code>IDropToFrame</code>). Debug elements supporting 
-  the capability should implement this new interface to share the global action.</p>
-<h3>Context Menu Launching in Editors</h3>
-<p>Launching from the context menu (for example, &quot;Run As &gt; Java Application&quot;), 
-  is now available in editors (In 3.1, this was only available in the package 
-  explorer and resource navigator). To leverage this feature, the editor input 
-  associated with a executable file must have an <code>ILaunchable</code> adapter 
-  registered for it.</p>
-<h3>Support for Unregistered Launch</h3>
-<p>The launch framework allows for a launch to be performed without registering 
-  a launch object with the launch manager. An unregistered launch does not appear 
-  in the Debug view. A new launch method has been added to <code>ILaunchConfiguration</code>, 
-  accepting a boolean argument determining whether the launch should be registered 
-  (<code>launch(String mode, IProgressMonitor monitor, boolean build, boolean 
-  register)</code>), and a new method has been added to <code>ILaunchManager</code> 
-  to determine if a launch is registered (<code>isRegistered(ILaunch launch)</code>).</p>
-<h3>Reusable Breakpoint Ruler Toggle Actions</h3>
-<p>Providing double-click breakpoint creation in an editor's vertical ruler is 
-  a common feature for debuggers. The debug platform provides two actions to facilitate 
-  this: <code>RulerToggleBreakpointActionDelegate </code>and <code>ToggleBreakpointAction</code>. 
-  A debugger must contribute the <code>RulerToggleBreakpointActionDelegate</code> 
-  to the appropriate editor (see javadoc for more details), and also register 
-  an <code>IToggleBreakpointsTarget </code>adapter with the editor.</p>
-<h3>Environment Variables Case Preservation</h3>
-<p>Support has been added to <code>ILaunchManager</code> to retrieve the environment 
-  variables defined in the OS preserving case. This is important on the WIN32 
-  operating system. Although WIN32 is case insensitive, depending on what you 
-  intend to do with the environment, the lack of normalization may or may not 
-  cause problems. This method <code>getNativeEnvironmentCasePreserved()</code> returns 
-  mixed-case keys using the variable names recorded by the OS. Use <code>getNativeEnvironment()</code> 
-  instead to get a WIN32 system environment where all keys have been normalized 
-  to uppercase.</p>
-<h3>Closing an Input Stream</h3>
-<p>An optional extension, <code>IStreamsProxy2</code>, can be implemented by implementations 
-  of <code>IStreamsProxy</code>. When implemented, it allows the input stream 
-  associated with a process to be closed. This is used to allow the user to signal 
-  EOF when typing in the console.</p>
-<h3>Launch in Debug Mode when Workspace Contains Breakpoints</h3>
-<p>Since 3.0, The user preference &quot;Launch in debug mode when workspace contains 
-  breakpoints&quot; is used to control whether a launch should use debug mode 
-  even when &quot;run&quot; is pressed by the user, based on the presence of breakpoints 
-  in the workspace. A new method, <code>getBreakpoints(ILaunchConfiguration configuration)</code>, 
-  has been added to the abstract implementation of <code>LaunchConfigurationDelegate</code>, 
-  to determine which breakpoints should be considered as relevant for a particular 
-  launch. By default, all breakpoints in the workspace are considered, but subclasses 
-  may override. For example, the Java Application launcher only considers Java 
-  breakpoints.</p>
-<h3>Case Insensitive Source Lookup and Relative Paths</h3>
-<p>The debug platform's source lookup facilities now lookup source in folders 
-  and directories in a case insensitive manner on platforms that are case insensitive. 
-  As well, relative path names are supported in folders and directories.</p>
-<h2>Changes</h2>
-<h3>Debug Event Dispatch</h3>
-<p>In releases 3.0 and prior, calling <code>DebugPlugin.fireDebugEventSet(DebugEvent[])</code> 
-  resulted in debug events being fired synchronously in the calling thread. In 
-  3.1, debug event set listeners are notified of debug events asynchronously in 
-  a different thread than the event is reported in.</p>
-<h3>Debug Actions and Content in Background Jobs</h3>
-<p>In 3.1, many actions that call debug element APIs (like &quot;stepOver&quot;), 
-  now create jobs to communicate with debug elements in background threads. This 
-  avoids blocking the UI in the case that a debug element method requires communication 
-  with a debug target that can block, hang, or timeout. Similarly, many of the 
-  debug views populate their content using background jobs to avoid blocking the 
-  UI thread. The net difference is that in 3.1, more than one thread might be 
-  accessing a debug model's APIs where previously only the UI thread was.</p>
-<h3>Contextual Launch from Top Level Run/Debug Menus</h3>
-<p>The top level menus no longer support the perspective element, and launch shortcuts 
-  must specify a &quot;<code>contextualLaunch</code>&quot; element to appear in 
-  the Run/Debug cascade menus.</p>
-<p>&nbsp;</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_2_ buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_2_ buildnotes_platform-debug.html
deleted file mode 100644
index fad1106..0000000
--- a/org.eclipse.debug.core/r3_2_ buildnotes_platform-debug.html
+++ /dev/null
@@ -1,601 +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 3.2 Debug Platform Build Notes&nbsp;</h1>
-
-<h2>RC7 - June 2, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144551">144551</a>: Collapse All tooltip in the Breakpoint View says &quot;Collapse Al&quot;<br>
-
-<h2>RC6 - May 26, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143297">143297</a>: Terminate and Relaunch only works asynchronously<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143096">143096</a>: TVT3.2:TCT644: TR: Migrate button truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143812">143812</a>: [Memory View] Memory View's tree viewer handles any terminate event<br>
-
-<h2>RC5 - May 19, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139839">139839</a>: [source lookup] disconnect from PDE source locator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141908">141908</a>: Memory Leak in debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141895">141895</a>: Step keybindings not working in Ant debugger.<br>
-
-<h2>RC4 - May 12, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138389">138389</a>: Large memory leak in launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141324">141324</a>: NPE in JDIDebugTarget.getRootThreadGroups()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141189">141189</a>: No version range specified when requiring bundles<br>
-
-<h2>RC3 - May 05, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136223">136223</a>: Suspended thread does not show stackframe/missing thread labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138527">138527</a>: Actions under the &quot;Run&quot; menu are incorrectly enabled at startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139530">139530</a>: SWTException when workbench is shut down<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139718">139718</a>: Got internal error for &quot;Retrieving labels&quot; when displaying my JSP variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139853">139853</a>: NPE in asynch tree viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139859">139859</a>: selection lost while traversing tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136416">136416</a>: Terminated threads appearing in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139562">139562</a>: Regression...Launch Dialogs lose default button handling<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139576">139576</a>: unable to get the 'value' column back in variables view<br>
-
-<h2>RC2 - April 28, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131930">131930</a>: New Variables view is hard to use<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136478">136478</a>: IllegalArgumentException in ProcessPropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138468">138468</a>: special characters should be escaped in var view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138220">138220</a>: Using 0424-0010, I got org.eclipse.core.commands.common.NotDefinedException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123842">123842</a>: IndexedVariablePartition has no children in InspectPopup.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126725">126725</a>: &quot;Find&quot; in virtual trees<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126724">126724</a>: Copy Stack/Variables in virtual tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137782">137782</a>: Index out of bounds exception in clear()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136671">136671</a>: Mnemonic conflict on "Common" Launch Configuration tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136917">136917</a>: Console view doesn't get opened in the current window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137212">137212</a>: Launch Dialogs won't save data<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137511">137511</a>: Launch Dialogs won't close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130201">130201</a>: Debug view doesn't select the last stopped thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109611">109611</a>: System environment variables are not propagated into External tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136623">136623</a>: prompt to delete shared configs not needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137379">137379</a>: Assert error from actions when wrappering JDT debug elements.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135093">135093</a>: 'Errors in Project' dialog should have 'Yes' as default button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134612">134612</a>: shared location dialog does not persist size/location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134287">134287</a>: Junit View autosave class(es) used in test<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130208">130208</a>: Widget disposed in AsynchronousTreeModelViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137836">137836</a>: Step Filters action do not use StepFiltersAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138186">138186</a>: Deadlock after inspecting a value (Ctrl+Shift+I)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137569">137569</a>: Remove ICU4J dependency for org.eclipse.core.variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108039">108039</a>: Detail pane setting not remembered if debug views are controlled by context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120620">120620</a>: Static variables show up twice in Find Variables Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133750">133750</a>: Copy variables action should include columns to copy values of variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137923">137923</a>: Delete Launch Configurations dialog problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138002">138002</a>: ModelDelta using ArrayList that only contains 1 element<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128452">128452</a>: Race Condition on Auto-Removal of terminated Launches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128289">128289</a>: [memory view] added mem block  not selected in mem view tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130572">130572</a>: [Memory View] Do not show Previous and Next Page actions for IMemoryBlock<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139051">139051</a>: Remove unused 'background' function in old debug action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120200">120200</a>: Stepping performance deteriorates for testcase with many variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126725">126725</a>: Find" in virtual trees<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134833">134833</a>: Thread Change events not handled properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136439">136439</a>: Terminate All should be disabled on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133422">133422</a>: [Memory View] SwitchMemoryBlock does not list all available memory blocks if the node is collapsed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135275">135275</a>: [Memory View] Formatting sometimes not synchronized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136646">136646</a>: [Memory View] Memory View takes focus whenever a rendering is added<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133755">133755</a>: Columns settings not remembered for Registers View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137308">137308</a>: [Memory View] Need changes in table rendering resulted from changes with underlying table viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138011">138011</a>: [Memory View] Format causes boundary alignment to be incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139024">139024</a>: Ant JRE tab has clipped widgets on the bottom<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138660">138660</a>: [Memory View] Firing state change event for memory block does not update labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138729">138729</a>: [Memory View] Need to  be able to turn off address boundary alignment<br>
-
-<h2>RC1 - April 13, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101754">101754</a>: [EditorMgmt] Debug view opens wrong editor if more than one editor is registered for given file type.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135629">135629</a>: undo/redo in variable view details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134871">134871</a>: StackOverflowError using AsynchronousViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133632">133632</a>: Please add &quot;do not ask again&quot; to &quot;errors in project&quot; dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134177">134177</a>: Step Actions still check for IStep interface<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134324">134324</a>: infinite &quot;do you wish to save?&quot; dialogs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17360">17360</a>: Should specify default shared config location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134186">134186</a>: [Memory View] Workbench gets really slow after formatting to 1 byte per row<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134408">134408</a>: DBCS3.2: errors on the Variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110215">110215</a>: Apply button has no effect after having modified launch configuration arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135514">135514</a>: BreakpointConditionEditor disposes global action handler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133563">133563</a>: Edit Source Lookup action available on non-existant config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127894">127894</a>: Debug Exception when selecting the launch after refactor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114727">114727</a>: DebugException after renaming a type and switching to debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135877">135877</a>: Warning in latest nightly build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135770">135770</a>: need to adopt ICU4J APIs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133379">133379</a>: Bad console pattern listener breaks launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127157">127157</a>: Deleting &gt; 1 project results in &gt; 1 prompt to delete configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134746">134746</a>: Pressing ENTER key while editing program or VM arguments runs the app and doesn't insert a new line.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131368">131368</a>: [Memory View] AddMemoryBlockAction and GoToAddressAction  should get debug context from service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131830">131830</a>: [Memory View] AbstractAsyncTableRendering shows pending forever<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133864">133864</a>: [Memory View] Columns not sized properly first memory rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134886">134886</a>: [Memory View] Copy and Print actions only copy/print what's visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135031">135031</a>: [Memory View] Lose last line of buffer for IMemoryBlock after format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135119">135119</a>: [Memory View] Reset does not position the base address to the top of the view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135274">135274</a>: [Memory View] Text rendering should render memory byte-by-byte for invalid data<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134092">134092</a>: NPE in LaunchConfigurationsDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135897">135897</a>: [Memory View] All tab labels show address if creating more than one rendering at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135914">135914</a>: [Memory View] TableRenderingModel only considers values when marking a byte as changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133857">133857</a>: Expansion not maintained in Registers View when switching between stackframes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129247">129247</a>: [Memory View] Format Dialog is too small<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134603">134603</a>: [Memory View]MonitorMemoryBlockDialog is too small<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134348">134348</a>: Footprint fattening from StackFrameSourceDisplayAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131920">131920</a>: Variables view unusably small<br>
-
-<h2>3.2 Milestone 6 - March 31, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132896">132896</a>: Improve perspective description and display on launch dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133752">133752</a>: Unexpected filtering in the launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132929">132929</a>: LCD Filtering is whacked<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132860">132860</a>: launch config resource filter assumes resource mapping is project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133553">133553</a>: prompt for delete breakpoints and working sets enabled when nothing selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133705">133705</a>: Error out of date in Launch dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133712">133712</a>: Typing in filter text in launch dialog does not work as expected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132936">132936</a>: Resizeable launch configuration migration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130852">130852</a>: NPE from async tree viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132342">132342</a>: [Memory View] Need more enhancements in offset mode for GoToAddressAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133371">133371</a>: [Memory View] SwitchMemoryBlockAction calls model on UI thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133877">133877</a>: [Memory View] Viewer contribution of AddMemoryRenderingActionDelegate does not work properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106790">106790</a>: Resume button is incorrectly enabled when the IProcess is selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131179">131179</a>: Show Column action has no effect in Registers View and Expressions View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132044">132044</a>: ArrayIndexOutOfBound exception in Variables View if show column is off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132150">132150</a>: Suspend action is always disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127147">127147</a>: [Memory View] Allow user to enter &quot;go to address&quot; in an address bar from a rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105733">105733</a>: TVT 3.1 - TCT 531 - Poor grammar in &quot;Run Eclipse Application&quot; and &quot;Profile Eclipse Application&quot;<br>
-
-<h2>March 21, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132953">132953</a>: DBCS3.2: unstable Breakpoint export<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131818">131818</a>: [Column Adapters] Widget disposed error closing down workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131765">131765</a>: Columns disappear when resumig to breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131842">131842</a>: Remove workaround for bug 95832<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131922">131922</a>: index out of bounds handling cell selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131587">131587</a>: launch config dialog has different appearance than the rest of eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131173">131173</a>: &quot;show columns&quot; setting not persisted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130534">130534</a>: Need collapse option for launch config management<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132054">132054</a>: NPE in JavaBreakpointPropertiesAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118072">118072</a>: [flex-hierarchy] Setting color to null in label adapter does nothing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127066">127066</a>: debug capability interfaces should be async<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106205">106205</a>: [plan item] Enhance the debug platform<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131816">131816</a>: [Memory View] Sync properties id need to be defined in AbstractAsyncTableRendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132027">132027</a>: [Memory View] Rendering View Pane is blank if the tree viewer is hidden<br>
-
-<h2>March 14, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131032">131032</a>: org.eclipse.debug.ui.BreakpointOrganizers shutdown problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131174">131174</a>: background color for changed value should be user pref<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=131212">131212</a>: Need factory adapter for IModelSelectionPolicyAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103811">103811</a>: cannot delete a breakpoint working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79713">79713</a>: Persist/restore expansion state in the LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125292">125292</a>: red X = delete   black X = clear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129757">129757</a>: view menu polishing: use 'Layout' submenu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130750">130750</a>: cheese in LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130663">130663</a>: Warn when console pattern matcher missing enablement expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102943">102943</a>: [Memory View] F1 help for Memory View does not work correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108590">108590</a>: [Memory View] Add mnemonic to pull down menu items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99866">99866</a>: [Memory View] Labels on the Memory Monitors Pane is truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120758">120758</a>: [Memory View] Non-auto load mode does not load memory properly if row size is not boundary aligned<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127327">127327</a>: [Memory View] Rendering shows blank lines when re-synchronizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130370">130370</a>: [Memory View] Add Layout submenu in Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129761">129761</a>: [Memory View] memory view UI issues<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125374">125374</a>: support trees with columns<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130775">130775</a>: [Memory View] TableCursor magically appears again<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130941">130941</a>: [Memory View] swt exception  when debug session is terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130953">130953</a>: [Memory View] Create provisional APIs<br>
-
-<h2>March 7, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130431">130431</a>: A lot of characters in a line of output crashes Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129762">129762</a>: initial focus in launch dialog should be on tree, not filter coolbar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124257">124257</a>: LCD insists on saving<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128991">128991</a>: NPE in DebugPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127873">127873</a>: Actions incorrectly enabled in Debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128685">128685</a>: Resume action enabled after all processes terminated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129577">129577</a>: separate viewer model and widgets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79912">79912</a>: Bad sizing in LaunchConfigurationsDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130373">130373</a>: Bad sizing on the LaunchConfigurationPropertiesDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129381">129381</a>: LaunchView will never return a ShowInContext<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130767">130767</a>: In 3.1/3.2, ExecutionArguments class unexpectedly returns surrounding double-quotes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130828">130828</a>: Breakpoints View go to file icon is gone.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130397">130397</a>: [Memory View] widget disposed exception when debug session terminates<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=130555">130555</a>: [Memory View] Cursor unexpectedly disappears<br>
-
-<h2>February 28, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124799">124799</a>: Discouraged references on legitimate API methods<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127926">127926</a>: Discouraged access to &quot;getContainer()&quot; from &quot;FolderSourceContainer&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106406">106406</a>: Preference not saved when launching with compile error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128383">128383</a>: BreakpointOrganzierLabelProvider extends internal UI class but does not use it<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128610">128610</a>: DBCS32: exported breakpoints file isn't UTF-8 encoded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128978">128978</a>: Add an &quot;Are You Sure?&quot; check to &quot;Remove All&quot; action in Expressions View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128553">128553</a>: NPE when launching Ant launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128534">128534</a>: Use FilteredTree in launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129351">129351</a>: Mismatched selection in Launch Configuration Dialog after rename<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121747">121747</a>: [flex-hierarchy] investigate jface TreeSelection and TreePath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129379">129379</a>: Incorrect logic in BreakpointTypeOrganizer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128494">128494</a>: Organize manifests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127331">127331</a>: [Memory View] Changing color setting has no effect until refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127460">127460</a>: [Memory View] Create empty groups in context menu for AbstractAsyncTableRendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127371">127371</a>: [Memory View] #supportsValueModification calls on UI thread<br>
-
-<h2>3.2 M5 - February 17, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123653">123653</a>: Ctrl-Shift-D does not work  in dialogs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127914">127914</a>: Export Breakpoints Table does not use Dialog Font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127581">127581</a>: NPE attempting selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124274">124274</a>: debug keybindings not active on first launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127067">127067</a>: Instruction pointer images should be API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126630">126630</a>: Deadlock while building<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121454">121454</a>: Console synchronization problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105235">105235</a>: TVT 3.1: TCT479 - mnemonic char in middle of DBCS menu label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117103">117103</a>: Suspending the target manually does not expand it.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126667">126667</a>: Copy stack behavior differs when showing thread groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68394">68394</a>: [view management] debug view stays when debug session finishes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87612">87612</a>: Automated tests for debug view management<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119512">119512</a>: [flex-hierarchy] AsynchronousTreeViewer.add(..) requires UI Thread.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124203">124203</a>: View management with respect to debug context manager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126790">126790</a>: Variables view update problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117491">117491</a>: Debug event handlers no more<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119512">119512</a>: [flex-hierarchy] AsynchronousTreeViewer.add(..) requires UI Thread.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126666">126666</a>: NPE in target on latest code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126726">126726</a>: Show Monitors not working<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125236">125236</a>: Missing context help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95791">95791</a>: [view management] Context enablement efficiency<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127106">127106</a>: suspend trigger not created for subsequent launches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127130">127130</a>: ConsoleDocumentAdapter.repairLines needs review<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66576">66576</a>: perspectives pref page tab does not take activities into accoutn<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126963">126963</a>: Terminate action in console context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126964">126964</a>: &quot;Remove Launch&quot; action in console context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126884">126884</a>: Terminology: 'Perspectives' vs. 'Perspective Switching'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125375">125375</a>: Cancel does not cancel launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126439">126439</a>: SelectAllExpressionsAction leakage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127334">127334</a>: Turning off filter checked launch configuration types fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127305">127305</a>: apply revert buttons appear always<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127246">127246</a>: NPE in ViewContextService.perspectiveChanged<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126733">126733</a>: Debug view toolbar actions initially enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127307">127307</a>: empty logical structure dance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127937">127937</a>: Leak: LaunchSuspendTrigger is not disposed properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127903">127903</a>: Terminate all has no effect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125536">125536</a>: selection not revealed when item not populated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127458">127458</a>: NPE attempting selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127918">127918</a>: Refresh Tab displaying incorrect error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127932">127932</a>: Widget is disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127473">127473</a>: NPE in  Launch View context provider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127190">127190</a>: Duplication of stack in Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127757">127757</a>: missing thread in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127946">127946</a>: Leak: ConsoleView never deregistered from the ConsoleManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127886">127886</a>: NPE on importing Ant breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90164">90164</a>: [Memory View] Highlight/Colourize Changed Values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106424">106424</a>: [Memory View] Move memory view update to background thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120031">120031</a>: [Memory View] Need to allow clients to customize labels in SwitchMemoryBlockAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120126">120126</a>: [Memory View] RenderingViewPane does not set selection to new memory block<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128096">128096</a>: [Memory View] Selection in tree view pane not maintained properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120443">120443</a>: [Memory View] Reset Monitor action does not run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=127368">127368</a>: [Memory View] NPE in synchronization service when Memory View is closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128292">128292</a>: launch config type viewer is showing private config types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128144">128144</a>: Launch view should support legacy &quot;workbench adapters&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128210">128210</a>: Cannot expand items in the Variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=128314">128314</a>: NPE after clicking in stack<br>
-
-<h2>February 7, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126024">126024</a>: Launch config filter for external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126114">126114</a>: Launch Configuraiton dialog filter count does not update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123163">123163</a>: AsynchronousTreeViewer should use SWT.VIRTUAL.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120863">120863</a>: Support Ctrl modifier on console hyperlinks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121106">121106</a>: no need for IModelDelta.CHANGE flag<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122743">122743</a>: ToggleBreakpointAction must implement IUpdate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124040">124040</a>: debug/inspect popups require ITextViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125490">125490</a>: Debug view not populated when a breakpoint is reached<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125771">125771</a>: unable to create method breakpoints in external source<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126106">126106</a>: popup dialog API changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126165">126165</a>: Snipptet editor's 'documentSetup' extension violates spec<br>
-
-<h2>January 31, 2006</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>Added API to consolePatternMatchListeners extension to support the use of
-    string variable substitution in pattern matchers. See extension point documentation.</li>
-  <li>Added API to delegate watch expression creation to debug model via IWatchExpressionFactoryAdapter.
-    Allows a debugger to override default watch expression creation based on a
-    variable's name.</li>
-</ul>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119488">119488</a>: java stack trace hyperlinks not .java agnostic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124257">124257</a>: LCD insists on saving<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125244">125244</a>: ResourceException while running Debug test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12134">12134</a>: Closing a project should disable run and debug.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125005">125005</a>: renaming a project prompts for deleting launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115044">115044</a>: Filter launch configurations to current working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125361">125361</a>: spelling error in Configure Details Area dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125054">125054</a>: FIlter menu mnuemonic should be letters not numbers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124160">124160</a>: step actions become disabled<br>
-
-<h2>January 24, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124171">124171</a>: Launch configuration filters prefs page: glitches in labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123861">123861</a>: Selection remains on filtered config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124170">124170</a>: Launch configuration filters: pulldown menu on filter button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124181">124181</a>: Invalid Thread Access in LaunchConfigurationsDialog<br>
-
-<h2>January 17, 2006</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>New API to export and import breakpoints. The new API classes ExportBreakpointsOperation
-    and ImportBreakpointsOperation can be found in org.eclipse.debug.ui.actions.</li>
-</ul>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19521">19521</a>: Launching classes from closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122882">122882</a>: Mnemonic change on debug launch page: &quot;De&amp;bug&quot; conflicts with &quot;&amp;Browse&quot; buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114521">114521</a>: Still too hard to customize the coloring of the executing line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123820">123820</a>: typo in AbstractSourceLookupDirector javadoc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113772">113772</a>: removing a project should remove launcher-entry as well<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123627">123627</a>: Filter count on LCD not accurate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123630">123630</a>: CCE pressing Aply in Launch config pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123635">123635</a>: run/debug latest fails when filtered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123680">123680</a>: FIlter count not updated with action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123858">123858</a>: LCD main page needs updating<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123663">123663</a>: Launch history should support Capabilities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123862">123862</a>: keywords for Launch Configurations pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123889">123889</a>: LCD not setting dialog font for preferences dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123956">123956</a>: Font not propegated to child widgets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123440">123440</a>: DebugPopup and InspectPopup need javadoc/since 3.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124017">124017</a>: NPE after deleting config from LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111530">111530</a>: update dialog size/position persistance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123847">123847</a>: Remote Java App - Debug Run Configuration - throws IndexOutOfBoundsException<br>
-
-<h2>January 10, 2006</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>Insturction pointer annotataions can be overriden in part or whole by having a debug
-     model presentation implement <code>IInstructionPointerPresentation</code>. This allows
-     specification of the entire annotation object, and annotation type + text, or an
-     image + text.</li>
-</ul>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122908">122908</a>: pref pages missing context help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121681">121681</a>: CCE in breakpoints export wizard.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116316">116316</a>: &quot;Source lookup error&quot; logged<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122646">122646</a>: Use IStructuredSelection instead of StructuredSelection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111017">111017</a>: default tab width for MessageConsole changed from 8 to 0 in 3.1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116060">116060</a>: MessageConsoleStream.println synchronization hazard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117946">117946</a>: InstantiationException from ConsoleRemoveLaunchAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119306">119306</a>: [flex-hierarchy] LaunchView autoExpand() creates TreePath with hard coded hierarchy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122166">122166</a>: Watch does Inspect in 3.2M4<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123327">123327</a>: Need API to import / export breakpoints programatically<br>
-
-<h2>3.2 M4</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120677">120677</a>: Terminating a debug launch does not deactivate the debugging context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108568">108568</a>: Debug console test failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120028">120028</a>: ConcurrentModificationException in DecorationManager when stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121092">121092</a>: DefaultUpdate policy ignores EXPAND and SELECT deltas for unchanged items<br>
-
-<h2>December 12, 2005</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>The &quot;source not found&quot; editor and editor input have become API.
-    See <code>CommonSourceNotFoundEditor</code> and <code>CommonSourceNotFoundEditorInput</code>.</li>
-  <li>The &quot;changed value color&quot; has become API. See <code>IDebugUIConstants.PREF_CHANGED_DEBUG_ELEMENT_COLOR</code>
-    and <code>DebugUITools.getPreferenceColor(id)</code>.</li>
-</ul>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120683">120683</a>: Please stop using ListenerList from org.eclipse.core.commands<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119447">119447</a>: SaveScopeResourcesHandler needs check for Private configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117098">117098</a>: Thread not selected on class loading breakpoint hit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92901">92901</a>: Popup control should be installed once on each control<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106419">106419</a>: [Memory View] Improve user experience for adding new memory blocks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100081">100081</a>: [Memory View] Support for address space in Memory View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106422">106422</a>: [Memory View] Improvement to Memory Monitor View Pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118075">118075</a>: CommonSourceNotFoundEditor needs to be public<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106421">106421</a>: [Memory View] Initial column size preference should be stored by debug target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112412">112412</a>: Make access to change variable colour preference public<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117093">117093</a>: [flex-hierarchy] Drop to frame doesn't clear old current line annotations.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117082">117082</a>: [flex-hierarchy] expressions don't show errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119391">119391</a>: Many NPEs in DebugTargetProxy.containsEvent<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120010">120010</a>: combine IModelDelat and IModelDeltaNode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108828">108828</a>: Drag and Drop in Breakpoints view shows misleading drop affordance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120447">120447</a>: prompted to save scrapbook editor before exeucting expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117072">117072</a>: [flex-hierarchy] suspend event may occurr before proxy installed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113410">113410</a>: null fTabFolderForMemoryBlock in RenderingViewPane.memoryBlocksAdded<br>
-
-<h2>December 6, 2005</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>New API action for enabling/disabling breakpoints in editor ruler - RulerEnableDisableBreakpointActionDelegate.</li>
-  <li>New abstract API action for action working on breakpoints in editor ruler
-    - RulerBreakpointAction.</li>
-  <li>API to retrieve images and browsers for source containers added to DebugUITools.</li>
-  <li>API for overriding default instruction pointer annotations - see IInstructionPointerPresentation.</li>
-</ul>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63058">63058</a>: Adding lots of favorites needs busy cursor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97706">97706</a>: [Memory View] Need to make some more Memory View  related contants/methods public<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88914">88914</a>: [Memory View] Provide UI and API to configure the addressable size.<br>
-
-<h2>November 29, 2005</h2>
-<h3>Enhancements</h3>
-<ul>
-  <li>API has been added to retrieve images and browsers for source container
-    types. See DebugUITools.</li>
-</ul>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117945">117945</a>: [flexible hierarchy] ClassCastException when trying to get active context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117386">117386</a>: [flex-hierarchy] expand over rides previous expands<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112792">112792</a>: NPE in TextConsoleViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89429">89429</a>: Make the SourceLookupUIUtils class public<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117720">117720</a>: SelectAll and Copy actions not available in Registers View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=118082">118082</a>: Deadlock between VariablesViewer and DefaultVariableViewModelProxy<br>
-
-<h2>November 22, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114845">114845</a>: 'Terminate and relaunch' action is enabled for non-relaunchable configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115874">115874</a>: Import and Export icons for Breakpoints are backwards.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117057">117057</a>: [flex-hierarchy] NPE in RemoveAllTerminatedAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117090">117090</a>: [flex-hierarchy] terminated threads appear in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82850">82850</a>: Variable is not updated in the variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106150">106150</a>: Variables view is constantly updating which results in 100% CPU usage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109943">109943</a>: Expressions view calls expensive IValue.getVariables() instead of cheap IValue.hasVariables()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110206">110206</a>: Variables view won't collapse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117101">117101</a>: [flex-hierarchy] select/expand states not cleared from cache<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117155">117155</a>: [flex-hierarchy] Threads not updated when target resumed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114617">114617</a>: [Memory View] Tooltip not updated propertly at column 0 in AbstractTableRendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100273">100273</a>: [Memory View]: Preference Table Renderings UI bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117095">117095</a>: [flex-hierarchy] resuming one thread does not select next suspended thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117106">117106</a>: [flex-hierarchy] null tree path with manually expanding thread<br>
-
-<h2>November 8, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115195">115195</a>: Debug manifests reference a deprecated header<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115155">115155</a>: Link to perspective preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90031">90031</a>: [Memory View] Adjust the Number of Columns in the Memory View<br>
-
-<h2>October 31, 2005</h2>
-<h3>Enhancements</h3>
-<ol>
-  <li>Consoles can provide context specfic F1 help. Console implementations should
-    override <code>AbstractConsole.getHelpContextId()</code> to hook appropriate
-    help. If not provided, the generic help for the console view is displayed.</li>
-</ol>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112625">112625</a>: Launcher : Bad default value with the variable ${string_prompt}<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112670">112670</a>: Can't toggle selection of treeitem in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113837">113837</a>: breakpoints import and export wizards should be categorized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112503">112503</a>: Cannot change the background color of the 'Display' view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112553">112553</a>: ConcurrentModificationException in BreakpointManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112771">112771</a>: Add API to allow specific context help in Text Consoles<br>
-
-<h2>October 25, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112648">112648</a>: Breakpoint import/export references java constant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113378">113378</a>: incorrect neumonic on Launching preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111633">111633</a>: API clarification needed for getWorkingCopy()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111739">111739</a>: [Contributions] matchesContentType check does not take base-type into account<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106567">106567</a>: [Memory View] Provide hover support in table renderings<br>
-
-<h2>October 18, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110080">110080</a>: breakpoint import updates breakpoint view for each breakpoint<br>
-
-<h2>October 11, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111485">111485</a>: perspective page fails when new launch types are added<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103462">103462</a>: Stacktrace-Hyperlink works only for one link per line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111437">111437</a>: hyperlinks not updated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109491">109491</a>: Exception in log<br>
-
-<h2>October 4, 2005</h2>
-<h3>Enhancements</h3>
-<ol>
-  <li>The perspective settings associated with launch configurations have been
-    centralized on the &quot;Run/Debug &gt; Perspectives&quot; preference page.
-    Previously the perspective settings were controlled via the launch configuration
-    dialog. The &quot;Perspectives&quot; tab has been replaced with a &quot;Getting
-    Started&quot; tab that explains how to create a new configuration.</li>
-</ol>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110928">110928</a>: mneumonic conflict on preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79709">79709</a>: Centralize launching preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110075">110075</a>: Embedded breakpoints view with nested groups does not update check marks properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111079">111079</a>: debug/run button active with multiple selection<br>
-
-<h2>September 21, 2005</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110078">110078</a>: acclerator conflict in breakpoint import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110074">110074</a>: Breakpoints are not added to default breakpoint working set<br>
-
-<h2>September 19, 2005</h2>
-<h3>Enhancements</h3>
-<ol>
-  <li><strong>Remove a single console</strong>: An action has been added to the console
-  toolbar to remove the associated launch/console.</li>
-</ol>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109008">109008</a>: breakpoint import/export polish items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103731">103731</a>: breakpoint working set settings lost on project close/open<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102270">102270</a>: Console: Close just one window?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109009">109009</a>: Tests for breakpoint import/export<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109777">109777</a>: import/export breakpoints test failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102526">102526</a>: Find/Replace in Console window does not go to proper place of matches when window  has fixed width<br>
-
-<h2>September 13, 2005</h2>
-<h3>Enhancements</h3>
-<ol>
-  <li><strong>Breakpoint import and export</strong>: Breakpoints can be exported
-    and imported from the local file system. Actions are available in the context
-    menu of the Breakpoints view to export/import, as well as in the general import/export
-    wizard. </li>
-</ol>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41057">41057</a>: Option to export and import break points at the Breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86114">86114</a>: Breakpoint working set wizard should show breakpoints in hierarchical fashion<br>
-
-<h2>September 6, 2005</h2>
-<h3>Enhancements</h3>
-<ol>
-  <li><strong>System properties as launch variables</strong>: A new string variable
-    &quot;${system_property:name}&quot; was added to the debug platform that resolves
-    to the value of a system property in the Eclipse SDK runtime. The variable
-    accepts a system property name as an argument and a selection dialog allows
-    the user to select from known system properties.</li>
-</ol>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108323">108323</a>: expose system properties as variables in the launching framework<br>
-
-
-<h2>Aug 30, 2005 </h2>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107488">107488</a>: [Memory View] Table rendering stop updating when new memory blocks are added<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108307">108307</a>: remove coupling between breakpoints view and content provider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105356">105356</a>: TVT 3.1 - TCT 428 - Mnemonic Error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107383">107383</a>: testCaseSensitiveQualifiedSourceLookup failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108126">108126</a>: NPE when bringing Registers View to the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107739">107739</a>: [Memory View] Rendering View Pane does not pin display on first new memory block.<br>
-
-<h2>Aug 8, 2005 </h2>
-<h3>Enhancements</h3>
-<ol>
-  <li><strong>API addition:</strong><code> IDebugUIConstants.PREF_MAX_DETAIL_LENGTH</code>.
-    The user preference controlling the maximum length of strings displayed in
-    the Variables view detail area has been made public API. In previous builds
-    the preference was internal.</li>
-</ol>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106178">106178</a>: Remove uneccessary NLS tags<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89471">89471</a>: [polish] Installed JRE pref page: Source attach &amp; jdoc loc should be configurable in default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104852">104852</a>: Debug View  changes focus on removal of terminated launch forcing editor popup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104675">104675</a>: large byte[] variabls expand into too much memory<br>
-
-
-<h2>Aug 2, 2005 </h2>
-<h3>Enhancements</h3>
-<ol>
-  <li>Added NL support for images.</li>
-</ol>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103381">103381</a>: Infinite viewer expand/restore when recursive data structure expanded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105071">105071</a>: Incorrect handling for debugger's continue-launch-despite-compile-errors dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105264">105264</a>: [BIDI] need to add $nl$/ to icon paths for reversed icons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104573">104573</a>: Resource Tree Locked error while saving shared Eclipse Application launch config<br>
-
-<h2>July 26, 2005 </h2>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98147">98147</a>: Variables View does not show all children if same instance is expanded twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99416">99416</a>: Evaluation in context of superclass fails to resolve instvar in subclass<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100543">100543</a>: TextConsoleViewer should not subclass TextViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100480">100480</a>: Duplicate launch configuration leads to bogus launch configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102537">102537</a>: org.eclipse.ui.console.consolePageParticipants API information<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99753">99753</a>: Debug use of new Boolean(boolean)<br>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_3_buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_3_buildnotes_platform-debug.html
deleted file mode 100644
index 5c79a75..0000000
--- a/org.eclipse.debug.core/r3_3_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,747 +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 3.3 Debug Platform Build Notes&nbsp;</h1>
-
-<h2>Summary of API changes in 3.3</h2>
-<h3>Launching</h3>
-The launch framework has been enhanced to support the following: 
-<ul>
-  <li> Mixed mode launching - for example, allows an application to debugged and 
-    profiled at the same time</li>
-  <li> Multiple launch delegates for the same configuration type and mode combination 
-    - for example, allows multiple Java profilers to exist in the workbench side 
-    by side</li>
-  <li>Contribution of extra tabs to existing tab groups - for example, allows 
-    a profiler to contribute a profile options tab to an existing tab group in 
-    the launch dialog</li>
-  <li>Read-only launch configurations - for example, if a launch configuration 
-    is stored in the file system in a read-only state, the launch configuration 
-    cannot be edited in the launch dialog</li>
-  <li>Nested launch configuration working copies - allows a working copy to be 
-    created from a working copy that saves back to the parent working copy instead 
-    of file system</li>
-</ul>
-<p>The following extension points have been added: </p>
-<ul>
-  <li><code>org.eclipse.debug.ui.launchConfigurationTabs</code> - allows a tab 
-    to be contributed to an existing tab group in the launch configuration dialog 
-    <ul>
-      <li>added extension point identifier constant <code>IDebugUIConstants.EXTENSION_POINT_LAUNCH_TABS</code> 
-      </li>
-    </ul>
-  </li>
-</ul>
-<p>The following extension points have been enhanced: </p>
-<ul>
-  <li><code>org.eclipse.debug.core.launchDelegates </code> 
-    <ul>
-      <li>addition of optional <code>name</code> attribute to allow users to select 
-        a launcher when more than one is available</li>
-      <li>addition of optional <code>modeCombination</code> element to specify 
-        supported mixed launch modes</li>
-    </ul>
-  </li>
-  <li><code>org.eclipse.debug.core.launchConfigurationTypes </code> 
-    <ul>
-      <li>addition of optional <code>icon</code> attribute to allow an icon to 
-        be contributed in the same extension as its type. This can only be used 
-        if the icon is in the same plug-in as the launch configuration type.</li>
-      <li>addition of optional <code>delegateName </code>attribute to allow users 
-        to select a launcher when more than one is available</li>
-    </ul>
-  </li>
-</ul>
-<p>The following types have been added:</p>
-<ul>
-  <li>added interface <code>org.eclipse.debug.core.ILaunchDelegate</code> - provides 
-    access to a launch delegate extensions and attributes</li>
-  <li>added class org.eclipse.debug.ui.AbstractLaunchModeConfigurationTab - abstract 
-    implementation of a launch tab that modifies a configuration's launch mode</li>
-</ul>
-<p>The following types have been modified in support of launching enhancements:</p>
-<ul>
-  <li>org.eclipse.debug.core.ILaunchConfiguration 
-    <ul>
-      <li>added method getAttribute(String key, Set defaultValue)</li>
-      <li>added method getModes()</li>
-      <li>added method isReadOnly()</li>
-    </ul>
-  </li>
-  <li>org.eclipse.debug.core.ILaunchConfigurationType 
-    <ul>
-      <li>deprecated method getDelegate(String mode)</li>
-      <li>added method getDelegates(Set modes)</li>
-      <li>added method getPreferredDelegate(Set modes)</li>
-      <li>added method setPreferredDelegate(Set modes)</li>
-      <li>added method supportsModes(Set modes)</li>
-      <li>deprecated method getSupportedModes()</li>
-      <li>added method getSupportedModeCombinations()</li>
-      <li>added method getContributorName()</li>
-      <li>added method getImageDescriptorPath()</li>
-    </ul>
-  </li>
-  <li>org.eclipse.debug.core.ILaunchConfigurationWorkingCopy 
-    <ul>
-      <li>added method addModes(Set modes)</li>
-      <li>added method setModes(Set modes)</li>
-      <li>added method removeModes(Set modes)</li>
-      <li>added method getNestedWorkingCopy()</li>
-      <li>added method getParent()</li>
-    </ul>
-  </li>
-  <li>org.eclipse.debug.ui.DebugUITools 
-    <ul>
-      <li>added method getLastLaunch(String id)</li>
-      <li>added method openLaunchConfigurationEditDialog(Shell shell, ILaunchConfiguration 
-        configuration, String groupIdentifier, IStatus status, boolean showCancel)</li>
-    </ul>
-  </li>
-  <li>org.eclipse.debug.ui.AbstractLaunchConfigurationTab 
-    <ul>
-      <li>added method getId()</li>
-    </ul>
-  </li>
-  <li>org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction 
-    <ul>
-      <li>getHistory()</li>
-      <li>getFavorites()</li>
-    </ul>
-  </li>
-</ul>
-<h3>Debug Context Service</h3>
-<p>A debug context represents the active state of a program being debugged. The 
-  active debug context drives the enabled state of debug actions (step, terminate, 
-  etc.), source lookup, visible variables, watch expression values, etc. A set 
-  of classes and interfaces have been added allowing clients to respond to and 
-  provide the active debug context.</p>
-<p>The package <code>org.eclipse.debug.ui.contexts</code> has been added with 
-  the following types:</p>
-<ul>
-  <li><code>AbstractDebugContextProvider</code></li>
-  <li><code>DebugContextEvent</code></li>
-  <li><code>IDebugContextListener</code></li>
-  <li><code>IDebugContextManager</code></li>
-  <li><code>IDebugContextProvider</code></li>
-  <li><code>IDebugContextService</code></li>
-  <li><code>ISuspendTrigger</code></li>
-  <li><code>ISuspendTriggerListener</code></li>
-</ul>
-<p>The following types have been modified</p>
-<ul>
-  <li><code>org.eclipse.debug.ui.DebugUITools </code> 
-    <ul>
-      <li>added method <code>getDebugContextManager()</code></li>
-    </ul>
-  </li>
-</ul>
-<h3>Debug Commands</h3>
-<p>Debug commands represent common debug operations implemented by debuggers - 
-  for example, step over, suspend, resume, and terminate. The debug platform allows 
-  debuggers to provide custom implementations of the operations by implementing 
-  debug command handler interfaces. The platform provides a user interface and 
-  actions that delegate to the command handlers. As well, the platform provides 
-  an implementation of the commands for debuggers that are implementations of 
-  the standard debug model. Debuggers may override the standard implementation 
-  by directly implementing the command handler interfaces in debug model elements 
-  or by registering adapters for the command handler interfaces on debug model 
-  elements. The command handler interfaces are to be implemented in a non-blocking 
-  fashion, and are designed with an asynchronous API, allowing clients to cancel 
-  a command or report failure via the asynchronous request.</p>
-<p>The package<code> org.eclipse.debug.core.commands</code> has been added with 
-  the following types:</p>
-<ul>
-  <li><code>IDebugCommandHandler</code></li>
-  <li><code>IDebugCommandRequest</code></li>
-  <li><code>IDisconnectHandler</code></li>
-  <li><code>IDropToFrameHandler</code></li>
-  <li><code>IEnabledStateRequest</code></li>
-  <li><code>IResumeHandler</code></li>
-  <li><code>IStepFiltersHandler</code></li>
-  <li><code>IStepIntoHandler</code></li>
-  <li><code>IStepOverHandler</code></li>
-  <li><code>IStepReturnHandler</code></li>
-  <li><code> ISuspendHandler</code></li>
-  <li><code> ITerminateHandler</code></li>
-</ul>
-<p>Note that the &quot;use step filters&quot; setting has been moved to the <code>org.eclipse.debug.core</code> 
-  plug-in from <code>org.eclipse.debug.ui</code>. This is to allow the toggle 
-  step filters command to work properly in absence of the UI plug-in. The following 
-  API methods have been added to <code>DebugPlugin</code>:</p>
-<ul>
-  <li><code>setUseStepFilters(boolean useStepFilters)</code></li>
-  <li><code>isUseStepFilters()</code></li>
-</ul>
-<p>The same methods that existed in <code>DebugUITools</code> now delegate to 
-  these new methods.</p>
-<h3>Pluggable Detail Panes</h3>
-<p>The variables, registers, and expressions views in Eclipse 3.3 support pluggable 
-  detail panes. A new extension point - <code>org.eclipse.debug.ui.detailPaneFactories</code> 
-  - is used to contribute factories that create detail panes for specific selections. 
-  The platform provides a default text details area that displays textual details 
-  based on a debug model presentation's <code>computeDetails(...)</code> method. 
-  Clients can contribute detail pane factories with enablement expressions that 
-  can create one or more detail panes for specific objects/selections. The user 
-  is allowed to choose between available detail panes using a context menu. See 
-  <code>IDetailPaneFactory</code> and <code>IDetailPane</code>.</p>
-<h3>Source Lookup</h3>
-<p>Source lookup is driven by the active debug context. When a context is activated 
-  the debug platform displays source for that context. Clients may provide a custom 
-  implementation of source lookup by implementing the source display interface 
-  directly on their debug model elements, or by providing an adapter for the source 
-  display interface. The debug platform provides a standard implementation of 
-  source display for debuggers that are an implementation of the standard debug 
-  model - i.e. implementations of <code>IStackFrame</code> that have an associated 
-  <code>ISourceLocator</code>.</p>
-<p>The following interface has been added:</p>
-<ul>
-  <li><code>org.eclipse.debug.ui.sourcelookup.ISourceDisplay</code></li>
-</ul>
-<h3>Console</h3>
-<ul>
-  <li>Added <code>DebugPlugin.ATTR_CONSOLE_ENCODING</code> - this launch attribute 
-    specifies the encoding used by the console. When unspecified the default system 
-    encoding is used. This constant replaces the now deprecated <code>IDebugUIConstants.ATTR_CONSOLE_ENCODING</code>.</li>
-  <li>Deprecated <code>IDebugUIConstants.ATTR_CONSOLE_ENCODING</code>.</li>
-  <li>Added support to set the background color to text consoles - see new methods 
-    <code>TextConsole.setBackground(Color)</code> and <code>getBackground()</code></li>
-  <li>Added property constant to indicate background color of a console has changed 
-    - <code>IConsoleConstants.P_BACKGROUND_COLOR</code>.</li>
-   <li>Added preference constant <code>IDebugUIConstants.PREF_CONSOLE_FONT</code>, which is used to specify
-   what font should be used in the console.</li>
-</ul>
-<h3>Expressions</h3>
-<ul>
-  <li>added <code>org.eclipse.debug.ui.actions.IWatchExpressionFactoryAdapterExtension</code> 
-    - this is an interface that can be optionally implemented by <code>IWatchExpressionFactoryAdapter</code>'s. 
-    Allows the <b>Create Watch Expression</b> action to be dynamically enabled 
-    based on the selected variables.</li>
-</ul>
-<h3>Breakpoints</h3>
-<ul>
-  <li>Added new optional interface for breakpoint organizer extensions. Breakpoint 
-    organizer delegates may optionally implement the <code>IBreakpointOrganizerDelegateExtension</code> 
-    interface. The new interfaces supports add and remove operations on collections 
-    of breakpoints to allow for more efficient drag and drop operations in the 
-    breakpoints view.</li>
-</ul>
-<h3>Memory Renderings</h3>
-<ul>
-  <li>Memory renderings can optionally implement the new interface <code>IRepositionableMemoryRendering</code> 
-    to support repositioning. The API allows a memory rendering to be positioned 
-    to a user specified address.</li>
-</ul>
-<h3>Debug Popup Anchor</h3>
-<ul>
-<li>The specifications on the constructor for <code>DebugPopup</code> have been updated to reflect the change allowing 
-<code>null</code> to be passed as the default anchor point. This change allows consumers of the popup to force a default location 
-for the popup to appear when an otherwise valid anchor point is not available.</li>
-</ul>
-
-<h2>3.3 RC4 - June 8, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188404">188404</a>: [doc] Help for default launchers is meaningless<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190264">190264</a>: [doc] Add links to command contexts to reference help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190269">190269</a>: [doc] JDT Developer Guide Topics need organizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190528">190528</a>: [doc] New screenshots needed for debug help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190259">190259</a>: [doc] Check html links in doc plugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190532">190532</a>: [doc] Variables and Expressions aren't helpful enough<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190535">190535</a>: [doc] Run/Debug help doesn't make sense with contextual launching<br>
-
-<h2>3.3 RC3 - June 1, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189708">189708</a>: fill contextual launch perf test is yellow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188689">188689</a>: [Memory View] Command Handler conflict when switching to java editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189665">189665</a>: IProcess label not displayed in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189182">189182</a>: Help contents cannot be fully indexed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189509">189509</a>: Contextual launching glitches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189982">189982</a>: Layout shows &quot;Variables View Only&quot; in Registers View drop-down<br>
-
-<h2>3.3 RC2 - May 25, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187746">187746</a>: Conflicting mnemonics on Environment tab of OSGi Framework launcher<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188444">188444</a>: Restore Defaults does not work in Launch Preference Page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187905">187905</a>: [doc] console actions are missing help context ids<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187684">187684</a>: Slow to show debug drop-down<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188315">188315</a>: [doc] Reference help uses incorrect style<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188747">188747</a>: [doc] &quot;Realizes&quot; should be replaced with &quot;Opens&quot; in help doc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188919">188919</a>: [doc] Breakpoints view doc needs improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189019">189019</a>: [doc] import/export breakpoints topics do not follow style<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189024">189024</a>: [doc] import/export breakpoints F1 help needs more topics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189012">189012</a>: Change Value dialogs do not have F1 help<br>
-
-<h2>3.3 RC1 - May 18, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186527">186527</a>: F11 (Debug Last Launched) behaves wrong in 3.3m7<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186920">186920</a>: TextConsole setBackground method incorrectly spelled as setBackgrond<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187171">187171</a>: [Memory View] Reset Monitors action is enabled when there is no monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187043">187043</a>: TVT33:TCT179: ja: mnemonic displayed in the hover text (linux only)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183509">183509</a>: [launching] Optimize launcher story for test driven development<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187049">187049</a>: Update org.eclipse.jdt.doc.user Memory view user assistance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186595">186595</a>: Non-nls string in StackFrameSourceDisplayAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186622">186622</a>: Deadlock trying to launch two configs at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184934">184934</a>: [breakpoints] double click bp in external source should fail more gracefully<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169718">169718</a>: Received ConcurrentModificationException when debugging in RAD6<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185553">185553</a>: Strange icon in the launch configuration context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169438">169438</a>: [Debug Framework] DefaultVariableCellModifier doesn't call verifyValue<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184959">184959</a>: instruction pointer remains when added &gt; 1 editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185311">185311</a>: typo in detailPaneFactories.exsd<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144019">144019</a>: [KeyBindings] Constructed context shows in Keys pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185171">185171</a>: LaunchConfigurationTypesViewer is no longer used and should be deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184867">184867</a>: Ok is the new Cancel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184898">184898</a>: [breakpoints] AIOOB exception setting default working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184893">184893</a>: [launching] Restore defaults in Run/Debug settings does nothing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184972">184972</a>: [launching] the Search... button is the new dirty button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184631">184631</a>: no way to remove <unknown> launches<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184864">184864</a>: [help] Help topic for Run/Debug properties pages is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184999">184999</a>: Add/Edit File System Directory Dialog has incorrect F1 help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184873">184873</a>: No F1 help for Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185832">185832</a>: [launching] [favorites] filtered launch configurations show up where they shouldn't<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185621">185621</a>: Launching history imposes size limit without message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185688">185688</a>: [KeyBindings] conflict between Run and Debug last launched on Mac<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184970">184970</a>: [Memory View] NPE in SwitchMemoryBlockAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184880">184880</a>: [launching] cannot apply changes editing launch configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184901">184901</a>: [breakpoints] Breakpoints get removed for same named resources<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184865">184865</a>: [help] help topic for Select Configuration Type dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184945">184945</a>: [breakpoints] [refactoring] Moving breakpoints of an anonymous inner type has bad label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185829">185829</a>: [help] The add favorites dialog help is not helpful<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184902">184902</a>: Timing problem in variables views' expansion state save/restore logic.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184958">184958</a>: Text from bottom of launch dialog gets cut off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187033">187033</a>: Concurrent modification exception in LaunchManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173120">173120</a>: [variables] logical structures re-computed for each visible range<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187319">187319</a>: TVT33:TCT189: ar: 13.002210 Parenthesis incorrectly displayed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=187134">187134</a>: NLS33:default Run application name RTL reading order problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186921">186921</a>: TVT33:TCT170: zh_TW:the mnemonic should be either removed or placed in the end<br>
-
-<h2>3.3 Milestone 7 - May 4, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184896">184896</a>: Concurrent Modification on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134863">134863</a>: [Memory View] Cell editors in the table rendering needs to be extensible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176857">176857</a>: [Memory View] View id check in DefaultModelProxyFactory makes rendering not portable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176858">176858</a>: [Memory View] CreateRendering can potentially get left behind<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181648">181648</a>: [Memory View] NPE in AbstractAsyncTableRendering when activated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183078">183078</a>: [Memory View] NPE in sync service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183019">183019</a>: [Memory View] Reset does not position the base address to the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184315">184315</a>: Remove all breakpoint dialog does not honor escape<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184320">184320</a>: Color labels for changed values are variables specific<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167426">167426</a>: InstructionPointerContext keeps reference to closed editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183887">183887</a>: NPE in DefaultVariableViewModelProxy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183504">183504</a>: Frames collapse when holding down step over key<br>
-
-<h2>April 24, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184108">184108</a>: [Memory View] Address passed to the cell modifier is incorrect for muti-byte addressable size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183621">183621</a>: Ensure plug-in dependencies are correct (versions)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183059">183059</a>: SWTException: Failed to execute runnable (ArrayIndexOutOfBoundsException)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=180441">180441</a>: RetargetAction should not update upon text selection change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132385">132385</a>: [Memory View] &quot;Remove Rendering&quot; action  not disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144467">144467</a>: [jdi] SocketLaunchingConnectorImpl.launch should call Runtime.getRuntime().exec(String [])<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173306">173306</a>: When editing source lookup, new source containers should be added at the top of the list.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182657">182657</a>: AssertionFailedException running Ant UI test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182324">182324</a>: [launching] When launching a project with errors the warning dialog title says &quot;Errors in Project{0}&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136943">136943</a>: [console] README: Console Deadlock when too much information written<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183163">183163</a>: Accessing constants causes DebugUI to be started<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182318">182318</a>: context launching should be default launch pref setting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183097">183097</a>: [launching] prompted for which Eclipse Application to launch after workbench restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177539">177539</a>: [launching] Press on Run/Debug button launches an unexpected configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182774">182774</a>: [launching] launch shortcuts have deprecated elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112081">112081</a>: [launching] Widget is disposed error from launch config window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183275">183275</a>: NPE in TreeModelContentProvider.getPresentationContext<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183460">183460</a>: catch up with JFace fixes from bug 172640<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183463">183463</a>: Expanded nodes in tree viewer flash on refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182901">182901</a>: Better labels for references tracking<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183360">183360</a>: [launching] Launching tooltip re-computed for same selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176471">176471</a>: [launching] debug fails if the default jre is a jdk<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181220">181220</a>: Variable text font does not update correctly when columns turned on/off<br>
-
-<h2>April 17, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182230">182230</a>: org.eclipse.core.variables version number update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182554">182554</a>: illegal argument exception updating labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182170">182170</a>: Index out of bounds running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177909">177909</a>: [Variables View/Registers View] Refresh/Scroll issues - Test Case to reproduce<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31969">31969</a>: [breakpoints] Method breakpoint icon too wide for editor ruler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177910">177910</a>: [Debug] No stack frame selected when thread has been suspended<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178868">178868</a>: run/debug buttons do nothing if exception in shortcut enablement expr<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181044">181044</a>: LabelUpdate does not store previous font data<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181769">181769</a>: [api] broken api contract in ContextualLaunchAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181809">181809</a>: [launching] ContextualLaunchAction shuold not hold handle to current selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182572">182572</a>: [tests] TestAlternateModeTab invalid thread access<br>
-
-<h2>April 10, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178106">178106</a>: [detail pane] Find action doesn't scroll to reveal selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176478">176478</a>: [Registers View] Add font preference for registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=180618">180618</a>: AbstractLaunchConfigurationTabGroup#setDefaults() no longer gets called<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178753">178753</a>: Cannot do anything in Run/Debug&gt;Launching&gt;Default Launcher preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74480">74480</a>: [launching] Simplify the launch experience for less technical users of Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=154107">154107</a>: [launching] Enhance launching support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166219">166219</a>: [launching] Run Last Launched fails due to Launch Config Tree filter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=180756">180756</a>: Launch config attriubutes should be persisted in consistent order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143711">143711</a>: [views] async update of variables view too granular<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177303">177303</a>: [launching] ContextLaunchingResourceManager slows down structured selection changes and part activations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42879">42879</a>: [launching] Common tab does not allow revert when in error state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=180971">180971</a>: [breakpoints] export breakpoints dialog scrolled to right<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138780">138780</a>: [variables] [vitrual] Detail pane doesn't show value of selected element if it is invisible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181034">181034</a>: Closing the workbench results in Widget is disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178526">178526</a>: New menu item &quot;Open Debug Dialog...&quot; is counter intuitive and has bad kbd access key<br>
-
-<h2>April 3, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177640">177640</a>: icon attribute from consoleFactory element should be a resource type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164218">164218</a>: [console] IOConsoleInputStream.read() doesn't reduce the amount of data available<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=179558">179558</a>: [console] Preferences... action should use the new SWTFactory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178356">178356</a>: [launching] launch tabs do not match new presentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176638">176638</a>: [launching] launch config tree initially scrolled to the right<br>
-
-<h2>Milestone 6 - Mar 23, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177788">177788</a>: When hitting a breakpoint from the java perspective, the variable view is not populated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178463">178463</a>: NPE in Launch Configuration Mgr<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177988">177988</a>: Launch configurations marked dirty for no reason<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175805">175805</a>: Debug wants to migrate scrapbook pages but can't<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177165">177165</a>: Context launch chooses Eclipse Application over Test Suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177349">177349</a>: [launching] ContextLaunchingResourceManager should deregister when not using context launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176266">176266</a>: a possible null-deference in &quot;org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java&quot;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177036">177036</a>: move 'delete configs' preference to debug.core<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177074">177074</a>: Logged errors for out of sync launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176000">176000</a>: NPE when looking at 'All Instances'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177143">177143</a>: remove unused private constant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175723">175723</a>: Errors related to old launch configs on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177388">177388</a>: NLS33:translation questions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176902">176902</a>: run/debug hover/behavior incorrect on workspace re-start<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177012">177012</a>: separator in menu when not needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177004">177004</a>: NPE in LaunchConfigurationManager.getHistoryAsXML<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176440">176440</a>: Add optional description attribute to launch shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177298">177298</a>: AFE in context launching for binary type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=154135">154135</a>: APIs for custom debugger integration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=177913">177913</a>: Wrong javadoc for org.eclipse.debug.ui.AbsractLaunchConfigurationTab.setDirty(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178057">178057</a>: details for indexed partition do not update detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178126">178126</a>: Incomplete context-sensitive help text.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178118">178118</a>: [launch view] [actions] the launch view should use new factory<br>
-
-<h2>Mar 13, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176957">176957</a>: NPEs from Debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176890">176890</a>: NLS33:new debug.ui message &quot;LaunchConfigurationAction_0&quot; not enabled for translation properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176487">176487</a>: org.eclipse.debug.core crashes in headless mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176430">176430</a>: remove API for set/get default launch config for a resource<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174190">174190</a>: Transient test failures not allowed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176841">176841</a>: [launching] preference for launch last vs. launch selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175862">175862</a>: Selecting text in editor broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150625">150625</a>: [build path] Cancel project creation ask to delete launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175332">175332</a>: Run/Debug last actions should conform to contextual launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165515">165515</a>: [Memory View] Built-in table renderings only write value if it differs from original<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166234">166234</a>: [Memory View] More flexible buffer size in table renderings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166691">166691</a>: [Memory View] Need gotoAddress() API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167788">167788</a>: [Memory View] Add shortcut keys for Next Page and Previous Page actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171753">171753</a>: [Memory View] Reload is incorrect when receiving selected address change event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=176962">176962</a>: Inconsistency in labels for browse buttons<br>
-
-<h2>Mar 6, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173181">173181</a>: [variables][views] change background colour is hard to work with....<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170857">170857</a>: Index out of bound at the SWT level in the debug view<br>
-
-<h2>Feb 27, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175541">175541</a>: concurrent modification exception in launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=175292">175292</a>: new config should be initialized with defaults<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56642">56642</a>: [launching] Launching progress<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174797">174797</a>: [launching] no longer prompted to delete associated launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174782">174782</a>: firing model delta should notify root delta<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166231">166231</a>: [launching] history not updated properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174527">174527</a>: NLS:questions about LaunchConfigurationsMessages.properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159981">159981</a>: Add &quot;COLLAPSE&quot; flag to IModelDelta<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174819">174819</a>: [history] [launching] launch history/favorites not persisted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174935">174935</a>: &quot;&lt;project&gt; does not exist&quot; in log when selecting launch configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=172728">172728</a>: [detail pane] detail panes should be available in inspect popup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100478">100478</a>: [Memory View]: Adding 0 memory blocks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174722">174722</a>: [Memory View] a possible out-of-bound array access in &quot;org.eclipse.debug.ui/ui/org/eclipse/debug/ui/memory/AbstractTableRendering.java&quot;<br>
-
-<h2>Feb 20, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159054">159054</a>: IModelDelta reference ModelDelta<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174210">174210</a>: batched updates don't run if last update canceled<br>
-
-<h2>Feb 13, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173087">173087</a>: Debug should make use of IWorkingSetElementAdapter API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=174233">174233</a>: Allow null anchor point in DebugPopup window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153013">153013</a>: [console] Java console will not open<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173896">173896</a>: NPE while debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145396">145396</a>: ShowIn LaunchView does not work anymore<br>
-
-<h2>Milestone 5 - Feb 9, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166794">166794</a>: [variables] Copy variables shortcut key doesn't work after detail pane gets focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=172556">172556</a>: Skip all Breakpoints option not persisted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170857">170857</a>: Index out of bound at the SWT level in the debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132055">132055</a>: [launching] Promote LaunchHistory methods to AbstractLaunchToolbarAction API?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=173093">173093</a>: [detail panes] detail pane test failure on linux<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114377">114377</a>: [Memory View] Endian in hex view and ASCII view doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150003">150003</a>: expansion state not maintained when suspending target with thread groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=158537">158537</a>: Variables view: copy variables copies formerly expanded children<br>
-
-<h2>Jan 30, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=172248">172248</a>: TextConsoleViewer should be checking for disposed text widget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159944">159944</a>: Asynchronous viewer should allow model to set selection after selected object is removed.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=172026">172026</a>: [launching] alt+enter shortcut dies when resource adapter cannot be resolved<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168733">168733</a>: Manifest and properties file could get some clean up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171700">171700</a>: [launching] changing LCD filtering with last items elected throws exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171790">171790</a>: Chkpii error in build N20070126-0010<br>
-
-<h2>Jan 23, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170766">170766</a>: NPE MultiLaunchGroupFilter.equalModes()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150970">150970</a>: Progress Monitor not handled correctly during launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166102">166102</a>: RetargetBreakpointAction should use the &quot;resource-&gt;launch configuration&quot; association to find the IToggleBreakpointsTarget adapter.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171056">171056</a>: Detail job should stop wait()'ing when canceled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171091">171091</a>: [detail pane] Removing default detail pane results in NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170673">170673</a>: [Console] Select all keyboard shortcut marked incorrectly in context menu<br>
-
-<h2>Jan 16, 2007</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170669">170669</a>: [Launching] Main Tab missing search options under main type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170485">170485</a>: [launching] no useful help in save and launch dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170502">170502</a>: [source lookup] [launching] string variables added to the bootpath via the launch dialog do not stay there<br>
-
-<h2>Jan 9, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169701">169701</a>: IllegalArgumentException in LaunchConfigurationViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169992">169992</a>: Non-externalized string in debug ui plugin.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169689">169689</a>: [launching] revert button does not revert config name text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168434">168434</a>: move debug commands to core plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168618">168618</a>: step actions enabled when multiple frames selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169549">169549</a>: no description for java tab group anymore<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165986">165986</a>: [Memory View] Migrate MemoryBlocksTreeViewPane to use new tree viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126883">126883</a>: [launching] Allow multi-selection of application types in Perspective Switching preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167667">167667</a>: [launching] No visual clue configurations are filtered from dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153938">153938</a>: [Memory View] Base address of memory block is not displayed on first rendering's tab label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167292">167292</a>: [Memory View] Icons and labels for Memory view layout menu are mismatched<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168768">168768</a>: [Memory View] NPE when shutting down workbench with table rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167031">167031</a>: Switching perspectives based on launch delegates<br>
-
-<h2>Dec 19, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168525">168525</a>: Loading Debug Core plug-in causes ClassNotFoundException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=168428">168428</a>: &quot;Asynchronous viewer update&quot; appears when stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170784">170784</a>: org.eclipse.debug.ui plugin.xml uses enablesFor=&quot;1+&quot; incorrectly<br>
-
-<h2>3.3 M4 - Dec 15, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166659">166659</a>: [launching] Launcher selection dialog layout<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167119">167119</a>: [launching] tab icons not decorated consistently<br>
-
-<h2>Dec 11, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156441">156441</a>: Scalability enhancement to the flexible hierarchy's IAsynchronousContentAdapter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75852">75852</a>: [variables] Support for custom details view widgets.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166408">166408</a>: VM Capabilities property page shows up unexpectedly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=160745">160745</a>: Dangerous use of getActiveShell in Debug<br>
-
-<h2>Dec 5, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166683">166683</a>: [plugins] DebugUIPlugin should be a save participant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166525">166525</a>: [launching] Should display error message in LCD when launcher choice required<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45061">45061</a>: [launching] LaunchHistory is serialized 9 times on preference change<br>
-
-<h2>Nov 28, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166065">166065</a>: Deadlock in DebugCommandAction/DebugCommandActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165829">165829</a>: [launching] the source lookup tab is the new apply button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165175">165175</a>: [source lookup] ContainerSourceContainer assumes resource is in local file system<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156516">156516</a>: Incorrect popup text in debug icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165855">165855</a>: Launch Shortcuts shows deprecated example.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165348">165348</a>: [source lookup] source lookup panel is not saving changes to source lookup path<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164682">164682</a>: NPE SourceLookupPanel  add external archive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166125">166125</a>: [launching] run last no longer runs last<br>
-
-<h2>Nov 21, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165174">165174</a>: [viewers] selection is lost in launch view after stepping into sync block<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=165046">165046</a>: [viewers] launch view loses selection with monitors showing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164953">164953</a>: Watch expression keeps reference to old IDebugTarget object after debug session terminates<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164671">164671</a>: NPE updating children in view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164651">164651</a>: [viewers] launch view has duplicate entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164379">164379</a>: ClassCastException from StackFrameContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156761">156761</a>: [console] Allow possibility of changing console background color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104369">104369</a>: [breakpoints] drag & drop of many breakpoints is slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164620">164620</a>: Tree in Debug view should not have border<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99709">99709</a>: [breakpoints] Breakpoints dropped to incorrect working set when moved using drag and drop<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=158280">158280</a>: CCE in JDIObjectValue.getEnclosingObject<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163082">163082</a>: Add Memory Rendering Dialog should listen for Memory Rendering Bindings changed event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159359">159359</a>: expressions serialized each time they change state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163130">163130</a>: [breakpoints] select default breakpoint working set dialog throws NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=164940">164940</a>: Disabled state of Run/Profile/Debug button is not handled properly sometimes<br>
-
-<h2>Nov 14, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162802">162802</a>: [launching] launch manager causes exception persisting preferred delegates<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163128">163128</a>: org.eclipse.debug.ui plugin needs organizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=160749">160749</a>: Can't set a breakpoint on the first line of an editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163684">163684</a>: [variables view] Max details pane text length dialog does nothing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162996">162996</a>: NPE in EnvironmentVariableResolver.resolveValue<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163988">163988</a>: org.eclipse.debug.ui.console.FileLink missing adaptation, protection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153461">153461</a>: DnD slow in breakpoints view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163684">163684</a>: [variables view] Max details pane text length dialog does nothing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163400">163400</a>: fileExtension is deprecated but doesn't offer alternatives in schema description<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163961">163961</a>: Schema description for launchConfigurationTypes outdated<br>
-
-<h2>3.3 Milestone 3 - Nov 3, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159200">159200</a>: Step action should not automatically disable after the action is invoked.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162802">162802</a>: [launching] launch manager causes exception persisting preferred delegates<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162667">162667</a>: Javadoc warnings in N20061028-0010<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162816">162816</a>: [commands] StepFilterCommand can lead to NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162320">162320</a>: Toggle step filters action does not initialize state properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=160932">160932</a>: API for debug context and debug commands<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162426">162426</a>: Javadoc warnings in N20061026-0010<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162666">162666</a>: Chkpii error in nightly build 20061028-0010<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162106">162106</a>: Missing org.eclipse.debug.core.launchOptions extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=162547">162547</a>: ConcurrentModificationEx in DebugCommandService.postUpdate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=160130">160130</a>: Multi-line environment variables are truncated<br>
-
-<h2>Oct 24, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=161896">161896</a>: Warnings in N20061022-0010<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=151848">151848</a>: [launching] Write protected launch configurations fails in Launch Configuration Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153789">153789</a>: [launching] Launch configuration dialog: switching filters should not remove multi-selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=154400">154400</a>: [WorkingSets] Select Default Breakpoint Working Set dialog is confusing and can clear default setting accidentally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=157915">157915</a>: Delete launch configurations confirmation dialog too small<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=158232">158232</a>: 'Terminate and relaunch' action is enabled for non-relaunchable configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=161077">161077</a>: [schema] build N20061016-0010 schema errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=161080">161080</a>: [schema] build &gt; N20061016-0010 schema errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=157090">157090</a>: should adopt ICU Collator and use new APIs on StructuredViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155552">155552</a>: Debug View has no selection after long step<br>
-
-<h2>Oct 3, 2006</h2> 
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=158760">158760</a>: Warning in latest nightly build and integration build<br>
-
-<h2>Sep 22, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=158202">158202</a>: LaunchConfigurationWorkingCopy setAttributes(Map) does not set dirty?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140722">140722</a>: Surface Run/Debug Terminate key mapping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76341">76341</a>: [evaluation] Yellow popup box cannot be moved easily<br>
-
-<h2>Sep 12, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155791">155791</a>: Patch to fix jface.text.Assert deprecation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156134">156134</a>: debug.core should re-export dependencies whose API is exposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155690">155690</a>: Launch shortcuts: Allow 'forcePluginActivation' for expressions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148255">148255</a>: [tests] &quot;should be access&quot; test failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=155055">155055</a>: [views] [actions] Terminate All changed since 3.1.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=156087">156087</a>: NPE in CreateLaunchConfigurationAction#performAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105574">105574</a>: TVT 3.1 - TCT 466 - Truncated string on Memory monitor<br>
-
-<h2>Aug 22, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153929">153929</a>: [Memory View] Shift+F10 does not bring up context menu in table rendering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153964">153964</a>: Need public access to LaunchConfigurationManager.getLastLaunch()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153428">153428</a>: Share a launch configuration: NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=154025">154025</a>: Unable to create view: Argument not valid---:---Variables view doesn't show variable values in debug mode<br>
-
-<h2>3.3 Milestone 1 - August 10, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138976">138976</a>: [console] IOException when closing the application<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152794">152794</a>: ConcurrentModificationException disposing consoles from Ant UI test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152583">152583</a>: Use proceed label and button id for compile error prompt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152664">152664</a>: Separate workbench part from presentation context id<br>
-
-<h2>July 29, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=151066">151066</a>: details sash same background color as tree<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149728">149728</a>: Detaching from process with many threads takes a long time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=142198">142198</a>: [breakpoints] Initial state of breakpoint's 'Enable/Disable Breakpoint' ruler menu is always 'Enable Breakpoint'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138252">138252</a>: [console] Stream closed while debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=151433">151433</a>: Firing content event on a debug target does not causing the target to be refreshed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148900">148900</a>: IWatchExpressionDelegate needs to be context sensitive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=142602">142602</a>: [breakpoints] Default Breakpoint Working Set's setting lost when working set name is changed<br>
-
-<h2>July 18, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149205">151006</a>: Expression View menu inconsistent when referring to Detail(s) Pane/Area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149205">149205</a>: AssignValueAction ignores target messages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135170">135170</a>: Terminate All menu option does not do anything<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150193">150193</a>: second frame selected instead of top frame after step return<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148995">148995</a>: Deadlock while stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148897">148897</a>: [Memory View] memory renderings leak menu listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148923">148923</a>: [Memory View] selection is incorrect after stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140102">140102</a>: [breakpoints] Focus cannot be set to &quot;Type&quot;, &quot;Line Number&quot; and &quot;Member&quot; fields in the properties dialog of the breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150569">150569</a>: [help] Add exception dialog show workbench help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149638">149638</a>: [breakpoints] 'Don't ask again' option for 'Remove All Breakpoints'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149176">149176</a>: [Working Sets] UI is blocked when clearing all items in a breakpoint working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148863">148863</a>: [Memory View] Memory View should clean up command handler for NextMemoryBlock action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148865">148865</a>: [Memory View]Sync service is holding onto rendering after a memory block is removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149891">149891</a>: SourceLookupFacility should use IEditorMatchingStrategy<br>
-
-<h2>July 11, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149069">149069</a>: [preferences] Move USE_STEP_FILTERING pref constant to public API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148776">148776</a>: !MESSAGE NLS unused messages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149076">149076</a>: [preferences] Use step filtering pref is not persisted over workbench restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148526">148526</a>: Editing a string variable discards last entered character<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149021">149021</a>: [tests] testInstructionPointerLeaks failing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139089">139089</a>: [breakpoints] NPE in JavaBreakpoint.fireRemoved () shutting down eclipse with Java Debug session running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144258">144258</a>: The image registry is created twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144560">144560</a>: [console] NPE in ProcessConsole$InputReadJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145545">145545</a>: [console] Console can only be associated with IDebugElement instances<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148940">148940</a>: [Preferences] Step filter settings broken post-RC7<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140561">140561</a>: debug view scrolls to top, loses thread focus<br>
-
-<h2>June 27, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=142972">142972</a>: [launching] Add &quot;Run&quot; to context menu of shared launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148006">148006</a>: [console] deadlock in ConsoleDocument during ant execution in autobuild<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=148646">148646</a>: [console] current console combo uses CHECK instead of RADIO style buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138719">138719</a>: [source lookup] memory  leak in DecorationManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132616">132616</a>: [console] Console corrupts UTF-8<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38387">38387</a>: NLS'ing of internal error messages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138473">138473</a>: [breakpoints] BreakpointManager sometimes fails to send a breakpoint-changed notification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=142476">142476</a>: TVT3.2:TCT535: Text boxes overlap with borders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89594">89594</a>: [console] typing in the JSTConsole is screwy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137694">137694</a>: [console] scrollbar in empty console<br>
-
-<h2>June 20, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67370">67370</a>: [console] F1 help missing - Console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140487">140487</a>: [launching] The Debug/Run Configurations dialog uses wrong color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140823">140823</a>: [launching] Code clean up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141782">141782</a>: [help] Debug dialogs not offering help<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141785">141785</a>: [help] No context help for Debug Dialogs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145634">145634</a>: [view management] Context-Based Debug View Activation only uses last contributed binding per view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=147335">147335</a>: [help] Source Tab has no context help topic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=147502">147502</a>: [view management] most relevant view should be brought to top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42876">42876</a>: [help] F1 help in the Launch Configuration Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145766">145766</a>: [launching] Launch configuration change dialog appears twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=147464">147464</a>: [view management] debug view does not activate in non-debug perspective<br>
-
-<h2>June 13, 2006</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132554">132554</a>: keybinding doesn't enable 'Use Step Filters/Step Debug' action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144900">144900</a>: TVT3.2:TCT824: FR : Base - Missing apostrophes in Perspective preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120606">120606</a>: [variables] Static variables disappeared after clicking a variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=136085">136085</a>: [variables] view doesn't remember column positions or even which column<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=140487">140487</a>: [launching] The Debug/Run Configurations dialog uses wrong color<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=141769">141769</a>: [preferences] Perspectives tab is broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143569">143569</a>: Debug actions should check status after an action is completed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=143805">143805</a>: [viewers] array does not grow when parent not visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144221">144221</a>: [Memory View] Table rendering fails to show changes after resume<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144258">144258</a>: The image registry is created twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144400">144400</a>: [launching] LaunchManager keeps references on last resource delta<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144560">144560</a>: [console] NPE in ProcessConsole$InputReadJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=144900">144900</a>: TVT3.2:TCT824: FR : Base - Missing apostrophes in Perspective preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145545">145545</a>: [console] Console can only be associated with IDebugElement instances<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=145553">145553</a>: [variables] Cannot modify String variable with empty string value with Change Value dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=134304">134304</a>: Fix broken NLS strings<br>
-
-<p>&nbsp;</p></body>
-</html>
diff --git a/org.eclipse.debug.core/schema/breakpoints.exsd b/org.eclipse.debug.core/schema/breakpoints.exsd
deleted file mode 100644
index 0c076e8..0000000
--- a/org.eclipse.debug.core/schema/breakpoints.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="breakpoints" name="Breakpoints"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a mechanism for defining new types of breakpoints.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="breakpoint" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="breakpoint">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this breakpoint type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="markerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified identifier (id) of the corresponding marker definition for breakpoints of this type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;IBreakpoint&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.Breakpoint"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  specifies a user-presentable name for this breakpoint type. For example, &quot;Java Line Breakpoint&quot;. This attribute was added in 3.1 to support automatic grouping of breakpoints by breakpoint type. When this attribute is unspecified, breakpoints of this type cannot be automatically grouped by type.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.breakpoints&quot;&gt;
-  &lt;breakpoint
-   id=&quot;com.example.ExampleBreakpoint&quot;
-   markerType=&quot;com.example.ExampleBreakpointMarker&quot;
-   class=&quot;com.example.ExampleBreakpointImpl&quot;&gt;
-  &lt;/breakpoint&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of breakpoint is implemented by the class &quot;com.example.BreakpointImpl&quot;.
-There is an associated marker definition for &quot;com.example.ExampleBreakpointMarker&quot;, defining the attributes of this breakpoint.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IBreakpoint&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd b/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
deleted file mode 100644
index d0fe6b0..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationComparators" name="Launch Configuration Comparators"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a configurable mechanism for comparing specific attributes of a launch configuration.
-In general, launch configuration attributes can be compared for equality via the default implementation of &lt;samp&gt;java.lang.Object.equals(Object)&lt;/samp&gt;.
-However, attributes that require special handling should implement this extension point.
-For example, when an attribute is stored as XML, it is possible that two strings representing an equivalent attribute have different whitespace formatting.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationComparator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchConfigurationComparator">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="attribute" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the launch configuration attribute name that this comparator compares.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully-qualified name of a class that implements &lt;code&gt;java.util.Comparator&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.util.Comparator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration comparator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchConfigurationComparators&quot;&gt;
-  &lt;launchConfigurationComparator
-   id=&quot;com.example.ExampleIdentifier&quot;
-   attribute=&quot;com.example.ExampleAttributeName&quot;
-   class=&quot;com.example.ComparatorImplementation&quot;&gt;
-  &lt;/launchConfigurationComparator&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name &lt;samp&gt;com.example.ExampleAttributeName&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully-qualified name of a Java class that implements the interface &lt;b&gt;java.util.Comparator&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd b/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
deleted file mode 100644
index c0ebf4c..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
+++ /dev/null
@@ -1,244 +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.
-
-As of 3.2 the types can also define a migration delegate that can be used to set resource mappings between projects and the launch configurations that launch them.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationType" minOccurs="1" 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 minOccurs="0" maxOccurs="1">
-            <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">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;ILaunchConfigurationDelegate&lt;/code&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching. Launch delegates can also be contributed for a launch configuration type via the &lt;code&gt;launchDelegates&lt;/code&gt; extension. The launch delegate specified by a &lt;code&gt;launchConfigurationType&lt;/code&gt; extension is responsible for launching in all modes specified by the same extension. To extend the launching capabilities of an existing configuration type, or when different delegates are required for different launch mode combinations, the &lt;code&gt;launchDelegates&lt;/code&gt; extension should be used to contribute a launch delegate.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string">
-            <annotation>
-               <documentation>
-                  specifies a comma-separated list of the modes this type of lauch configuration supports - &quot;run&quot; and/or &quot;debug&quot;. Launch modes can also be contributed for a launch configuration type via the &lt;code&gt;launchDelegates&lt;/code&gt; extension.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a human-readable name for this type of launch configuration.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type is accessible by users.  Defaults to &lt;code&gt;true&lt;/code&gt; if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that specifies this launch configuration type&apos;s category. The default value is unspecified (&lt;code&gt;null&lt;/code&gt;). Categories are client defined. This attribute was added in the 2.1 release.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourcePathComputerId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourcePathComputer extension that is used to compute a default source lookup path for launch configurations of this type. This atttribute was added in the 3.0 release.
-
-Since 3.3, the &lt;code&gt;sourcePathComputerId&lt;/code&gt; can also be specified via the &lt;code&gt;launchDelegates&lt;/code&gt; extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceLocatorId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourceLocator extension that is used to create the source locator for sessions launched using launch configurations of this type. This atttribute was added in the 3.0 release.
-
-Since 3.3, the &lt;code&gt;sourceLocatorId&lt;/code&gt; can also be specified via the &lt;code&gt;launchDelegates&lt;/code&gt; extension point.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="migrationDelegate" type="string">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of a Java class that implements &lt;code&gt;org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate&lt;/code&gt;. Optional delegate used to migrate launch configurations of this type to be compatible with current tooling, since 3.2
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="delegateName" type="string">
-            <annotation>
-               <documentation>
-                  A human readable name for the associated launch delegate - for example, &quot;Eclipse JDT Launcher&quot;. This name is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3 release.
-
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="delegateDescription" type="string">
-            <annotation>
-               <documentation>
-                  A description of this type&apos;s launch delegate - for example &quot;The Eclipse JDT Java Application Launcher supports running and debugging local Java applications&quot;.  This description is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3 release.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fileExtension">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-         <documentation>
-            This element is no longer used. Instead, use the &lt;code&gt;org.eclipse.debug.ui.launchShortcuts&lt;/code&gt; extension point.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="extension" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a file extension that this launch configuration type can be used for.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="default" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type should be the default launch configuration type for the specified file extension.  Defaults to &lt;code&gt;false&lt;/code&gt; if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-The following is an example of a launch configuration type extension point:
-&lt;/p&gt;
-
-&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;
-   migrationDelegate=&quot;com.example.migrationDelegate&quot;
-   sourceLocatorId=&quot;com.example.sourceLookupDirector&quot;
-   sourcePathComputerId=&quot;com.example.sourcePathComputer&quot;
-   delegateName=&quot;Example Application Launch Tooling&quot;
-   delegateDescription=&quot;This example tooling will run or debug example code.&quot;&gt;
-  &lt;/launchConfigurationType&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-In the example above, the specified type of launch configuration supports both run and debug modes. 
-The specified type also has an associated migration delegate, a source locator id, a source path computer, and launch delegate name and description.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-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;. 
-
-The value of the attribute &lt;b&gt;migrationDelegate&lt;/b&gt; must be a fully qualified name of a Java class that implements &lt;b&gt;org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate&lt;/b&gt;.
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchDelegates.exsd b/org.eclipse.debug.core/schema/launchDelegates.exsd
deleted file mode 100644
index e95ff8c..0000000
--- a/org.eclipse.debug.core/schema/launchDelegates.exsd
+++ /dev/null
@@ -1,212 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchDelegates" name="Launch Delegates"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing a launch delegate to an existing launch configuration type for one or more launch modes. Since launch modes are extensible, it may be neccessary to contribute additional launch delegates to an existing launch configuration type. Each launch delegate is contributed for a specific launch configuration type. A launch delegate supports one or more launch modes, and specifies a delegate responsible for the implementation of launching.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchDelegate" minOccurs="1" 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 minOccurs="0" maxOccurs="1">
-            <element ref="modeCombination" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch delegate.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  A human readable name for this delegate - for example, &quot;Eclipse JDT Launcher&quot;. This name is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3. release.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="delegate" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;code&gt;ILaunchConfigurationDelegate&lt;/code&gt;.
-Launch configuration instances of this delegate&apos;s type will delegate to instances of this class to perform launching in the modes this launch delegate supports - see the &lt;code&gt;modes&lt;/code&gt; attribute and the &lt;code&gt;modeCombination&lt;/code&gt; element.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string">
-            <annotation>
-               <documentation>
-                  A comma-separated list of the &lt;b&gt;individual&lt;/b&gt; launch modes this delegate supports.
-&lt;p&gt;
-This attribute should be used when a launch delegate supports single launch modes - for example launching in run mode or debug mode. When a launch delegate supports launching in mixed mode (for example, debug and profile), the &lt;code&gt;modeCombination&lt;/code&gt; element should be used to specify supported launch mode combinations.
-&lt;/p&gt;
-&lt;p&gt;
-This attribute can be used in conjunction with &lt;code&gt;modeCombination&lt;/code&gt; elements. It is suggested practice to provide one or the other (either a comma seperated listing in the &lt;code&gt;modes&lt;/code&gt; attribute, or &lt;code&gt;modeCombinations&lt;/code&gt;). Specifying &apos;run,debug&apos; in the modes attribute is analogous to specifying two &lt;code&gt;modeCombination&lt;/code&gt; contributions, one for &apos;run&apos; and another for &apos;debug&apos;.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="type" type="string">
-            <annotation>
-               <documentation>
-                  identifier of an existing launch configuration type that this launch delegate is capable of launching.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourcePathComputerId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourcePathComputer extension that is used to compute a default source lookup path for launch configurations of this type. Since 3.1, this attribute cab be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source path computer can be specified per launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceLocatorId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourceLocator extension that is used to create the source locator for sessions launched using launch configurations of this type. Since 3.1, this attribute can be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source locater can be specified per launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="delegateDescription" type="string">
-            <annotation>
-               <documentation>
-                  A description of this launch delegate - for example &quot;The Eclipse JDT Java Application Launcher supports running and debugging local Java applications&quot;. This description is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3 release.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="modeCombination">
-      <annotation>
-         <documentation>
-            This element specifies a launch mode combination this delegate supports. Each &lt;code&gt;modeCombination&lt;/code&gt; element specifies a comma seperated list of modes specifying a supported mixed launch mode. For example, a delegate that supports debugging, profiling and code coverage at the same time would specify a &lt;code&gt;modes&lt;/code&gt; element of consisting of &apos;debug, profile, coverage&apos;. This element can also be used to specify single launch modes that are supported - for example a &lt;code&gt;modes&lt;/code&gt; attribute of &apos;debug&apos;. This element was added in the 3.3 release.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a comma seperated list specifying a combination of modes the associated delegate supportes.
-
-&lt;p&gt;
-Unlike the modes attribute of the &lt;code&gt;launchDeleaget&lt;/code&gt; element definition, this comma seperated list represents a mixed launch mode rather than the single supported launch modes. For example: a &lt;code&gt;modeCombination&lt;/code&gt; element specifying &lt;code&gt;modes&lt;/code&gt; of &apos;profile,debug&apos; indicates the delegate can debug and profile at the same time. In contrast, if &apos;profile,debug&apos; was specified by the &lt;code&gt;modes&lt;/code&gt; attribute of the &lt;code&gt;launchDelegate&lt;/code&gt; element, it would indicate the delegate could debug or profile, but not at the same time.
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="perspective" type="string">
-            <annotation>
-               <documentation>
-                  a string representing the id of a persepctive to switch to when launching.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch delegate extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchDelegates&quot;&gt;
-  &lt;launchDelegate
-    id=&quot;com.example.ExampleProfileDelegate&quot;
-    delegate=&quot;com.example.ExampleProfileDelegate&quot;
-    type=&quot;org.eclipse.jdt.launching.localJavaApplication&quot;
-    name=&quot;Eclipse JDT Java Profile Tooling&quot;&gt;
-   &lt;modeCombination 
-    modes=&quot;run, profile&quot;&gt;
-    perspective=&quot;com.example.Perspective&quot;&gt;
-   &lt;/modeCombination&gt;
-   &lt;modeCombination modes=&quot;debug, profile, coverage&quot;&gt;&lt;/modeCombination&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. The delegate supports mixed mode launching. The delegate supports profiling when launching in run or debug mode, with code coverage in debug mode only. When the mode combination or run and profile is used, in this example, the perspective com.example.Perspective can also be opened.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;delegate&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.ILaunchConfigurationDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchModes.exsd b/org.eclipse.debug.core/schema/launchModes.exsd
deleted file mode 100644
index b7adefa..0000000
--- a/org.eclipse.debug.core/schema/launchModes.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="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="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchMode">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="mode" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch mode. The launch modes contributed by the debug plaform are &quot;run&quot;, &quot;debug&quot;, and &quot;profile&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A human-readable label that describes the launch mode
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="launchAsLabel" type="string">
-            <annotation>
-               <documentation>
-                  A human-readable label to be used in a launch cascade menu. For example &quot;Run As&quot;. This attribute was added in 3.2 to allow the label to be properly externalized. When unspecified, a default label is created via concatenation.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch delegate extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
-  &lt;launchMode
-   mode=&quot;profile&quot;
-   label=&quot;Profile&quot;&gt;
-  &lt;/launchMode&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the profile launch mode is contributed.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchers.exsd b/org.eclipse.debug.core/schema/launchers.exsd
deleted file mode 100644
index 2a90cdf..0000000
--- a/org.eclipse.debug.core/schema/launchers.exsd
+++ /dev/null
@@ -1,230 +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">
-      <annotation>
-         <appInfo>
-            <meta.element deprecated="true"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="launcher" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launcher">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference 
-this launcher.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of the Java class that implements 
-&lt;code&gt;org.eclipse.debug.core.model.ILauncherDelegate&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILauncherDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A comma separated list of modes this launcher supports. 
-The two supported modes are &quot;run&quot; and &quot;debug&quot; - 
-as defined in &lt;code&gt;org.eclipse.debug.core.ILaunchManager&lt;/code&gt;. 
-A launcher may be capable of launching in one or both modes.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a label to use for the launcher. This attribute is used by the debug UI.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="wizard" type="string">
-            <annotation>
-               <documentation>
-                  fully qualified name of the class that implements 
-&lt;code&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/code&gt;. 
-This attribute is used by the debug UI. A launcher 
-may contribute a wizard that allows users to configure 
-and launch specific attributes.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.debug.ui.ILaunchWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  whether a launcher is publically visible in the debug UI.
-If &lt;code&gt;true&lt;/code&gt;,  the launcher will be available from the 
-debug UI - the launcher will appear as a choice 
-for a default launcher, launches created by this 
-launcher will appear in the launch history, and the 
-launcher will be available from the drop-down run/debug 
-toolbar actions.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a description of the launcher.  Currently only used 
-if the wizard attribute is specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="perspective" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the perspective that will be switched 
-to on a successful launch.  Default value is the 
-identifier for the debug perspective. This attribute 
-is used by the debug UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon that will represent the launcher 
-in the UI if specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launcher extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-      point = &quot;org.eclipse.debug.core.launchers&quot;&gt; 
-         &lt;launcher 
-             id = &quot;com.example.ExampleLauncher&quot;
-             class = &quot;com.example.launchers.ExampleLauncher&quot; 
-             modes = &quot;run, debug&quot;
-        label = &quot;Example Launcher&quot;
-      wizard = &quot;com.example.launchers.ui.ExampleLaunchWizard&quot;     
-      public = &quot;true&quot;
-      description = &quot;Launches example programs&quot;
-      perspective= &quot;com.example.JavaPerspective&quot;&gt;  
-         &lt;/launcher&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the specified launcher supports 
-both run and debug modes. Following a successful launch, 
-the debug UI will change to the Java perspective. When 
-the debug UI presents the user with a list of launchers 
-to choose from, &quot;Example Launcher&quot; will appear as one of 
-the choices with the &quot;Launches example programs&quot; as the 
-description, and the wizard specified by 
-&lt;samp&gt;com.example.launchers.ui.ExampleLaunchWizard&lt;/samp&gt;
-will be used to configure any launch specific details.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;samp&gt;class&lt;/samp&gt; must be a fully 
-qualified class name of a Java class that implements 
-the interface 
-&lt;samp&gt;org.eclipse.debug.core.ILauncherDelegate&lt;/samp&gt;. 
-Value of the attribute &lt;samp&gt;wizard&lt;/samp&gt; must be a 
-fully qualified class name of a Java class that 
-implements &lt;samp&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/logicalStructureProviders.exsd b/org.eclipse.debug.core/schema/logicalStructureProviders.exsd
deleted file mode 100644
index d3a2fff..0000000
--- a/org.eclipse.debug.core/schema/logicalStructureProviders.exsd
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="logicalStructureProviders" name="Logical Structure Providers"/>
-      </appInfo>
-      <documentation>
-         This extension point allows contributors to provide multiple logical structure types for a value.
-This is an extension of the logical structure support provided by the extension point &lt;code&gt;org.eclipse.debug.core.logicalStructureTypes&lt;/code&gt;, which allows one logical structure type per value.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="logicalStructureProvider" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="logicalStructureProvider">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of a Java class that implements &lt;code&gt;ILogicalStructureProvider&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.internal.core.ILogicalStructureProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modelIdentifier" type="string" use="required">
-            <annotation>
-               <documentation>
-                  identifier of the debug model this logical structure provider is associated with
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a logical structure type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.logicalStructureProviders&quot;&gt;
-  &lt;logicalStructureProvider
-   class=&quot;com.example.ExampleLogicalStructureProvider&quot;
-   modelIdentifier=&quot;com.example.debug.model&quot;&gt;
-  &lt;/logicalStructureProvider&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified logical structure provider will be consulted for alternative logical structures for values from the &lt;code&gt;com.example.debug.model&lt;/code&gt; debug model as they are displayed in the variables view.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.ILogicalStructureProvider&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd b/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
deleted file mode 100644
index 242bd7e..0000000
--- a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="logicalStructureType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  a unique identifier for this logical structure type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-

-&lt;p&gt;

-&lt;pre&gt;

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

-  &lt;logicalStructureType

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

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

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

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

-  &lt;/logicalStructureType&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="processFactory">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this process factory.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-

-&lt;p&gt;

-&lt;pre&gt;

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

-  &lt;processFactory

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

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

-  &lt;/processFactory&gt;

- &lt;/extension&gt;

-&lt;/pre&gt;

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-         source lookup facilities.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="sourceContainerType">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique id used to refer to this type

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-&lt;pre&gt;

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

- &lt;sourceContainerType

-  name=&quot;Project&quot;

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

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

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

- &lt;/sourceContainerType&gt;

-&lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-         specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="sourcePathComputer">

-      <annotation>

-         <documentation>

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

-            for a launch configuration.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique id used to refer to this computer.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Following is an example source path computer definition:

-&lt;pre&gt;

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

-     &lt;sourcePathComputer

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

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

-     &lt;/sourcePathComputer&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="watchExpressionDelegate">

-      <complexType>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

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

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

-   &lt;watchExpressionDelegate

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

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

-  &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/scripts/exportplugin.xml b/org.eclipse.debug.core/scripts/exportplugin.xml
deleted file mode 100644
index c29eada..0000000
--- a/org.eclipse.debug.core/scripts/exportplugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.debug.core Eclipse plugin
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export debug.core" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.debug.core_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar 
-			jarfile="${dest}/dtcore.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/dtcoresrc.zip">
-			<fileset dir="core"/>
-		</zip>		
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.console/.classpath b/org.eclipse.ui.console/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/org.eclipse.ui.console/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ui.console/.cvsignore b/org.eclipse.ui.console/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/org.eclipse.ui.console/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.ui.console/.project b/org.eclipse.ui.console/.project
deleted file mode 100644
index aa92a70..0000000
--- a/org.eclipse.ui.console/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.console</name>
-	<comment></comment>
-	<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.console/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f1360b9..0000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,72 +0,0 @@
-#Tue Jan 16 10:30:28 CST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL,HIGH,HIGH
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,EXPERIMENTAL,CONTEXTLAUNCHING
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index be21c5d..0000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,17 +0,0 @@
-#Tue Jan 30 11:39:21 CST 2007

-compilers.incompatible-environment=1

-compilers.p.build=1

-compilers.p.deprecated=1

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

-compilers.p.missing-packages=0

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

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

-compilers.p.unknown-attribute=0

-compilers.p.unknown-class=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

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

-compilers.p.unresolved-import=0

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

-compilers.use-project=true

-eclipse.preferences.version=1

diff --git a/org.eclipse.ui.console/META-INF/MANIFEST.MF b/org.eclipse.ui.console/META-INF/MANIFEST.MF
deleted file mode 100644
index 620e53d..0000000
--- a/org.eclipse.ui.console/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ui.console; singleton:=true
-Bundle-Version: 3.2.0.qualifier
-Bundle-Activator: org.eclipse.ui.console.ConsolePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.console,
- org.eclipse.ui.console.actions,
- org.eclipse.ui.internal.console;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.variables;bundle-version="[3.2.0,4.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/org.eclipse.ui.console/about.html b/org.eclipse.ui.console/about.html
deleted file mode 100644
index 4602330..0000000
--- a/org.eclipse.ui.console/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/build.properties b/org.eclipse.ui.console/build.properties
deleted file mode 100644
index 2a484ec..0000000
--- a/org.eclipse.ui.console/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               about.html,\
-               META-INF/
-
-source.. src/
-src.includes = about.html,\
-               schema/
diff --git a/org.eclipse.ui.console/component.xml b/org.eclipse.ui.console/component.xml
deleted file mode 100644
index de1f8d5..0000000
--- a/org.eclipse.ui.console/component.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/component"
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-   xsi:schemaLocation="http://eclipse.org/component ../component.xsd "
-   name="Eclipse Platform Console">
- <plugin id="org.eclipse.ui.console" />
-
- <package name="org.eclipse.ui.console">
- 	<type name="AbstractConsole" />
- 	<type name="ConsolePlugin" instantiate="false" subclass="false" />
- 	<type name="IConsole" />
- 	<type name="IConsoleConstants" implement="false" />
- 	<type name="IConsoleDocumentPartitioner" />
- 	<type name="IConsoleFactory" />
- 	<type name="IConsoleListener" />
- 	<type name="IConsoleManager" implement="false" />
- 	<type name="IConsolePageParticipant" />
- 	<type name="IConsoleView" implement="false" />
- 	<type name="IHyperlink" />
- 	<type name="IHyperlink2" />
- 	<type name="IOConsole" />
- 	<type name="IOConsoleInputStream" subclass="false" instantiate="false" />
- 	<type name="IOConsoleOutputStream" subclass="false" instantiate="false" />
- 	<type name="IPatternMatchListener" />
- 	<type name="IPatternMatchListenerDelegate" />
- 	<type name="MessageConsole" subclass="false" />
- 	<type name="MessageConsoleStream" subclass="false" instantiate="false" />
- 	<type name="PatternMatchEvent" subclass="false" />
- 	<type name="TextConsole" />
- 	<type name="TextConsolePage" />
- 	<type name="TextConsoleViewer" />
- </package>
- <package name="org.eclipse.ui.console.actions">
- 	<type name="ClearOutputAction" subclass="false" />
- 	<type name="CloseConsoleAction" subclass="false" />
- 	<type name="TextViewerAction" />
- 	<type name="TextViewerGotoLineAction" subclass="false" />
- </package>
- 
- <component-depends unrestricted="true"/>
-
-</component>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index af30a42..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/pin.gif b/org.eclipse.ui.console/icons/full/clcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/clcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/cview16/console_view.gif b/org.eclipse.ui.console/icons/full/cview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/cview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index 6775edf..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
deleted file mode 100644
index b776478..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif b/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
deleted file mode 100644
index 61615d5..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
deleted file mode 100644
index 559e462..0000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index af30a42..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
deleted file mode 100644
index 7aea894..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/pin.gif b/org.eclipse.ui.console/icons/full/elcl16/pin.gif
deleted file mode 100644
index ec50b70..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/eview16/console_view.gif b/org.eclipse.ui.console/icons/full/eview16/console_view.gif
deleted file mode 100644
index a598f60..0000000
--- a/org.eclipse.ui.console/icons/full/eview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/plugin.properties b/org.eclipse.ui.console/plugin.properties
deleted file mode 100644
index 1301fab..0000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ViewCommand.consoleView.name=Console
-ViewCommand.consoleView.description=Show the Console view
-
-ConsolePatternMatchListenerName= Console Pattern Match Listeners
-ConsolePageParticipantName= Console Page Participants
-
-ConsoleFactoryName= Console Factories
-
-consoleViewConsoleFactory.name=New Console View
diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml
deleted file mode 100644
index e3b5332..0000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension-point id="consolePatternMatchListeners" name="%ConsolePatternMatchListenerName" schema="schema/consolePatternMatchListeners.exsd"/>
-   <extension-point id="consolePageParticipants" name="%ConsolePageParticipantName" schema="schema/consolePageParticipants.exsd"/>
-   <extension-point id="consoleFactories" name="%ConsoleFactoryName" schema="schema/consoleFactories.exsd"/>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            allowMultiple="true"
-            class="org.eclipse.ui.internal.console.ConsoleView"
-            icon="$nl$/icons/full/cview16/console_view.gif"
-            category="org.eclipse.ui"
-            name="%ConsoleView.name"
-            id="org.eclipse.ui.console.ConsoleView">
-      </view>
-   </extension>
-<!-- commands and their bindings
-NOTE: 
-M1 = CTRL/COMMAND 
-M2 = SHIFT 
-M3 = ALT 
-M4 = Platform-specific fourth key
--->   
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.consoleView.name"
-            description="%ViewCommand.consoleView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.console.ConsoleView">
-      </command>
-   </extension>
-    <extension point="org.eclipse.ui.bindings">
-     <key 
-  	    	sequence="M2+M3+Q C"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ui.console.ConsoleView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-     <key 
-            platform="carbon"
-  	    	sequence="M2+M3+Q C"
-            contextId="org.eclipse.ui.globalScope"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-     <key 
-  	    	sequence="M1+M3+Q C"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ui.console.ConsoleView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-  	</extension>
-    <extension
-          point="org.eclipse.core.expressions.propertyTesters">
-       <propertyTester
-             namespace="org.eclipse.ui.console"
-             type="org.eclipse.ui.console.IConsole"
-             class="org.eclipse.ui.internal.console.ConsoleTypePropertyTester"
-             properties="consoleTypeTest"
-             id="org.eclipse.ui.console.ConsoleTypePropertyTester"/>
-    </extension>
-    <extension
-          point="org.eclipse.ui.console.consoleFactories">
-       <consoleFactory
-             label="%consoleViewConsoleFactory.name"
-             class="org.eclipse.ui.internal.console.ConsoleViewConsoleFactory"/>
-    </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.console/schema/consoleFactories.exsd b/org.eclipse.ui.console/schema/consoleFactories.exsd
deleted file mode 100644
index 210882f..0000000
--- a/org.eclipse.ui.console/schema/consoleFactories.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.ui.console">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.console" id="consoleFactories" name="Console Factories"/>

-      </appInfo>

-      <documentation>

-         A console factory creates or activates a console, and appears as an action in the console view.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="consoleFactory"/>

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

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  action label to appear in menu

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  optional plug-in relative path to an icon to appear with the action

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="resource"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  class implementing &lt;code&gt;org.eclipse.ui.console.IConsoleFactory&lt;/code&gt; that will be called when the associated action is invoked

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.console.IConsoleFactory"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.1

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-&lt;pre&gt;

-&lt;extension point=&quot;org.eclipse.ui.console.consoleFactories&quot;&gt;

-  &lt;consoleFactory 

-     label=&quot;Command Console&quot;

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

-     icon=&quot;icons/cmd_console.gif&quot;&gt;

-  &lt;/consoleFactory&gt;

-&lt;/extension&gt;

-&lt;/pre&gt;

-This extension will cause an entry to appear in the console view&apos;s &lt;b&gt;Open Console&lt;/b&gt; drop-down menu labelled &lt;b&gt;Command Console&lt;/b&gt; with the specified icon. When the action is invoked by a user, the method &lt;b&gt;openConsole()&lt;/b&gt; on the class &lt;b&gt;com.example.CommandConsoleFactory&lt;/b&gt; will be called. The factory can the decide to create a new console or activate an existing console.

-      </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.ui.console.IConsoleFactory&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The console plug-in provides a console factory to open a new console view.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.ui.console/schema/consolePageParticipants.exsd b/org.eclipse.ui.console/schema/consolePageParticipants.exsd
deleted file mode 100644
index 06b40c1..0000000
--- a/org.eclipse.ui.console/schema/consolePageParticipants.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.console" id="consolePageParticipants" name="Console Page Participants"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing a console page participant.  A console page participant is notified of page lifecycle events such as creation, activation, deactivation and disposal. A page participant can also provide adapters for a page.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="consolePageParticipant"/>
-         </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="consolePageParticipant">
-      <complexType>
-         <sequence>
-            <element ref="enablement"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this Console Page Participant
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements &lt;code&gt;IConsolePageParticipant&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.console.IConsolePageParticipant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a console page participant extension point: 
-&lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.ui.console.consolePageParticipants&quot;&gt;
-      &lt;consolePageParticipant
-            class=&quot;com.example.ExamplePageParticipant&quot;
-            id=&quot;com.example.ExamplePageParticipant&quot;&gt;
-         &lt;enablement&gt;
-            &lt;instanceof value=&quot;com.example.ExampleConsole&quot;/&gt;
-         &lt;/enablement&gt;
-      &lt;/consolePageParticipant&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-In the above example, the contributed console page participant will be used for all consoles of type &quot;com.example.ExampleConsole.&quot;
-      </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.ui.console.IConsolePageParticipant&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which 
-accompanies this distribution, and is available at 
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd b/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
deleted file mode 100644
index 5cb81e0..0000000
--- a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.ui.console">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ui.console" id="consolePatternMatchListeners" name="Console Pattern Match Listeners"/>

-      </appInfo>

-      <documentation>

-         Provides regular expression matching for text consoles. Pattern match listeners can be contributed to specific consoles by using an enablement expression. Listeners are notified as matches are found.

-      </documentation>

-   </annotation>

-

-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="consolePatternMatchListener" 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="consolePatternMatchListener">

-      <complexType>

-         <sequence>

-            <element ref="enablement"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this console pattern match listener

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a fully qualified name of a Java class that implements &lt;code&gt;IPatternMatchListenerDelegate&lt;/code&gt;

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.console.IPatternMatchListenerDelegate"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the regular expression to be matched. Since 3.2, this attribute supports string variable substitution.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies flags to be used when matching the pattern. Acceptable flags are defined in &lt;code&gt;java.util.regex.Pattern&lt;/code&gt; and should be specified as Strings (eg &quot;Pattern.MULTILINE&quot; or &quot;MULTILINE&quot;)

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  a simple regular expression used to identify a line that may contain this pattern match listener&apos;s complete regular expression &lt;code&gt;regex&lt;/code&gt;. When a line is found containing this expression, a search is performed from the beginning of the line for this pattern matcher&apos;s complete &lt;code&gt;regex&lt;/code&gt;. Use of this attribute is optional but can greatly improve performance as lines not containing this expression are disqualified from the search. Since 3.2, this attribute supports string variable substitution.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.1

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a console pattern match listener extension point: 

-&lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.ui.console.consolePatternMatchListener&quot;&gt;

-      &lt;consolePatternMatchListener

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

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

-            regex=&quot;.*foo.*&quot;&gt;

-         &lt;enablement&gt;

-            &lt;test property=&quot;org.eclipse.ui.console.consoleTypeTest&quot; value=&quot;exampleConsole&quot;/&gt;

-         &lt;/enablement&gt;

-      &lt;/consolePatternMatchListener&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-In the above example, the contributed console pattern matcher will be used for consoles with a type of &quot;exampleConsole.&quot;

-      </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.ui.console.IPatternMatchListenerDelegate&lt;/b&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The console plug-in provides a console type property tester for enablement expressions that tests the value of &lt;code&gt;IConsole.getType()&lt;/code&gt;. The property tester&apos;s identifier is &lt;code&gt;org.eclipse.ui.console.consoleTypeTest&lt;/code&gt;.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

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

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

-accompanies this distribution, and is available at 

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.ui.console/scripts/exportplugin.xml b/org.eclipse.ui.console/scripts/exportplugin.xml
deleted file mode 100644
index af246f1..0000000
--- a/org.eclipse.ui.console/scripts/exportplugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.console Eclipse plugin
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export ui.console" 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.console_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}/console.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/consolesrc.zip">
-			<fileset dir="src"/>
-		</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.console/src/org/eclipse/ui/console/AbstractConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
deleted file mode 100644
index 99fb784..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Common function for consoles.
- * <p>
- * Clients implementing consoles should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractConsole implements IConsole {
-	
-	// property listeners
-	private ListenerList fListeners;
-	
-	/**
-	 * Console name
-	 */
-	private String fName = null;
-	
-	/**
-	 * Console image descriptor
-	 */
-	private ImageDescriptor fImageDescriptor = null;
-	
-	/**
-	 * Console type identifier
-	 */
-	private String fType = null;
-	
-	/**
-	 * Used to notify this console of lifecycle methods <code>init()</code>
-	 * and <code>dispose()</code>.
-	 */
-	class Lifecycle implements IConsoleListener {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-		 */
-		public void consolesAdded(IConsole[] consoles) {
-			for (int i = 0; i < consoles.length; i++) {
-				IConsole console = consoles[i];
-				if (console == AbstractConsole.this) {
-					initialize();
-				}
-			}
-
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-		 */
-		public void consolesRemoved(IConsole[] consoles) {
-			for (int i = 0; i < consoles.length; i++) {
-				IConsole console = consoles[i];
-				if (console == AbstractConsole.this) {
-					ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-					destroy();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners of property changes, handling any exceptions
-	 */
-	class PropertyNotifier implements ISafeRunnable {
-		
-		private IPropertyChangeListener fListener;
-		private PropertyChangeEvent fEvent;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.AbstractConsole_0, exception); 
-			ConsolePlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.propertyChange(fEvent);
-		}
-
-		/**
-		 * Notifies listeners of the property change
-		 * 
-		 * @param event the event that describes the property that has changed
-		 */
-		public void notify(PropertyChangeEvent event) {
-			if (fListeners == null) {
-				return;
-			}
-			fEvent = event;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IPropertyChangeListener)copiedListeners[i];
-                SafeRunner.run(this);
-			}	
-			fListener = null;			
-		}
-	}	
-	
-	/**
-	 * Constructs a new console with the given name and image.
-	 * 
-	 * @param name console name, cannot be <code>null</code>
-	 * @param imageDescriptor image descriptor, or <code>null</code> if none
-	 * @param autoLifecycle whether this console's lifecycle methods should be called
-	 *  automatically when it is added (<code>initialize()</code>) and removed
-	 *  (<code>destroy()</code>) from the console manager. When <code>false</code>,
-	 *  clients are responsible for calling the lifecycle methods.
-	 * @since 3.1
-	 */
-	public AbstractConsole(String name, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
-	    this(name, null, imageDescriptor, autoLifecycle);
-	}
-	
-	/**
-	 * Constructs a new console with the given name, type, image and lifecycle.
-	 * 
-	 * @param name console name, cannot be <code>null</code>
-	 * @param type console type identifier or <code>null</code>
-	 * @param imageDescriptor image descriptor, or <code>null</code> if none
-	 * @param autoLifecycle whether this console's lifecycle methods should be called
-	 *  automatically when it is added (<code>initialize()</code>) and removed
-	 *  (<code>destroy()</code>) from the console manager. When <code>false</code>,
-	 *  clients are responsible for calling the lifecycle methods.
-	 * @since 3.1
-	 */
-	public AbstractConsole(String name, String type, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
-		setName(name);
-		setType(type);
-		setImageDescriptor(imageDescriptor);
-		if (autoLifecycle) {
-		    ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new Lifecycle());
-		}
-	}	
-	
-	/**
-	 * Constructs a new console with the given name and image. The console's lifecycle
-	 * methods <code>init()</code> and <code>dispose()</code> will be called when the
-	 * console is added and removed from the console manager.
-	 * 
-	 * @param name console name, cannot be <code>null</code>
-	 * @param imageDescriptor image descriptor, or <code>null</code> if none
-	 */
-	public AbstractConsole(String name, ImageDescriptor imageDescriptor) {
-		this(name, imageDescriptor, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/**
-	 * Sets the name of this console to the specified value and notifies
-	 * property listeners of the change.
-	 * 
-	 * @param name the new name
-	 */
-	protected void setName(String name) {
-        if (!name.equals(fName)) {
-            String old = fName;
-            fName = name;
-            firePropertyChange(this, IBasicPropertyConstants.P_TEXT, old, name);
-        }
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return fImageDescriptor;
-	}
-	
-	/**
-	 * Sets the image descriptor for this console to the specified value and notifies
-	 * property listeners of the change.
-	 * 
-	 * @param imageDescriptor the new image descriptor
-	 */
-	protected void setImageDescriptor(ImageDescriptor imageDescriptor) {
-		ImageDescriptor old = fImageDescriptor;
-		fImageDescriptor =imageDescriptor;
-		firePropertyChange(this, IBasicPropertyConstants.P_IMAGE, old, imageDescriptor);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList();
-		}
-		fListeners.add(listener);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		if (fListeners != null) {
-			fListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Notify all listeners that the given property has changed.
-	 * 
-	 * @param source the object on which a property has changed 
-	 * @param property identifier of the property that has changed
-	 * @param oldValue the old value of the property, or <code>null</code>
-	 * @param newValue the new value of the property, or <code>null</code>
-	 */
-	public void firePropertyChange(Object source, String property, Object oldValue, Object newValue) {
-		if (fListeners == null) {
-			return;
-		}
-		PropertyNotifier notifier = new PropertyNotifier();
-		notifier.notify(new PropertyChangeEvent(source, property, oldValue, newValue));
-	}
-	
-	/**
-	 * Initializes this console. This method should only be called by clients managing a
-	 * console's lifecycle, otherwise this method will be called automatically when this console
-	 * is added to the console manager. The method is called once to initialize this console,
-	 * marking the beginning of its lifecycle.
-	 * 
-	 * @since 3.1
-	 */
-	public final void initialize() {
-	    init();
-	}
-	
-	/**
-	 * Called when this console is added to the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 * <p>
-	 * Since 3.1, this method is only called automatically if this console was
-	 * created with an automatic lifecycle.
-	 * </p>
-	 */
-	protected void init() {
-	}
-	
-	/**
-	 * Disposes this console. This method should only be called by clients managing a
-	 * console's lifecycle, otherwise this method will be called automatically when this
-	 * console is removed from the console manager. The method is called once to dispose
-	 * this console, after which this console will no longer be used. 
-	 * 
-	 * @since 3.1
-	 */
-	public final void destroy() {
-	    dispose();
-	}
-	
-	/**
-	 * Called when this console is removed from the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 * <p>
-	 * Since 3.1, this methods is only called automatically if this console was
-	 * created with an automatic lifecycle.
-	 * </p>
-	 */
-	protected void dispose() {
-	}
-	
-	/**
-	 * Shows this console in all console views. This console will be become visible
-	 * if another console is currently pinned. 
-	 * 
-	 * @since 3.1
-	 */
-    public void activate() {
-        ConsolePlugin.getDefault().getConsoleManager().showConsoleView(this);
-    }
-    
-    /**
-     * Sets this console's type identifier.
-     * 
-     * @param typeIdentifier the type identifier for this console 
-     * @since 3.1
-     */
-    protected void setType(String typeIdentifier) {
-        fType = typeIdentifier;
-    }
-    
-    /**
-     * @see org.eclipse.ui.console.IConsole#getType()
-     * @since 3.1
-     */
-    public String getType() {
-        return fType;
-    }
-    
-    /**
-     * Returns the help context identifier for this console, or <code>null</code>
-     * if none. When a non-<code>null</code> value is returned the associated help
-     * will be installed for this console.
-     * 
-     * @return help context id or <code>null</code>
-     * @since 3.2
-     */
-    public String getHelpContextId() {
-    	return null;
-    }
-    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
deleted file mode 100644
index 924ee1b..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.console.ConsoleManager;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The console plug-in class.
- * 
- * @since 3.0
- */
-
-public class ConsolePlugin extends AbstractUIPlugin {
-	
-	/**
-	 * Singleton console manager
-	 */
-	private IConsoleManager fConsoleManager = null;
-
-	/**
-	 * The singleton console plug-in instance
-	 */
-	private static ConsolePlugin fgPlugin= null;
-	
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.ui.console"</code>)
-	 * for the UI Console plug-in.
-	 */
-	private static final String PI_UI_CONSOLE = "org.eclipse.ui.console"; //$NON-NLS-1$
-		
-	/**
-	 * Returns the singleton instance of the console plug-in.
-	 */
-	public static ConsolePlugin getDefault() {
-		return fgPlugin;
-	}
-
-	public ConsolePlugin() {
-		super();
-		fgPlugin = this;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plug-in.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_UI_CONSOLE;
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		if (t instanceof CoreException) {
-			log(((CoreException)t).getStatus());
-		} else {
-			log(newErrorStatus("Error logged from Console plug-in: ", t)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Returns the console manager. The manager will be created lazily on 
-	 * the first access.
-	 * 
-	 * @return IConsoleManager
-	 */
-	public IConsoleManager getConsoleManager() {
-		if (fConsoleManager == null) {
-			fConsoleManager = new ConsoleManager();
-		}
-		return fConsoleManager;
-	}
-
-	/**
-	 * 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;		
-	}
-	
-	/**
-	 * Utility method with conventions
-	 */
-	public static void errorDialog(Shell shell, String title, String message, Throwable t) {
-		IStatus status;
-		if (t instanceof CoreException) {
-			status= ((CoreException)t).getStatus();
-			// if the 'message' resource string and the IStatus' message are the same,
-			// don't show both in the dialog
-			if (status != null && message.equals(status.getMessage())) {
-				message= null;
-			}
-		} else {
-			status= new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, "Error within Debug UI: ", t); //$NON-NLS-1$
-			log(status);	
-		}
-		ErrorDialog.openError(shell, title, message, status);
-	}
-    
-    /**
-     * Returns the <code>Image</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     * 
-     * @return the <code>Image</code> identified by the given key,
-     * or <code>null</code> if it does not exist
-     * @since 3.1
-     */
-    public static Image getImage(String key) {
-        return ConsolePluginImages.getImage(key);
-    }
-    
-    /**
-     * Returns the <code>ImageDescriptor</code> identified by the given key,
-     * or <code>null</code> if it does not exist.
-     * 
-     * @return the <code>ImageDescriptor</code> identified by the given key,
-     * or <code>null</code> if it does not exist
-     * @since 3.1
-     */
-    public static ImageDescriptor getImageDescriptor(String key) {
-        return ConsolePluginImages.getImageDescriptor(key);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-     */
-    public void stop(BundleContext context) throws Exception {
-    	if (fConsoleManager != null) {
-	        IConsole[] consoles = fConsoleManager.getConsoles();
-	        if (consoles != null) {
-	            fConsoleManager.removeConsoles(consoles);
-	        }
-    	}
-        super.stop(context);
-    }    
-    
-    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
deleted file mode 100644
index af1b4ce..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console. A console is commonly used to display messages such as the output
- * streams of a system process. A console can be displayed in one or more console
- * views.
- * <p>
- * The console implementations provided by this plug-in are textual
- * (<code>TextConsole</code>, <code>MessageConsole</code> and <code>IOConsole</code>).
- * However a client can provide alternate presentations since a console implementation
- * is responsible for providing is page for the page book views in which consoles are
- * displayed.
- * </p>
- * <p>
- * This interface is not intended to be implemented directly by clients. 
- * Subclass <code>AbstractConsole</code> instead.
- * </p>
- * @since 3.0
- */
-public interface IConsole {
-		
-	/**
-	 * Returns the name of this console.
-	 * 
-	 * @return the name of this console
-	 */
-	public String getName();
-	
-	/**
-	 * Returns an image descriptor for this console, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return an image descriptor for this console, or <code>null</code>
-	 *  if none
-	 */
-	public ImageDescriptor getImageDescriptor();
-		
-	/**
-	 * Creates and returns a new page for this console. The page is displayed
-	 * for this console in the console given view.
-	 * 
-	 * @param view the view in which the page is to be created
-	 * @return a page book view page representation of this console
-	 */
-	public IPageBookViewPage createPage(IConsoleView view);
-	
-	/**
-	 * Adds a listener for changes to properties of this console.
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * The changes supported by the console view are as follows:
-	 * <ul>
-	 *   <li><code>IBasicPropertyConstants.P_TEXT</code> - indicates the name
-	 *      of a console has changed</li>
-	 * 	 <li><code>IBasicPropertyConstants.P_IMAGE</code> - indicates the image
-	 *      of a console has changed</li>
-	 * </ul>
-	 * </p>
-	 * <p>
-	 * Consoles may define additional properties as required.
-	 * </p>
-	 *
-	 * @param listener a property change listener
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener);
-	
-	/**
-	 * Removes the given property listener from this console page.
-	 * Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener a property listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener);	
-	
-	/**
-	 * Returns a unique identifier for this console's type, or <code>null</code>
-	 * if unspecified.
-	 * 
-	 * @return a unique identifier for this console's type, or <code>null</code>
-	 * @since 3.1
-	 */
-	public String getType();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
deleted file mode 100644
index 4321582..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-/**
- * Constants relating to the console plug-in.
- * 
- * @since 3.0
- */
-public interface IConsoleConstants {
-	
-	/**
-	 * Console plug-in identifier (value <code>"org.eclipse.ui.console"</code>).
-	 */
-	public static final String PLUGIN_ID = ConsolePlugin.getUniqueIdentifier();
-	
-	/**
-	 * Console view identifier (value <code>"org.eclipse.ui.console.ConsoleView"</code>).
-	 */
-	public static final String ID_CONSOLE_VIEW= "org.eclipse.ui.console.ConsoleView"; //$NON-NLS-1$
-
-	/**
-	 * Type identifier for MessageConsole
-	 * @since 3.1
-	 */
-    public static final String MESSAGE_CONSOLE_TYPE = "org.eclipse.ui.MessageConsole"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the font to use for the Console (value <code>"org.eclipse.ui.console.ConsoleFont"</code>).
-	 * 
-	 * @deprecated When a console is created, its font is set to the default text font as specified
-	 * by <code>JFaceResources.TEXT_FONT</code>. Clients must provide their own infrastructure to
-	 * manage console specific fonts. 
-	 */ 
-	public static final String CONSOLE_FONT= "org.eclipse.ui.console.ConsoleFont"; //$NON-NLS-1$
-	
-	/**
-	 * Menu group identifier for the console view context menu and toolbar, for actions pertaining to
-	 * launching (value <code>"launchGroup"</code>).
-	 */
-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-
-	/**
-	 * Menu group identifier for the console view context menu and toolbar, for actions pertaining to
-	 * console output. (value<code>"outputGroup"</code>).
-	 */
-	public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$	
-		
-	/** 
-	 * Console view image identifier.
-	 */
-	public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$
-	
-	/** 
-	 * Clear action image identifier. 
-	 */
-	public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$
-		
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-
-	/**
-	 * Console pattern match listeners extension point identifier
-	 * (value <code>"consolePatternMatchListeners"</code>).
-	 * 
-	 * @since 3.1 
-	 */
-    public static final String EXTENSION_POINT_CONSOLE_PATTERN_MATCH_LISTENERS = "consolePatternMatchListeners"; //$NON-NLS-1$
-
-    /**
-     * Console page participants extension point identifier
-     * (value <code>"consolePageParticipants"</code>).
-     * 
-     * @since 3.1
-     */
-    public static final String EXTENSION_POINT_CONSOLE_PAGE_PARTICIPANTS = "consolePageParticipants"; //$NON-NLS-1$
-
-    /**
-     * Console factories extension point identifier
-     * (value <code>"consoleFactories"</code>).
-     * 
-     * @since 3.1
-     */
-    public static final String EXTENSION_POINT_CONSOLE_FACTORIES = "consoleFactories"; //$NON-NLS-1$
-    
-	/**
-	 * Property constant indicating a console's font has changed.
-	 *  
-	 * @since 3.1
-	 */
-	public static final String P_FONT = ConsolePlugin.getUniqueIdentifier() + ".P_FONT"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating that a font style has changed
-	 * 
-	 * @since 3.1
-	 */
-	public static final String P_FONT_STYLE = ConsolePlugin.getUniqueIdentifier() + ".P_FONT_STYLE"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the color of a stream has changed.
-	 * 
-	 *  @since 3.1
-	 */
-	public static final String P_STREAM_COLOR = ConsolePlugin.getUniqueIdentifier()  + ".P_STREAM_COLOR";	 //$NON-NLS-1$
-		
-	/**
-	 * Property constant indicating tab size has changed
-	 * 
-	 *  @since 3.1
-	 */
-	public static final String P_TAB_SIZE = ConsolePlugin.getUniqueIdentifier()  + ".P_TAB_SIZE";	 //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the width of a fixed width console has changed.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String P_CONSOLE_WIDTH = ConsolePlugin.getUniqueIdentifier() + ".P_CONSOLE_WIDTH"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating that all streams connected to this console have been closed
-	 * and that all queued output has been processed.
-	 * 
-	 * @since 3.1
-	 */
-	public static final String P_CONSOLE_OUTPUT_COMPLETE = ConsolePlugin.getUniqueIdentifier() + ".P_CONSOLE_STREAMS_CLOSED"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the background color of a console has changed.
-	 * 
-	 *  @since 3.3
-	 */
-	public static final String P_BACKGROUND_COLOR = ConsolePlugin.getUniqueIdentifier()  + ".P_BACKGROUND_COLOR";	 //$NON-NLS-1$	
-
-    /**
-     * The default tab size for text consoles.
-     * 
-     * @since 3.1
-     */
-    public static final int DEFAULT_TAB_SIZE = 8;
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
deleted file mode 100644
index 0da81fe..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.swt.custom.StyleRange;
-
-/**
- * A document partitioner for a text console.
- * <p>
- * In addition to regular partitioner duties, a console document partitioner
- * dictates which regions in its document are read-only and provides style ranges.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.ui.console.TextConsole
- * @since 3.1
- */
-public interface IConsoleDocumentPartitioner extends IDocumentPartitioner {
-       
-    /**
-     * Returns whether this partitioner's document is read-only at the specified
-     * offset. The user is not allowed to type in read-only locations. 
-     * 
-     * @param offset document offset
-     * @return whether this partitioner's document is read-only at the specified
-     * offset
-     */
-    public boolean isReadOnly(int offset);
-    
-    /**
-     * Returns style ranges for the specified region of this partitioner's document
-     * to use when rendering, or <code>null</code> if none. 
-     * 
-     * @param offset beginning offset for which style ranges are requested
-     * @param length the length of text for which style ranges are requested
-     * @return style ranges for the specified region of this partitioner's document
-     * to use when rendering, or <code>null</code> if none
-     */
-    public StyleRange[] getStyleRanges(int offset, int length);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
deleted file mode 100644
index 4e27fed..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A console factory extension is responsible for opening a console in the console view.
- * Extensions appear on a menu in the console view, and their <code>openConsole</code>
- * method is called when the action is invoked. Implementations may choose to open a new
- * console or activate an existing console. The extension point used to contribute a
- * console factory is <code>org.eclipse.ui.console.consoleFactories</code>.
- * <p>
- * Following is an example console factory extension.
- * <pre>
- * &lt;extension point="org.eclipse.ui.console.consoleFactories"&gt;
- *   &lt;consoleFactory
- *      label="Command Console"
- *      icon="icons\cmd_console.gif"
- *      class="com.example.CommandConsoleFactory"&gt;
- *   &lt;/consoleFactory&gt;
- * &lt;/extension&gt;
- * </pre>
- * An action appears in the console view's 'Open Console' drop-down menu with the
- * corresponding <code>label</code> and optional <code>icon</code>. When the action
- * is invoked, the specified <code>class</code> is instantiated and called to
- * open a console, via the method <code>openConsole()</code>. 
- * </p>
- * <p>
- * Clients providing console factory extensions are intended to implement
- * this interface.
- * </p>
- * @since 3.1
- */
-public interface IConsoleFactory {
-    /**
-     * Opens a console in the console view. Implementations may create a new
-     * console or activate an existing console.
-     */
-    public void openConsole();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
deleted file mode 100644
index 41aedb2..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A console listener is notified when consoles are added or removed from
- * the console manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleListener {
-	
-	/**
-	 * Notification the given consoles have been added to the console
-	 * manager.
-	 * 
-	 * @param consoles added consoles
-	 */
-	public void consolesAdded(IConsole[] consoles);
-	
-	/**
-	 * Notification the given consoles have been removed from the
-	 * console manager.
-	 * 
-	 * @param consoles removed consoles
-	 */
-	public void consolesRemoved(IConsole[] consoles);
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
deleted file mode 100644
index e5f16fd..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * The console manager manages registered consoles.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0 
- */
-public interface IConsoleManager {
-	
-	/**
-	 * Registers the given listener for console notifications. Has
-	 * no effect if an identical listener is already registered.
-	 * 
-	 * @param listener listener to register
-	 */
-	public void addConsoleListener(IConsoleListener listener);
-	
-	/**
-	 * Unregisters the given listener for console notifications. Has
-	 * no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener listener to unregister
-	 */
-	public void removeConsoleListener(IConsoleListener listener);
-
-	/**
-	 * Adds the given consoles to the console manager. Has no effect for
-	 * equivalent consoles already registered. The consoles will be added
-	 * to any existing console views.
-	 * 
-	 * @param consoles consoles to add
-	 */
-	public void addConsoles(IConsole[] consoles);
-	
-	/**
-	 * Removes the given consoles from the console manager. If the consoles are
-	 * being displayed in any console views, the associated pages will be removed
-	 * and disposed.
-	 * 
-	 * @param consoles consoles to remove
-	 */
-	public void removeConsoles(IConsole[] consoles);
-	
-	/**
-	 * Returns a collection of consoles registered with the console manager.
-	 * 
-	 * @return a collection of consoles registered with the console manager
-	 */
-	public IConsole[] getConsoles();
-	
-	/**
-	 * Opens the console view and displays given the console.
-	 * If the view is already open, it is brought to the front unless
-	 * the view is pinned on a console other than the given console.
-	 * Has no effect if the given console is not currently registered.
-	 * 
-	 * @param console console to display
-	 */
-	public void showConsoleView(IConsole console);
-	
-	/**
-	 * Warns that the content of the given console has changed in
-	 * all console views. Has no effect if the given console is not
-	 * currently registered.
-	 * 
-	 * @param console the console that has changed
-	 */
-	public void warnOfContentChange(IConsole console);
-	
-	/**
-	 * Creates and returns a collection of new pattern match listeners enabled for
-	 * the given console. The pattern match listeners are new instances, intended
-	 * to be used in a new console. No methods on the participants have been
-	 * called. Clients are responsible for connecting to and disconnecting from
-	 * the pattern match listeners.
-     * <p>
-     * Console pattern match listeners are contributed via the
-     * <code>org.eclipse.ui.console.consolePatternMatchListeners</code> extension point.
-     * </p>
-	 * 
-	 * @param console the console for which pattern match listeners are requested
-	 * @return a collection of new pattern match listeners
-     * @see IPatternMatchListener
-	 * @since 3.1
-	 */
-	public IPatternMatchListener[] createPatternMatchListeners(IConsole console);
-    
-    /**
-     * Requests a redraw of any visible console page containing the specified console.
-     * 
-     * @param console the console to be refreshed
-     * @since 3.1
-     */
-    public void refresh(IConsole console);
-	
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
deleted file mode 100644
index a2e7514..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console page participant is notified of page lifecycle events such as
- * creation, activation, deactivation and disposal. A page participant can
- * also provide adapters for a page. Participants are contributed via the
- * <code>org.eclispe.ui.console.consolePageParticipants</code> extension point.
- * <p>
- * Participant behavior is implementation dependent. For example, a page participant
- * could add actions to a console's toolbar by accessing a its page's action bars.  
- * </p>
- * <p>
- * Following is an example extension definition.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.ui.console.consolePageParticipants&quot;&gt;
- *   &lt;consolePageParticipant
- *      id=&quot;com.example.ExamplePageParticipant&quot;
- *      class=&quot;com.example.ExamplePageParticipant&quot;&gt;
- *   &lt;/consolePageParticipant&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * The example page participant is contributed to all console pages. An optional
- * <code>enablement</code> attribute may be specified to control which consoles
- * a page participant is applicable to.
- * <p>
- * Clients contributing console page participant extensions are intended to 
- * implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IConsolePageParticipant extends IAdaptable {
-    /**
-     * Called during page initialization. Marks the start of this 
-     * page participant's lifecycle.
-     * 
-     * @param page the page corresponding to the given console
-     * @param console the console for which a page has been created
-     */
-    public void init(IPageBookViewPage page, IConsole console);
-    
-    /**
-     * Disposes this page participant. Marks the end of this
-     * page participant's lifecycle.
-     */
-    public void dispose();
-    
-    /**
-     * Notification this participant's page has been activated.
-     */
-    public void activated();
-    
-    /**
-     * Notification this participant's page has been deactivated.
-     */
-    public void deactivated();
-    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
deleted file mode 100644
index b76b3c3..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.ui.IViewPart;
-
-/**
- * A view that displays consoles registered with the console manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleView extends IViewPart {
-	
-	/**
-	 * Displays the page for the given console in this console view.
-	 * Has no effect if this console view has a pinned console. 
-	 *  
-	 * @param console console to display, cannot be <code>null</code>
-	 */
-	public void display(IConsole console);
-	
-	/**
-	 * Pins this console view. No other console page will be displayed until
-     * this console view is un-pinned.
-	 *  
-	 * @param pin <code>true</code> to pin the current console to the 
-     * top of the stack, <code>false</code> otherwise
-     * @since 3.1
-	 */
-	public void setPinned(boolean pin);
-	
-    /**
-     * Displays and pins the given console in this console view. No
-     * other console can be displayed until this console view is
-     * un-pinned. Specifying <code>null</code> un-pins this console
-     *  
-     * @param console console to pin, or <code>null</code> to un-pin
-     * @deprecated rather than pinning a specific console, a console view is
-     *  pinned - use <code>setPinned(boolean)</code>
-     */
-    public void pin(IConsole console);
-    
-	/**
-	 * Returns whether this console view is currently pinned to a
-	 * specific console.
-	 * 
-	 * @return whether this console view is currently pinned to a
-	 *  specific console
-	 */
-	public boolean isPinned();
-	
-	/**
-	 * Returns the console currently being displayed, or <code>null</code>
-	 * if none
-	 * 
-	 * @return the console currently being displayed, or <code>null</code>
-	 *  if none
-	 */
-	public IConsole getConsole();
-	
-	/**
-	 * Warns that the content of the given console has changed.
-	 * 
-	 * @param console the console that has changed
-	 */
-	public void warnOfContentChange(IConsole console);	
-    
-    /**
-     * Sets the scroll lock state of the currently active console.
-     * 
-     * @param scrollLock <code>true</code> to turn scroll lock on, otherwise <code>false</code>
-     * @since 3.1
-     */
-    public void setScrollLock(boolean scrollLock);
-    
-    /**
-     * Returns the scroll lock state of the currently active console.
-     * 
-     * @return <code>true</code> if scroll lock is on, <code>false</code> otherwise
-     * @since 3.1
-     */
-    public boolean getScrollLock();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
deleted file mode 100644
index 38aa499..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A hyperlink in a console. Link behavior is implementation dependent.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IHyperlink {
-	
-	/**
-	 * Notification that the mouse has entered this link's region.
-	 */
-	public void linkEntered();
-	
-	/**
-	 * Notification that the mouse has exited this link's region
-	 */
-	public void linkExited();
-	
-	/**
-	 * Notification that this link has been activated. Performs
-	 * context specific linking.
-	 */
-	public void linkActivated();
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink2.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink2.java
deleted file mode 100644
index 3895f15..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink2.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.swt.widgets.Event;
-
-/**
- * Optional extension to {@link IHyperlink}.
- * <p>
- * Clients implementing {@link IHyperlink} may also implement this interface.
- * When implemented, the method <code>linkActivated(Event)</code> is called instead of
- * <code>linkActivated()</code>.
- * </p>
- * @since 3.2
- */
-public interface IHyperlink2 extends IHyperlink {
-	
-	/**
-	 * Notification that this link has been activated. Performs
-	 * context specific linking.
-	 * 
-	 * @param event the SWT event which triggered this hyperlink
-	 */
-	public void linkActivated(Event event);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
deleted file mode 100644
index d7d106e..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.internal.console.IOConsolePage;
-import org.eclipse.ui.internal.console.IOConsolePartitioner;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console that displays text from I/O streams. An I/O console can have multiple
- * output streams connected to it and provides one input stream connected to the
- * keyboard.
- * <p>
- * Clients may instantiate and subclass this class.
- * </p>
- * @since 3.1
- */
-public class IOConsole extends TextConsole {
-	/**
-	 * The document partitioner
-	 */
-    private IOConsolePartitioner partitioner;
-    
-    /**
-     * The stream from which user input may be read
-     */
-    private IOConsoleInputStream inputStream;
-        
-    /**
-     * A collection of open streams connected to this console.
-     */
-    private List openStreams;
-
-    /**
-     * The encoding used to for displaying console output.
-     */
-    private String fEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
-
-    
-    /**
-     * Constructs a console with the given name, type, image, and lifecycle, with the
-     * workbench's default encoding.
-     * 
-     * @param name name to display for this console
-     * @param consoleType console type identifier or <code>null</code>
-     * @param imageDescriptor image to display for this console or <code>null</code>
-     * @param autoLifecycle whether lifecycle methods should be called automatically
-     *  when this console is added/removed from the console manager
-     */
-    public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
-        this(name, consoleType, imageDescriptor, null, autoLifecycle);
-    }
-
-    /**
-     * Constructs a console with the given name, type, image, encoding and lifecycle.
-     * 
-     * @param name name to display for this console
-     * @param consoleType console type identifier or <code>null</code>
-     * @param imageDescriptor image to display for this console or <code>null</code>
-     * @param autoLifecycle whether lifecycle methods should be called automatically
-     *  when this console is added/removed from the console manager
-     */
-    public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor, String encoding, boolean autoLifecycle) {
-        super(name, consoleType, imageDescriptor, autoLifecycle);
-        if (encoding != null) {
-            fEncoding = encoding;
-        }
-        openStreams = new ArrayList();
-        inputStream = new IOConsoleInputStream(this);
-        synchronized (openStreams) {
-        	openStreams.add(inputStream);	
-		}
-        
-        partitioner = new IOConsolePartitioner(inputStream, this);
-        partitioner.connect(getDocument());
-    }
-    
-    /**
-     * Constructs a console with the given name, type, and image with the workbench's
-     * default encoding. Lifecycle methods will be called when this console is
-     * added/removed from the console manager.
-     * 
-     * @param name name to display for this console
-     * @param consoleType console type identifier or <code>null</code>
-     * @param imageDescriptor image to display for this console or <code>null</code>
-     */
-    public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor) {
-        this(name, consoleType, imageDescriptor, true);
-    }    
-    
-    /**
-     * Constructs a console with the given name and image. Lifecycle methods
-     * will be called when this console is added/removed from the console manager.
-     * This console will have an unspecified (<code>null</code>) type.
-     * 
-     * @param name name to display for this console
-     * @param imageDescriptor image to display for this console or <code>null</code>
-     */
-    public IOConsole(String name, ImageDescriptor imageDescriptor) {
-        this(name, null, imageDescriptor);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-     */
-    public IPageBookViewPage createPage(IConsoleView view) {
-        return new IOConsolePage(this, view);
-    }
-    
-    /**
-     * Creates and returns a new output stream which may be used to write to this console.
-     * A console may be connected to more than one output stream at once. Clients are
-     * responsible for closing any output streams created on this console.
-     * <p>
-     * Clients should avoid writing large amounts of output to this stream in the UI
-     * thread. The console needs to process the output in the UI thread and if the client
-     * hogs the UI thread writing output to the console, the console will not be able
-     * to process the output.
-     * </p>
-     * @return a new output stream connected to this console
-     */
-    public IOConsoleOutputStream newOutputStream() {
-        IOConsoleOutputStream outputStream = new IOConsoleOutputStream(this);
-        outputStream.setEncoding(fEncoding);
-        synchronized(openStreams) {
-            openStreams.add(outputStream);
-        }
-        return outputStream;
-    }
-    
-    /**
-     * Returns the input stream connected to the keyboard.
-     * 
-     * @return the input stream connected to the keyboard.
-     */
-    public IOConsoleInputStream getInputStream() {
-        return inputStream;
-    }
-
-    /**
-     * Returns this console's document partitioner.
-     * 
-     * @return this console's document partitioner
-     */
-    protected IConsoleDocumentPartitioner getPartitioner() {
-        return partitioner;
-    }
-
-	/**
-	 * Returns the maximum number of characters that the console will display at
-	 * once. This is analogous to the size of the text buffer this console
-	 * maintains.
-	 * 
-	 * @return the maximum number of characters that the console will display
-	 */
-	public int getHighWaterMark() {
-	    return partitioner.getHighWaterMark();
-	}
-	
-	/**
-	 * Returns the number of characters that will remain in this console
-	 * when its high water mark is exceeded.
-	 *  
-	 * @return the number of characters that will remain in this console
-	 *  when its high water mark is exceeded
-	 */
-	public int getLowWaterMark() {
-		return partitioner.getLowWaterMark();
-	}
-	
-	/**
-	 * Sets the text buffer size for this console. The high water mark indicates
-	 * the maximum number of characters stored in the buffer. The low water mark
-	 * indicates the number of characters remaining in the buffer when the high
-	 * water mark is exceeded.
-	 * 
-	 * @param low the number of characters remaining in the buffer when the high
-	 *  water mark is exceeded (if -1 the console does not limit output)
-	 * @param high the maximum number of characters this console will cache in
-	 *  its text buffer (if -1 the console does not limit output)
-	 * @exception IllegalArgumentException if low >= high & low != -1
-	 */
-	public void setWaterMarks(int low, int high) {
-        if (low >= 0) {
-    	    if (low >= high) {
-    	        throw new IllegalArgumentException("High water mark must be greater than low water mark"); //$NON-NLS-1$
-    	    }
-        }
-		partitioner.setWaterMarks(low, high);
-	}
-
-    /**
-     * Check if all streams connected to this console are closed. If so,
-     * notify the partitioner that this console is finished. 
-     */
-    private void checkFinished() {
-        if (openStreams.isEmpty()) {
-            partitioner.streamsClosed();
-        }
-    }
-    
-    /**
-     * Notification that an output stream connected to this console has been closed.
-     * 
-     * @param stream stream that closed
-     */
-    void streamClosed(IOConsoleOutputStream stream) {
-    	synchronized (openStreams) {
-            openStreams.remove(stream);
-            checkFinished();
-		}
-    }
-    
-    /**
-     * Notification that the input stream connected to this console has been closed.
-     * 
-     * @param stream stream that closed
-     */
-    void streamClosed(IOConsoleInputStream stream) {
-    	synchronized (openStreams) {
-            openStreams.remove(stream);
-            checkFinished();
-		}
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.TextConsole#clearConsole()
-     */
-    public void clearConsole() {
-        if (partitioner != null) {
-            partitioner.clearBuffer();
-        }
-    }
-    
-    /**
-     * Disposes this console.
-     */
-    protected void dispose() {
-        super.dispose();
-        partitioner.disconnect();
-        //make a copy of the open streams and close them all
-        //a copy is needed as close the streams results in a callback that 
-        //removes the streams from the openStreams collection (bug 152794)
-        Object[] allStreams= openStreams.toArray();
-        for (int i = 0; i < allStreams.length; i++) {
-        	Object stream = allStreams[i];
-        	if (stream instanceof IOConsoleInputStream) {
-        		IOConsoleInputStream is = (IOConsoleInputStream) stream;
-        		try {
-        			is.close();
-        		} catch (IOException e) {
-        		}
-        	} else if (stream instanceof IOConsoleOutputStream) {
-        		IOConsoleOutputStream os = (IOConsoleOutputStream) stream;
-        		try {
-        			os.close();
-        		} catch (IOException e) {
-        		}					
-        	}
-        }
-        inputStream = null;
-    }
-
-    /**
-     * Returns the encoding for this console, or <code>null</code> to indicate
-     * default encoding.
-     * 
-     * @return the encoding set for this console, or <code>null</code> to indicate
-     * 	default encoding
-     * @since 3.3
-     */
-	public String getEncoding() {
-		return fEncoding;
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
deleted file mode 100644
index 66b0ffe..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * InputStream used to read input from an IOConsole. 
- * This stream will buffer input that it receives until it has been read.
- * <p>
- * Clients are not intended to instantiate this class directly, instead
- * use <code>IOConsole.getInputStream()</code>. Clients are not intended
- * to subclass this class.
- * </p>
- * @since 3.1
- *
- */
-public class IOConsoleInputStream extends InputStream {
-    /**
-     * Buffer to hold data from console until it is read.
-     */
-    private byte[] input = new byte[100];
-    
-    /**
-     * Location in the buffer that the next byte of data from the
-     * console should be stored.
-     */
-    private int inPointer = 0;
-    
-    /**
-     * Location in the buffer that the next byte of data read from
-     * this stream should come from.
-     */
-    private int outPointer = 0;
-    
-    /**
-     * The number of bytes of real data currently in the buffer. 
-     */
-    private int size = 0;
-    
-    /**
-     * Flag to indicate that EOF has been sent already.
-     */
-    private boolean eofSent = false;
-    
-    /**
-     * Flag to indicate that the stream has been closed.
-     */
-    private boolean closed = false;
-    
-    /**
-     * The console that this stream is connected to.
-     */
-    private IOConsole console;
-    
-    /**
-     * The color used to display input in the console.
-     */
-    private Color color;
-    
-    /**
-     * The font style used to decorate input in the console.
-     */
-    private int fontStyle = SWT.NORMAL;
-
-
-    /**
-     * Constructs a new input stream on the given console.
-     * 
-     * @param console I/O console
-     */
-    IOConsoleInputStream(IOConsole console) {
-        this.console = console;
-    }
-    
-    /*
-     *  (non-Javadoc)
-     * @see java.io.InputStream#read(byte[], int, int)
-     */
-    public synchronized int read(byte[] b, int off, int len) throws IOException {
-        waitForData();
-        if (available() == -1) {
-            return -1;
-        }
-    
-        int toCopy = Math.min(len, size);
-        if(input.length-outPointer > toCopy) {
-            System.arraycopy(input, outPointer, b, off, toCopy);
-            outPointer += toCopy;
-            size -= toCopy;
-        } else {
-            int bytesToEnd = input.length-outPointer;
-            System.arraycopy(input, outPointer, b, off, bytesToEnd);
-            System.arraycopy(input, 0, b, off+bytesToEnd, toCopy-bytesToEnd);
-            outPointer = toCopy-bytesToEnd;
-            size -=toCopy;
-        }
-        return toCopy;
-    }
-    
-    /*
-     *  (non-Javadoc)
-     * @see java.io.InputStream#read(byte[])
-     */
-    public int read(byte[] b) throws IOException {
-        return read(b, 0, b.length);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see java.io.InputStream#read()
-     */
-    public synchronized int read() throws IOException {
-        waitForData();
-        if (available() == -1) { 
-            return -1;
-        }
-        
-        byte b = input[outPointer];
-        outPointer++;
-        if (outPointer == input.length) {
-            outPointer = 0;
-        }
-        size -= 1;
-        return b;
-    }
-    
-    /**
-     * Blocks until data is available to be read.
-     * Ensure that the monitor for this object is obtained before
-     * calling this method.
-     */
-    private void waitForData() {
-        while (size == 0 && !closed) {
-            try {
-                wait();
-            } catch (InterruptedException e) {
-            }
-        }
-    }
-
-    /**
-     * Appends text to this input stream's buffer.
-     * 
-     * @param text the text to append to the buffer.
-     */
-    public synchronized void appendData(String text) {
-    	String encoding = console.getEncoding();
-        byte[] newData;
-        if (encoding!=null)
-			try {
-				newData = text.getBytes(encoding);
-			} catch (UnsupportedEncodingException e) {
-				newData = text.getBytes();	
-			}
-		else
-        	newData = text.getBytes();
-        
-        while(input.length-size < newData.length) {
-            growArray();
-        }
-        
-        if (size == 0) { //inPointer == outPointer
-            System.arraycopy(newData, 0, input, 0, newData.length);
-            inPointer = newData.length;
-            size = newData.length;
-            outPointer = 0;
-        } else if (inPointer < outPointer || input.length - inPointer > newData.length) {
-            System.arraycopy(newData, 0, input, inPointer, newData.length);
-            inPointer += newData.length;
-            size += newData.length;
-        } else {
-            System.arraycopy(newData, 0, input, inPointer, input.length-inPointer);
-            System.arraycopy(newData, input.length-inPointer, input, 0, newData.length-(input.length-inPointer));
-            inPointer = newData.length-(input.length-inPointer);
-            size += newData.length;
-        }
-        
-        if (inPointer == input.length) {
-            inPointer = 0;
-        }
-        notifyAll();
-    }
-    
-    /**
-     * Enlarges the buffer.
-     */
-    private void growArray() {
-        byte[] newInput = new byte[input.length+1024];
-        if (outPointer < inPointer) {
-            System.arraycopy(input, outPointer, newInput, 0, size);
-        } else {
-            System.arraycopy(input, outPointer, newInput, 0, input.length-outPointer);
-            System.arraycopy(input, 0, newInput, input.length-outPointer, inPointer);
-        }
-        outPointer = 0;
-        inPointer = size;
-        input = newInput;
-        newInput = null;
-    }
-
-    /**
-     * Returns this stream's font style.
-     * 
-     * @return the font style used to decorate input in the associated console
-     */
-    public int getFontStyle() {
-        return fontStyle;
-    }
-
-    /**
-     * Sets this stream's font style.
-     * 
-     * @param newFontStyle the font style to be used to decorate input in the associated console
-     */
-    public void setFontStyle(int newFontStyle) {
-        if (newFontStyle != fontStyle) {
-            int old = fontStyle;
-            fontStyle = newFontStyle;
-            console.firePropertyChange(this, IConsoleConstants.P_FONT_STYLE, new Integer(old), new Integer(fontStyle));
-        }
-    }
-    
-    /**
-     * Sets the color to used to decorate input in the associated console.
-     * 
-     * @param newColor the color to used to decorate input in the associated console.
-     */
-    public void setColor(Color newColor) {
-        Color old = color;
-        if (old == null || !old.equals(newColor)) {
-            color = newColor;
-            console.firePropertyChange(this, IConsoleConstants.P_STREAM_COLOR, old, newColor);
-        }
-    }
-    
-    /**
-     * Returns the color used to decorate input in the associated console
-     * 
-     * @return the color used to decorate input in the associated console
-     */
-    public Color getColor() {
-        return color;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.io.InputStream#available()
-     */
-    public int available() throws IOException {
-        if (closed && eofSent) {
-            throw new IOException("Input Stream Closed"); //$NON-NLS-1$
-        } else if (size == 0) {
-            if (!eofSent) {
-                eofSent = true;
-                return -1;
-            } 
-            throw new IOException("Input Stream Closed"); //$NON-NLS-1$
-        }
-        
-        return size;
-    }
-    
-    /* (non-Javadoc)
-     * @see java.io.InputStream#close()
-     */
-    public synchronized void close() throws IOException {
-        if(closed) {
-            throw new IOException("Input Stream Closed"); //$NON-NLS-1$
-        }
-        closed = true;
-        notifyAll();
-        console.streamClosed(this);
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
deleted file mode 100644
index f886fb9..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.internal.console.IOConsolePartitioner;
-
-/**
- * OutputStream used to write to an IOConsole.
- * <p>
- * Clients are not intended to instantiate this class directly, instead
- * use <code>IOConsole.newOutputStream()</code>. Clients are not intended
- * to subclass this class.
- * </p>
- * <p>
- * Clients should avoid writing large amounts of output to this stream in the UI
- * thread. The console needs to process the output in the UI thread and if the client
- * hogs the UI thread writing output to the console, the console will not be able
- * to process the output.
- * </p>
- * @since 3.1
- */
-public class IOConsoleOutputStream extends OutputStream {
-    /**
-     * Flag indicating whether this stream has been closed.
-     */
-    private boolean closed = false;
-
-    /**
-     * The console's document partitioner.
-     */
-    private IOConsolePartitioner partitioner;
-    
-    /**
-     * The console this stream is attached to.
-     */
-    private IOConsole console;
-    
-    /**
-     * Flag indicating that the console should be activated when data
-     * is written to this stream.
-     */
-    private boolean activateOnWrite = false;
-    
-    /**
-     * The color used to decorate data written to this stream.
-     */
-    private Color color;
-    
-    /**
-     * The font style used to decorate data written to this stream.
-     */
-    private int fontStyle;
-
-    private String fEncoding;
-    private String fDefaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
-
-    private boolean fNeedsEncoding = false;
-
-    private boolean prependCR;
-    
-    /**
-     * Constructs a new output stream on the given console.
-     * 
-     * @param console I/O console
-     */
-    IOConsoleOutputStream(IOConsole console) {
-        this.console = console;
-        this.partitioner = (IOConsolePartitioner) console.getPartitioner();
-    }
-
-    /**
-     * Returns the font style used to decorate data written to this stream.
-     * 
-     * @return the font style used to decorate data written to this stream
-     */
-    public int getFontStyle() {
-        return fontStyle;
-    }
-    
-    /**
-     * Sets the font style to be used to decorate data written to this stream.
-     * 
-     * @param newFontStyle the font style to be used to decorate data written to this stream
-     */
-    public void setFontStyle(int newFontStyle) {
-        if (newFontStyle != fontStyle) {
-            int old = fontStyle;
-            fontStyle = newFontStyle;
-            console.firePropertyChange(this, IConsoleConstants.P_FONT_STYLE, new Integer(old), new Integer(fontStyle));
-        }
-    }
-    
-    /**
-     * Returns whether the console this stream is writing to will be activated when this stream
-     * is written to.
-     * 
-     * @return whether the console this stream is writing to will be activated when this stream
-     * is written to.
-     */
-    public boolean isActivateOnWrite() {
-        return activateOnWrite;
-    }
-
-    /**
-     * Sets whether to activate the console this stream is writing to when this stream
-     * is written to.
-     * 
-     * @param activateOnWrite whether the console this stream is writing to will be activated when this stream
-     * is written to.
-     */
-    public void setActivateOnWrite(boolean activateOnWrite) {
-        this.activateOnWrite = activateOnWrite;
-    }
-    
-	/**
-	 * Sets the color of this stream. Use <code>null</code> to indicate
-     * the default color.
-	 * 
-	 * @param newColor color of this stream, or <code>null</code>
-	 */
-	public void setColor(Color newColor) {
-		Color old = color;
-		if (old == null || !old.equals(newColor)) {
-		    color = newColor;
-		    console.firePropertyChange(this, IConsoleConstants.P_STREAM_COLOR, old, newColor);
-		}
-	}
-	
-	/**
-	 * Returns the color of this stream, or <code>null</code>
-	 * if default.
-	 * 
-	 * @return the color of this stream, or <code>null</code>
-	 */
-	public Color getColor() {
-	    return color;
-	}
-	
-    /**
-     * Returns true if the stream has been closed
-     * @return true is the stream has been closed, false otherwise.
-     */
-    public synchronized boolean isClosed() {
-        return closed;
-    }
-    
-	/*
-	 *  (non-Javadoc)
-	 * @see java.io.OutputStream#close()
-	 */
-    public synchronized void close() throws IOException {
-        if(closed) {
-            throw new IOException("Output Stream is closed"); //$NON-NLS-1$
-        }
-        if (prependCR) { // force writing of last /r
-            prependCR = false;
-            notifyParitioner("\r"); //$NON-NLS-1$
-        }
-        console.streamClosed(this);
-        closed = true;
-        partitioner = null;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see java.io.OutputStream#flush()
-     */
-    public void flush() throws IOException {
-        if(closed) {
-            throw new IOException("Output Stream is closed"); //$NON-NLS-1$
-        }
-    }
-    
-    /*
-     *  (non-Javadoc)
-     * @see java.io.OutputStream#write(byte[], int, int)
-     */
-    public void write(byte[] b, int off, int len) throws IOException {
-        if (fNeedsEncoding) {
-            encodedWrite(new String(b, off, len, fEncoding));
-        } else {
-            encodedWrite(new String(b, off, len));
-        }
-    }
-    /*
-     *  (non-Javadoc)
-     * @see java.io.OutputStream#write(byte[])
-     */
-    public void write(byte[] b) throws IOException {
-        write(b, 0, b.length);
-    }
-    /*
-     *  (non-Javadoc)
-     * @see java.io.OutputStream#write(int)
-     */
-    public void write(int b) throws IOException {
-        write(new byte[] {(byte)b}, 0, 1);
-    }    
-    
-    /**
-     * Writes a string to the attached console.
-     * 
-     * @param str the string to write to the attached console.
-     * @throws IOException if the stream is closed.
-     */
-    public synchronized void write(String str) throws IOException {
-        if (fNeedsEncoding) {
-	        byte[] defaultBytes = str.getBytes();
-	        str = new String(defaultBytes, fEncoding);
-        }
-        encodedWrite(str);
-    }
-    
-    private void encodedWrite(String encodedString) throws IOException {
-        if(closed) {
-            throw new IOException("Output Stream is closed"); //$NON-NLS-1$
-        }
-        if (prependCR){
-            encodedString="\r"+encodedString; //$NON-NLS-1$
-            prependCR=false;
-        }
-        if (encodedString.endsWith("\r")) { //$NON-NLS-1$
-            prependCR = true;
-            encodedString = new String(encodedString.substring(0, encodedString.length()-1));
-        }
-        notifyParitioner(encodedString);
-    }
-
-    private void notifyParitioner(String encodedString) throws IOException {
-        try {
-            partitioner.streamAppended(this, encodedString);
-
-            if (activateOnWrite) {
-            	console.activate();
-            } else {
-            	ConsolePlugin.getDefault().getConsoleManager().warnOfContentChange(console);
-            }
-        } catch (IOException e) {
-            if (!closed) {
-                close();
-            }
-            throw e;
-        }
-    }
-
-    /**
-     * Sets the character encoding used to interpret characters written to this steam. 
-     * 
-     * @param encoding encoding identifier
-     */
-    public void setEncoding(String encoding) {
-        fEncoding = encoding;
-        fNeedsEncoding = (fEncoding!=null) && (!fEncoding.equals(fDefaultEncoding));
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
deleted file mode 100644
index d3042ea..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A pattern match listener is registered with a <code>TextConsole</code>,
- * and is notified when its pattern has been matched to contents in
- * that console. A pattern match listener can be registered with a console
- * programmatically or via the <code>consolePatternMatchListeners</code> extension
- * point.
- * <p>
- * Following is an example console pattern match listener extension definition.
- * </pre>
- * &lt;extension point="org.eclipse.ui.console.consolePatternMatchListeners"&gt;
- *   &lt;consolePatternMatchListener
- *      id="com.example.ConsolePatternMatcher"
- *      regex=".*foo.*"
- *      class="com.example.ConsolePatternMatcher"&gt;
- *   &lt;/consolePatternMatchListener&gt;
- * &lt;/extension&gt;
- * </pre>
- * Attributes are specified as follows:
- * <ul>
- * <li><code>id</code> - a unique identifier for the pattern match listener</li>
- * <li><code>regex</code> - regular expression to match</li>
- * <li><code>class</code> - fully qualified name of the Java class implementing
- *  <code>org.eclipse.ui.console.IPatternMatchListenerDelegate</code></li>
- * </ul>
- * </p> 
- * <p>
- * Optionally a <code>qualifier</code> attribute may be specified to improve performance
- * of regular expression matching. A qualifier specifies a simple regular expression used to
- * qualify lines for the search. Lines that do not contain the qualifier are not considered.
- * </p>
- * <p>
- * Optionally an <code>enablement</code> expression may be provided to specify
- * which console(s) a pattern matcher should be contributed to.
- * </p>
- * <p>
- * Clients may implement this interface directly if registering a pattern match listener with
- * a text console programmatically. Clients contributing a pattern match listener via an
- * extension implement <code>IPatternMatchListenerDelegate</code> instead.
- * </p>
- * @see org.eclipse.ui.console.TextConsole
- * @since 3.1
- */
-public interface IPatternMatchListener extends IPatternMatchListenerDelegate {
-    /**
-     * Returns the pattern to be used for matching. The pattern is
-     * a string representing a regular expression. 
-     * 
-     * @return the regular expression to be used for matching
-     */
-    public String getPattern();
-    
-    /**
-     * Returns the flags to use when compiling this pattern match listener's
-     * regular expression, as defined by by <code>Pattern.compile(String regex, int flags)</code>
-     * 
-     * @return the flags to use when compiling this pattern match listener's
-     * regular expression
-     * @see java.util.regex.Pattern#compile(java.lang.String, int)
-     */
-    public int getCompilerFlags();
-    
-    /**
-     * Returns a simple regular expression used to identify lines that may
-     * match this pattern matcher's complete pattern, or <code>null</code>.
-     * Use of this attribute can improve performance by disqualifying lines
-     * from the search. When a line is found containing a match for this expression,
-     * the line is searched from the beginning for this pattern matcher's
-     * complete pattern. Lines not containing this pattern are discarded.
-     * 
-     * @return a simple regular expression used to identify lines that may
-     * match this pattern matcher's complete pattern, or <code>null</code>
-     */
-    public String getLineQualifier();
-    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
deleted file mode 100644
index a3e60dd..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A pattern match listener delegate is notified of regular expression matches
- * in a text console. A delegate is contributed via the
- * <code>consolePatternMatcherListeners</code> extension point.
- * <p>
- * Clients contributing a console pattern match listener extension are intended
- * to implement this interface.
- * </p>
- * @see org.eclipse.ui.console.IPatternMatchListener
- * @see org.eclipse.ui.console.TextConsole
- * @since 3.1
- */
-public interface IPatternMatchListenerDelegate {
-    /**
-     * Notification that pattern matching will begin in the specified console.
-     * A pattern matcher is connected to only one console at a time.
-     * 
-     * @param console the console in which pattern matching will be performed
-     */
-    public void connect(TextConsole console);
-    
-    /**
-     * Notification that pattern matching has been completed in the console
-     * this delegate was last connected to.
-     */
-    public void disconnect();
-    
-    /**
-     * Notification that a match has been found.
-     * 
-     * @param event event describing where the match was found
-     */
-    public void matchFound(PatternMatchEvent event);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
deleted file mode 100644
index a429e94..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.console.IOConsolePage;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console that displays messages. A message console may have one or
- * more streams connected to it (<code>MessageConsoleStream</code>).
- * Text written to streams is buffered and processed in a Job by the 
- * console's document partitioner.
- * <p>
- * Clients may instantiate this class; not intended to be subclassed.
- * </p>
- * @since 3.0
- */
-public class MessageConsole extends IOConsole {
-	
-	/**
-	 * Property constant indicating the font of this console has changed. 
-	 * 
-	 * @deprecated use {@link IConsoleConstants#P_FONT} 
-	 */
-	public static final String P_FONT = IConsoleConstants.P_FONT;
-	
-	/**
-	 * Property constant indicating the color of a stream has changed. 
-	 * 
-	 * @deprecated use {@link IConsoleConstants#P_STREAM_COLOR} 
-	 */
-	public static final String P_STREAM_COLOR = IConsoleConstants.P_STREAM_COLOR;
-	
-	/**
-	 * Property constant indicating tab size has changed
-	 * 
-	 * @deprecated use {@link IConsoleConstants#P_TAB_SIZE}
-	 */
-	public static final String P_TAB_SIZE = IConsoleConstants.P_TAB_SIZE;
-	
-	/**
-	 * The default tab size
-	 * 
-	 * @deprecated use {@link IConsoleConstants#DEFAULT_TAB_SIZE}
-	 */
-	public static final int DEFAULT_TAB_SIZE = IConsoleConstants.DEFAULT_TAB_SIZE;	
-
-    /**
-     * Constructs a message console with the given name and image.
-     * 
-     * @param name console name
-     * @param imageDescriptor console image descriptor or <code>null</code>
-     */
-	public MessageConsole(String name, ImageDescriptor imageDescriptor) {
-		this(name, imageDescriptor, true);
-	}
-	
-	/**
-	 * Constructs a message console.
-	 * 
-	 * @param name console name
-	 * @param imageDescriptor console image descriptor or <code>null</code>
-	 * @param autoLifecycle whether lifecycle methods should be called automatically
-	 *  when added and removed from the console manager
-	 * @since 3.1
-	 */
-	public MessageConsole(String name, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
-		super(name, IConsoleConstants.MESSAGE_CONSOLE_TYPE, imageDescriptor, autoLifecycle);
-	}	
-		
-	/**
-	 * Returns a new message stream connected to this console.
-	 * <p>
-     * Clients should avoid writing large amounts of output to this stream in the UI
-     * thread. The console needs to process the output in the UI thread and if the client
-     * hogs the UI thread writing output to the console, the console will not be able
-     * to process the output.
-     * </p>
-	 * @return a new message stream connected to this console
-	 */
-	public MessageConsoleStream newMessageStream() {
-		return new MessageConsoleStream(this);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-     */
-    public IPageBookViewPage createPage(IConsoleView view) {
-        IOConsolePage page = (IOConsolePage) super.createPage(view);
-        page.setReadOnly();
-        return page;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IOConsole#getInputStream()
-     */
-    public IOConsoleInputStream getInputStream() {
-        throw new UnsupportedOperationException("Message Console does not support user input"); //$NON-NLS-1$
-    }
-    
-	
-	/** 
-	 * Appends the given message to this console, from the specified stream.
-	 * 
-	 * @param text message
-	 * @param stream stream the message belongs to
-	 * @deprecated since 3.1, this method should no longer be called, and has no effect.
-	 * Writing to a message console stream updates the document
-	 */
-	protected void appendToDocument(String text, MessageConsoleStream stream) {
-	}    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
deleted file mode 100644
index 97ef02b..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-
-/**
- * Used to write messages to a message console. A message console may have more
- * than one stream connected to it. Each stream may be displayed in a different
- * color.
- * <p>
- * Clients are not intended to subclass or instantiate this class. Instances
- * are created via a {@link org.eclipse.ui.console.MessageConsole}.
- * </p>
- * <p>
- * Clients should avoid writing large amounts of output to this stream in the UI
- * thread. The console needs to process the output in the UI thread and if the client
- * hogs the UI thread writing output to the console, the console will not be able
- * to process the output.
- * </p>
- * <p>
- * Since 3.1, this class extends {@link org.eclipse.ui.console.IOConsoleOutputStream}.
- * </p>
- * @since 3.0
- */
-public class MessageConsoleStream extends IOConsoleOutputStream {
-    
-    private MessageConsole fMessageConsole;
-    
-	/**
-	 * Constructs a new stream connected to the given console.
-	 * 
-	 * @param console the console to write messages to
-	 */
-	public MessageConsoleStream(MessageConsole console) {
-	    super(console);
-        fMessageConsole = console;
-	}
-	
-	/**
-	 * Appends the specified message to this stream.
-	 * 
-	 * @param message message to append
-	 */
-	public void print(String message) {
-		try {
-            write(message);
-        } catch (IOException e) {
-            ConsolePlugin.log(e);
-        }
-	}
-	
-	
-	/**
-	 * Appends a line separator string to this stream.
-	 */
-	public void println() {
-		try {
-            write("\n"); //$NON-NLS-1$
-        } catch (IOException e) {
-            ConsolePlugin.log(e);
-        }
-	}	
-	
-	/**
-	 * Appends the specified message to this stream, followed by a line
-	 * separator string.
-	 * 
-	 * @param message message to print
-	 */
-	public void println(String message) {
-		print(message + "\n"); //$NON-NLS-1$
-	}	
-    
-    /**
-     * Returns the console this stream is connected to.
-     * 
-     * @return the console this stream is connected to
-     */
-    public MessageConsole getConsole() {
-        return fMessageConsole;
-    }    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
deleted file mode 100644
index 50693c4..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.util.EventObject;
-
-/**
- * An event describing a pattern match in a text console. The source of the event
- * is a <code>TextConsole</code>.
- * <p>
- * Clients may instantiate this class; not intended to be subclassed.
- * </p>
- * @see org.eclipse.ui.console.IPatternMatchListener
- * @see org.eclipse.ui.console.TextConsole
- * @since 3.1
- */
-public class PatternMatchEvent extends EventObject {
-    /*
-     * required by EventObject for ObjectSerialization.
-     */
-    private static final long serialVersionUID = 876890383326854537L;
-    
-    /**
-     * The offset of the match within the console's document. 
-     */
-    private int offset;
-    
-    /**
-     * The length of the matched string
-     */
-    private int length;
-
-    /**
-     * Constructs a new pattern match event.
-     * 
-     * @param console the console in which the match was found
-     * @param matchOffset the offset at which the match was found
-     * @param matchLength the length of the text that matched
-     */
-    public PatternMatchEvent(TextConsole console, int matchOffset, int matchLength) {
-        super(console);
-        offset = matchOffset;
-        length = matchLength;
-    }
-
-    /**
-     * Returns the length of the matched string.
-     * 
-     * @return the length of the matched string
-     */
-    public int getLength() {
-        return length;
-    }
-
-    /**
-     * Returns the offset of the match within the document.
-     * 
-     * @return the offset of the match within the document
-     */
-    public int getOffset() {
-        return offset;
-    }
-    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
deleted file mode 100644
index 81561f9..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
+++ /dev/null
@@ -1,554 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.ui.internal.console.ConsoleDocument;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-import org.eclipse.ui.internal.console.ConsolePatternMatcher;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * An abstract text console that supports regular expression matching and
- * hyperlinks.
- * <p>
- * Pattern match listeners can be registered with a console programmatically
- * or via the <code>org.eclipse.ui.console.consolePatternMatchListeners</code>
- * extension point.
- * </p>
- * <p>
- * Clients may subclass this class. Subclasses must provide a document partitioner.
- * </p>
- * @since 3.1
- */
-public abstract class TextConsole extends AbstractConsole {
-
-    /**
-     * The current width of the console. Used for fixed width consoles.
-     * A value of <=0 means does not have a fixed width.
-     */
-    private int fConsoleWidth;
-    /**
-     * The current tab width
-     */
-    private int fTabWidth;
-    /** 
-	 * The font used by this console
-	 */
-    private Font fFont;    
-    
-    /**
-     * The background color used by this console or <code>null</code> if default
-     */
-    private Color fBackground;
-    
-    /**
-     * The Console's regular expression pattern matcher
-     */
-    private ConsolePatternMatcher fPatternMatcher;
-    
-    /**
-     * The Console's document
-     */
-    private ConsoleDocument fDocument;
-    
-   /**
-    * indication that the console's partitioner is not expecting more input
-    */
-    private boolean fPartitionerFinished = false;
-    
-    /**
-     * Indication that the console's pattern matcher has finished.
-     * (all matches have been found and all listeners notified)
-     */
-    private boolean fMatcherFinished = false;
-    
-    /**
-     * indication that the console output complete property has been fired
-     */
-    private boolean fCompleteFired = false;
-
-    
-    /**
-     * Map of client defined attributes
-     */
-    private HashMap fAttributes = new HashMap();
-    
-    private IConsoleManager fConsoleManager = ConsolePlugin.getDefault().getConsoleManager();
-    
-   
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.AbstractConsole#dispose()
-     */
-    protected void dispose() {
-        super.dispose();
-        fFont = null;
-		synchronized(fAttributes) {
-		    fAttributes.clear();
-		}
-    }
-    /**
-     * Constructs a console with the given name, image descriptor, and lifecycle
-     * 
-     * @param name name to display for this console
-     * @param consoleType console type identifier or <code>null</code>
-     * @param imageDescriptor image to display for this console or <code>null</code>
-     * @param autoLifecycle whether lifecycle methods should be called automatically
-     *  when this console is added/removed from the console manager
-     */
-    public TextConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
-        super(name, consoleType, imageDescriptor, autoLifecycle);
-        fDocument = new ConsoleDocument();
-        fDocument.addPositionCategory(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-        fPatternMatcher = new ConsolePatternMatcher(this);
-        fDocument.addDocumentListener(fPatternMatcher);
-        fTabWidth = IConsoleConstants.DEFAULT_TAB_SIZE;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-     */
-    public IPageBookViewPage createPage(IConsoleView view) {
-        return new TextConsolePage(this, view);
-    }
-    
-	/**
-	 * Returns this console's document.
-     * <p>
-     * Note that a console may or may not support direct manipulation of its document.
-     * For example, an I/O console document and its partitions are produced from the
-     * streams connected to it, and clients are not intended to modify the document's
-     * contents.
-     * </p>
-	 * 
-	 * @return this console's document
-	 */
-    public IDocument getDocument() {
-        return fDocument;
-    }
-    
-    /**
-     * Returns the current width of this console. A value of zero of less 
-     * indicates this console has no fixed width.
-     * 
-     * @return the current width of this console
-     */
-    public int getConsoleWidth() {
-        return fConsoleWidth;
-    }
-    
-    /**
-     * Sets the width of this console in characters. Any value greater than zero
-     * will cause this console to have a fixed width.
-     * 
-     * @param width the width to make this console. Values of 0 or less imply
-     * the console does not have any fixed width.
-     */
-    public void setConsoleWidth(int width) {
-        if (fConsoleWidth != width) {
-            int old = fConsoleWidth;
-            fConsoleWidth = width;
-            
-            firePropertyChange(this, IConsoleConstants.P_CONSOLE_WIDTH, new Integer(old), new Integer(fConsoleWidth));
-        }
-    }
-
-	/**
-	 * Sets the tab width used in this console.
-	 * 
-	 * @param newTabWidth the tab width 
-	 */
-    public void setTabWidth(final int newTabWidth) {
-        if (fTabWidth != newTabWidth) {
-            final int oldTabWidth = fTabWidth;
-            fTabWidth = newTabWidth;
-            ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    firePropertyChange(TextConsole.this, IConsoleConstants.P_TAB_SIZE, new Integer(oldTabWidth), new Integer(fTabWidth));           
-                }
-            });
-        }
-    }
-    
-	/**
-	 * Returns the tab width used in this console.
-	 * 
-	 * @return tab width used in this console
-	 */
-    public int getTabWidth() {
-        return fTabWidth;
-    }
-    
-    /**
-	 * Returns the font used by this console. Must be called in the UI thread.
-	 * 
-	 * @return font used by this console
-	 */
-    public Font getFont() {
-        if (fFont == null) {
-            fFont = getDefaultFont();
-        }
-        return fFont;
-    }
-    
-    /**
-     * Returns the default text font.
-     * 
-     * @return the default text font
-     */
-    private Font getDefaultFont() {
-        return JFaceResources.getFont(JFaceResources.TEXT_FONT);
-    }
-    
-	/**
-	 * Sets the font used by this console. Specify <code>null</code> to use
-	 * the default text font.
-	 * 
-	 * @param newFont font, or <code>null</code> to indicate the default font
-	 */
-    public void setFont(Font newFont) {
-        // ensure font is initialized
-        getFont();
-        // translate null to default font
-        if (newFont == null) {
-            newFont = getDefaultFont();
-        }
-        // fire property change if required
-        if (!fFont.equals(newFont)) {
-            Font old = fFont;
-            fFont = newFont;
-            firePropertyChange(this, IConsoleConstants.P_FONT, old, fFont);
-        }
-    }
-	
-	/**
-	 * Sets the background color used by this console. Specify <code>null</code> to use
-	 * the default background color.
-	 * 
-	 * @param background background color or <code>null</code> for default
-	 * @since 3.3
-	 * @deprecated use setBackground(Color) instead
-	 */
-    public void setBackgrond(Color background) {
-    	setBackground(background);
-    }  
-    
-	/**
-	 * Sets the background color used by this console. Specify <code>null</code> to use
-	 * the default background color.
-	 * 
-	 * @param background background color or <code>null</code> for default
-	 * @since 3.3
-	 */
-    public void setBackground(Color background) {
-    	if (fBackground == null) {
-    		if (background == null) {
-    			return;
-    		}
-    	} else if (fBackground.equals(background)){
-    		return;
-    	}
-        Color old = fBackground;
-        fBackground = background;
-        firePropertyChange(this, IConsoleConstants.P_BACKGROUND_COLOR, old, fBackground);
-    }    
-    
-    /**
-     * Returns the background color to use for this console or <code>null</code> for the 
-     * default background color.
-     * 
-     * @return background color or <code>null</code> for default
-     * @since 3.3
-     */
-    public Color getBackground() {
-    	return fBackground;
-    }
-    
-    /**
-     * Clears the console.
-     * <p>
-     * Since a console may or may not support direct manipulation
-     * of its document's contents, this method should be called to clear a text console's
-     * document. The default implementation sets this console's document content
-     * to the empty string directly. Subclasses should override as required.
-     * </p>
-     */
-    public void clearConsole() {
-        IDocument document = getDocument();
-        if (document != null) {
-            document.set(""); //$NON-NLS-1$
-        }
-    }
-
-    /**
-     * Returns the console's document partitioner.
-     * @return The console's document partitioner
-     */
-    protected abstract IConsoleDocumentPartitioner getPartitioner();
-    
-    /**
-     * Returns all hyperlinks in this console.
-     * 
-     * @return all hyperlinks in this console
-     */
-    public IHyperlink[] getHyperlinks() {
-        try {
-            Position[] positions = getDocument().getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-            IHyperlink[] hyperlinks = new IHyperlink[positions.length];
-            for (int i = 0; i < positions.length; i++) {
-                ConsoleHyperlinkPosition position = (ConsoleHyperlinkPosition) positions[i];
-                hyperlinks[i] = position.getHyperLink();
-            }
-            return hyperlinks;
-        } catch (BadPositionCategoryException e) {
-            return new IHyperlink[0];
-        }
-    }
-    
-    /**
-     * Returns the hyperlink at the given offset of <code>null</code> if none.
-     * 
-     * @param offset offset for which a hyperlink is requested
-     * @return the hyperlink at the given offset of <code>null</code> if none
-     */
-    public IHyperlink getHyperlink(int offset) {
-        try {
-        	IDocument document = getDocument();
-        	if (document != null) {
-	            Position[] positions = document.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-	            Position position = findPosition(offset, positions);
-	            if (position instanceof ConsoleHyperlinkPosition) {
-	                return ((ConsoleHyperlinkPosition) position).getHyperLink();
-	            }
-        	}
-        } catch (BadPositionCategoryException e) {
-        }        
-        return null;
-    }
-
-	/**
-	 * Binary search for the position at a given offset.
-	 *
-	 * @param offset the offset whose position should be found
-	 * @return the position containing the offset, or <code>null</code>
-	 */
-	private Position findPosition(int offset, Position[] positions) {
-		
-		if (positions.length == 0)
-			return null;
-			
-		int left= 0;
-		int right= positions.length -1;
-		int mid= 0;
-		Position position= null;
-		
-		while (left < right) {
-			
-			mid= (left + right) / 2;
-				
-			position= positions[mid];
-			if (offset < position.getOffset()) {
-				if (left == mid)
-					right= left;
-				else
-					right= mid -1;
-			} else if (offset > (position.getOffset() + position.getLength() - 1)) {
-				if (right == mid)
-					left= right;
-				else
-					left= mid  +1;
-			} else {
-				left= right= mid;
-			}
-		}
-		
-		position= positions[left];
-		if (offset >= position.getOffset() && (offset < (position.getOffset() + position.getLength()))) {
-			return position;
-		}
-		return null;
-	}
-
-    /**
-     * Adds the given pattern match listener to this console. The listener will
-     * be connected and receive match notifications. Has no effect if an identical
-     * listener has already been added.
-     * 
-     * @param listener the listener to add
-     */
-    public void addPatternMatchListener(IPatternMatchListener listener) {
-        fPatternMatcher.addPatternMatchListener(listener);
-    }
-    
-    /**
-     * Removes the given pattern match listener from this console. The listener will be
-     * disconnected and will no longer receive match notifications. Has no effect
-     * if the listener was not previously added.
-     * 
-     * @param listener the pattern match listener to remove
-     */
-    public void removePatternMatchListener(IPatternMatchListener listener) {
-        fPatternMatcher.removePatternMatchListener(listener);
-    }    
-    
-    
-    /**
-     * Job scheduling rule that prevent the job from running if the console's PatternMatcher
-     * is active.
-     */
-    private class MatcherSchedulingRule implements ISchedulingRule {
-        public boolean contains(ISchedulingRule rule) {
-            return rule == this;
-        }
-
-        public boolean isConflicting(ISchedulingRule rule) {
-            if (contains(rule)) {
-                return true;
-            }
-            if (rule != this && rule instanceof MatcherSchedulingRule) {
-                return (((MatcherSchedulingRule)rule).getConsole() == TextConsole.this);   
-            }
-            return false;
-        }
-        
-        public TextConsole getConsole() {
-            return TextConsole.this;
-        }
-    }
-    
-    /**
-     * Returns a scheduling rule which can be used to prevent jobs from running
-     * while this console's pattern matcher is active.
-     * <p>
-     * Although this scheduling rule prevents jobs from running at the same time as
-     * pattern matching jobs for this console, it does not enforce any ordering of jobs.
-     * Since 3.2, pattern matching jobs belong to the job family identified by the console
-     * object that matching is occurring on. To ensure a job runs after all scheduled pattern
-     * matching is complete, clients must join on this console's job family.
-     * </p>
-     * @return a scheduling rule which can be used to prevent jobs from running
-     * while this console's pattern matcher is active
-     */
-    public ISchedulingRule getSchedulingRule() {
-        return new MatcherSchedulingRule();
-    }
-    
-    /**
-     * This console's partitioner should call this method when it is not expecting any new data
-     * to be appended to the document. 
-     */
-    public void partitionerFinished() {
-        fPatternMatcher.forceFinalMatching();
-        fPartitionerFinished  = true;
-        checkFinished();
-    }
-    
-    /**
-     * Called by this console's pattern matcher when matching is complete.
-     * <p>
-     * Clients should not call this method.
-     * <p>
-     */
-    public void matcherFinished() {
-        fMatcherFinished = true;
-        fDocument.removeDocumentListener(fPatternMatcher);
-        checkFinished();
-    }
-    
-    /**
-     * Fires the console output complete property change event.
-     */
-    private synchronized void checkFinished() {
-        if (!fCompleteFired && fPartitionerFinished && fMatcherFinished ) {
-            fCompleteFired = true;
-            firePropertyChange(this, IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE, null, null);
-        }
-    }
-    
-    /**
-     * Adds a hyperlink to this console.
-     * 
-     * @param hyperlink the hyperlink to add
-     * @param offset the offset in the console document at which the hyperlink should be added
-     * @param length the length of the text which should be hyperlinked
-     * @throws BadLocationException if the specified location is not valid.
-     */
-    public void addHyperlink(IHyperlink hyperlink, int offset, int length) throws BadLocationException {
-        IDocument document = getDocument();
-		ConsoleHyperlinkPosition hyperlinkPosition = new ConsoleHyperlinkPosition(hyperlink, offset, length); 
-		try {
-			document.addPosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, hyperlinkPosition);
-            fConsoleManager.refresh(this);
-		} catch (BadPositionCategoryException e) {
-			ConsolePlugin.log(e);
-		} 
-    }
-    
-    /**
-     * Returns the region associated with the given hyperlink.
-     * 
-     * @param link hyperlink
-     * @return the region associated with the hyperlink or null if the hyperlink is not found.
-     */
-    public IRegion getRegion(IHyperlink link) {
-		try {
-		    IDocument doc = getDocument();
-		    if (doc != null) {
-				Position[] positions = doc.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-				for (int i = 0; i < positions.length; i++) {
-					ConsoleHyperlinkPosition position = (ConsoleHyperlinkPosition)positions[i];
-					if (position.getHyperLink().equals(link)) {
-						return new Region(position.getOffset(), position.getLength());
-					}
-				}
-		    }
-		} catch (BadPositionCategoryException e) {
-		}
-		return null;
-    }
-    
-    /**
-     * Returns the attribute associated with the specified key.
-     * 
-     * @param key attribute key
-     * @return the attribute associated with the specified key
-     */
-    public Object getAttribute(String key) {
-        synchronized (fAttributes) {
-            return fAttributes.get(key);
-        }
-    }
-    
-    /**
-     * Sets an attribute value. Intended for client data.
-     * 
-     * @param key attribute key
-     * @param value attribute value
-     */
-    public void setAttribute(String key, Object value) {
-        synchronized(fAttributes) {
-            fAttributes.put(key, value);
-        }
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
deleted file mode 100644
index 349572f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextListener;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.TextEvent;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.actions.ClearOutputAction;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsoleResourceBundleMessages;
-import org.eclipse.ui.internal.console.FollowHyperlinkAction;
-import org.eclipse.ui.internal.console.IConsoleHelpContextIds;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.IUpdate;
-import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
-
-/**
- * A page for a text console.
- * <p>
- * Clients may contribute actions to the context menu of a text console page
- * using the <code>org.eclipse.ui.popupMenus</code> extension point. The context
- * menu identifier for a text console page is the associated console's type
- * suffixed with <code>.#ContextMenu</code>. When a console does not specify 
- * a type, the context menu id is <code>#ContextMenu</code>.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public class TextConsolePage implements IPageBookViewPage, IPropertyChangeListener, IAdaptable {
-    private IPageSite fSite;
-    private TextConsole fConsole;
-    private IConsoleView fConsoleView;
-    private TextConsoleViewer fViewer;
-    private MenuManager fMenuManager;
-    protected Map fGlobalActions = new HashMap();
-    protected ArrayList fSelectionActions = new ArrayList();
-    protected ClearOutputAction fClearOutputAction;
-    
-	// text selection listener, used to update selection dependent actions on selection changes
-	private ISelectionChangedListener selectionChangedListener =  new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			updateSelectionDependentActions();
-		}
-	};
-    
-	// updates the find replace action if the document length is > 0
-	private ITextListener textListener = new ITextListener() {
-	    public void textChanged(TextEvent event) {
-			IUpdate findReplace = (IUpdate)fGlobalActions.get(ActionFactory.FIND.getId());
-			if (findReplace != null) {
-				findReplace.update();
-			}
-		}
-	};
-	
-    /**
-     * Constructs a text console page for the given console in the given view.
-     * 
-     * @param console text console
-     * @param view console view the page is contained in
-     */
-	public TextConsolePage(TextConsole console, IConsoleView view) {
-	    fConsole = console;
-	    fConsoleView = view;
-	}
-	
-    /**
-     * Returns a viewer used to display the contents of this page's console.
-     * 
-     * @param parent container for the viewer
-     * @return a viewer used to display the contents of this page's console
-     */
-	protected TextConsoleViewer createViewer(Composite parent) {
-	    return new TextConsoleViewer(parent, fConsole);
-	}
-    
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPageBookViewPage#getSite()
-     */
-    public IPageSite getSite() {
-        return fSite;
-    }
-    	
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
-     */
-    public void init(IPageSite pageSite) throws PartInitException {
-        fSite = pageSite;
-    }
-
-    /**
-     * Updates selection dependent actions.
-     */
-    protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createControl(Composite parent) {
-        fViewer = createViewer(parent);
-		fViewer.setConsoleWidth(fConsole.getConsoleWidth());
-		fViewer.setTabWidth(fConsole.getTabWidth());
-		fConsole.addPropertyChangeListener(this);
-		JFaceResources.getFontRegistry().addListener(this);
-		
-		String id = "#ContextMenu"; //$NON-NLS-1$
-		if (getConsole().getType() != null) {
-		    id = getConsole().getType() + "." + id; //$NON-NLS-1$
-		}
-		fMenuManager= new MenuManager("#ContextMenu", id);  //$NON-NLS-1$
-		fMenuManager.setRemoveAllWhenShown(true);
-		fMenuManager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager m) {
-				contextMenuAboutToShow(m);
-			}
-		});
-		Menu menu = fMenuManager.createContextMenu(getControl());
-		getControl().setMenu(menu);
-		
-		createActions();
-		configureToolBar(getSite().getActionBars().getToolBarManager());
-		
-		getSite().registerContextMenu(id, fMenuManager, fViewer); 
-		getSite().setSelectionProvider(fViewer);
-		
-		fViewer.getSelectionProvider().addSelectionChangedListener(selectionChangedListener);
-		fViewer.addTextListener(textListener);
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPage#dispose()
-     */
-    public void dispose() {
-        fConsole.removePropertyChangeListener(this);
-        JFaceResources.getFontRegistry().removeListener(this);
-        
-        if (fMenuManager != null) {
-            fMenuManager.dispose();
-        }
-        fClearOutputAction = null;
-        fSelectionActions.clear();
-        fGlobalActions.clear();
-        
-        fViewer.getSelectionProvider().removeSelectionChangedListener(selectionChangedListener);
-        fViewer.removeTextListener(textListener);
-        fViewer = null;
-    }
-
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.ui.part.IPage#getControl()
-     */
-    public Control getControl() {
-        return fViewer != null ? fViewer.getControl() : null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
-     */
-    public void setActionBars(IActionBars actionBars) {
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.IPage#setFocus()
-     */
-    public void setFocus() {
-        if (fViewer != null) {
-            fViewer.getTextWidget().setFocus();
-        }
-    }
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-    public void propertyChange(PropertyChangeEvent event) {
-        if (fViewer != null) {
-			Object source = event.getSource();
-			String property = event.getProperty();
-			
-			if (source.equals(fConsole) && IConsoleConstants.P_FONT.equals(property)) {
-				fViewer.setFont(fConsole.getFont());	
-			} else if (IConsoleConstants.P_FONT_STYLE.equals(property)) {
-			    fViewer.getTextWidget().redraw();
-			} else if (property.equals(IConsoleConstants.P_STREAM_COLOR)) {
-			    fViewer.getTextWidget().redraw();
-			} else if (source.equals(fConsole) && property.equals(IConsoleConstants.P_TAB_SIZE)) {
-			    Integer tabSize = (Integer)event.getNewValue();
-			    fViewer.setTabWidth(tabSize.intValue());
-			} else if (source.equals(fConsole) && property.equals(IConsoleConstants.P_CONSOLE_WIDTH)) {
-			    fViewer.setConsoleWidth(fConsole.getConsoleWidth()); 
-			} else if (IConsoleConstants.P_BACKGROUND_COLOR.equals(property)) {
-				fViewer.getTextWidget().setBackground(fConsole.getBackground());
-			}
-        }
-	}
-
-    /**
-     * Creates actions.
-     */
-    protected void createActions() {
-        IActionBars actionBars= getSite().getActionBars();
-        TextViewerAction action= new TextViewerAction(fViewer, ITextOperationTarget.SELECT_ALL);
-		action.configureAction(ConsoleMessages.TextConsolePage_SelectAllText, ConsoleMessages.TextConsolePage_SelectAllDescrip, ConsoleMessages.TextConsolePage_SelectAllDescrip);
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.SELECT_ALL);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(action, IConsoleHelpContextIds.CONSOLE_SELECT_ALL_ACTION);
-		setGlobalAction(actionBars, ActionFactory.SELECT_ALL.getId(), action);
-		
-		action= new TextViewerAction(fViewer, ITextOperationTarget.CUT);
-		action.configureAction(ConsoleMessages.TextConsolePage_CutText, ConsoleMessages.TextConsolePage_CutDescrip, ConsoleMessages.TextConsolePage_CutDescrip);  
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.CUT);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(action, IConsoleHelpContextIds.CONSOLE_CUT_ACTION);
-		setGlobalAction(actionBars, ActionFactory.CUT.getId(), action);
-		
-		action= new TextViewerAction(fViewer, ITextOperationTarget.COPY);
-		action.configureAction(ConsoleMessages.TextConsolePage_CopyText, ConsoleMessages.TextConsolePage_CopyDescrip, ConsoleMessages.TextConsolePage_CopyDescrip);
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.COPY);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(action, IConsoleHelpContextIds.CONSOLE_COPY_ACTION);
-		setGlobalAction(actionBars, ActionFactory.COPY.getId(), action);
-		
-		action= new TextViewerAction(fViewer, ITextOperationTarget.PASTE);
-		action.configureAction(ConsoleMessages.TextConsolePage_PasteText, ConsoleMessages.TextConsolePage_PasteDescrip, ConsoleMessages.TextConsolePage_PasteDescrip); 
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		action.setActionDefinitionId(IWorkbenchActionDefinitionIds.PASTE);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(action, IConsoleHelpContextIds.CONSOLE_PASTE_ACTION);
-		setGlobalAction(actionBars, ActionFactory.PASTE.getId(), action);
-		
-		fClearOutputAction = new ClearOutputAction(fConsole);
-        
-        ResourceBundle bundle = ConsoleResourceBundleMessages.getBundle();
-        FindReplaceAction fraction = new FindReplaceAction(bundle, "find_replace_action_", fConsoleView); //$NON-NLS-1$
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(fraction, IConsoleHelpContextIds.CONSOLE_FIND_REPLACE_ACTION);
-		setGlobalAction(actionBars, ActionFactory.FIND.getId(), fraction);
-
-		fSelectionActions.add(ActionFactory.CUT.getId());
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.PASTE.getId());
-		fSelectionActions.add(ActionFactory.FIND.getId());
-		
-		actionBars.updateActionBars();
-    }
-    
-    /**
-     * Configures an action for key bindings.
-     * 
-     * @param actionBars action bars for this page
-     * @param actionID action definition id
-     * @param action associated action
-     */
-    protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-        fGlobalActions.put(actionID, action);  
-        actionBars.setGlobalActionHandler(actionID, action);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-     */
-    public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return fViewer.getFindReplaceTarget();
-		}
-		if (Widget.class.equals(required)) {
-			return fViewer.getTextWidget();
-		}
-		return null;
-    }
-    
-    /**
-	 * Returns the view this page is contained in.
-	 * 
-	 * @return the view this page is contained in
-	 */
-	protected IConsoleView getConsoleView() {
-		return fConsoleView;
-	}
-	
-	/**
-	 * Returns the console this page is displaying.
-	 * 
-	 * @return the console this page is displaying
-	 */
-	protected IConsole getConsole() {
-		return fConsole;
-	}
-	
-    /**
-     * Updates the global action with the given id
-     * 
-     * @param actionId action definition id
-     */
-	protected void updateAction(String actionId) {
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}	
-
-    
-	/**
-	 * Fill the context menu
-	 * 
-	 * @param menuManager menu
-	 */
-	protected void contextMenuAboutToShow(IMenuManager menuManager) {
-		IDocument doc= fViewer.getDocument();
-		if (doc == null) {
-			return;
-		}
-
-		menuManager.add((IAction)fGlobalActions.get(ActionFactory.CUT.getId()));
-		menuManager.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
-		menuManager.add((IAction)fGlobalActions.get(ActionFactory.PASTE.getId()));
-		menuManager.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));
-		
-		menuManager.add(new Separator("FIND")); //$NON-NLS-1$
-		menuManager.add((IAction)fGlobalActions.get(ActionFactory.FIND.getId()));
-		menuManager.add(new FollowHyperlinkAction(fViewer));
-		menuManager.add(fClearOutputAction);
-		
-		menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fClearOutputAction);
-	}
-
-
-    /**
-     * Returns the viewer contained in this page.
-     * 
-     * @return the viewer contained in this page
-     */
-    public TextConsoleViewer getViewer() {
-        return fViewer;
-    }
-    
-    /**
-     * Sets the viewer contained in this page.
-     * 
-     * @param viewer text viewer
-     */
-    public void setViewer(TextConsoleViewer viewer) {
-        this.fViewer = viewer;
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
deleted file mode 100644
index c656202..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
+++ /dev/null
@@ -1,693 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.resource.ColorRegistry;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IPositionUpdater;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.LineBackgroundEvent;
-import org.eclipse.swt.custom.LineBackgroundListener;
-import org.eclipse.swt.custom.LineStyleEvent;
-import org.eclipse.swt.custom.LineStyleListener;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.internal.console.ConsoleDocumentAdapter;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Default viewer used to display a <code>TextConsole</code>.
- * <p>
- * Clients may subclass this class.
- * </p>
- * 
- * @since 3.1
- */
-public class TextConsoleViewer extends SourceViewer implements LineStyleListener, LineBackgroundListener, MouseTrackListener, MouseMoveListener, MouseListener {
-    /**
-     * Adapts document to the text widget.
-     */
-    private ConsoleDocumentAdapter documentAdapter;
-
-    private IHyperlink hyperlink;
-
-    private Cursor handCursor;
-
-    private Cursor textCursor;
-
-    private int consoleWidth = -1;
-
-    private TextConsole console;
-
-    private IPropertyChangeListener propertyChangeListener;
-
-    private IDocumentListener documentListener = new IDocumentListener() {
-        public void documentAboutToBeChanged(DocumentEvent event) {
-        }
-
-        public void documentChanged(DocumentEvent event) {
-            updateLinks(event.fOffset);
-        }
-    };
-    // event listener used to send event to hyperlink for IHyperlink2
-    private Listener mouseUpListener = new Listener() {
-		public void handleEvent(Event event) {
-	        if (hyperlink != null) {
-	            String selection = getTextWidget().getSelectionText();
-	            if (selection.length() <= 0) {
-	                if (event.button == 1) {
-	                	if (hyperlink instanceof IHyperlink2) {
-							((IHyperlink2) hyperlink).linkActivated(event);
-						} else {
-							hyperlink.linkActivated();
-						}
-	                }
-	            }
-	        }
-		}
-	};
-
-    WorkbenchJob revealJob = new WorkbenchJob("Reveal End of Document") {//$NON-NLS-1$
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            StyledText textWidget = getTextWidget();
-            if (textWidget != null && !textWidget.isDisposed()) {
-                int lineCount = textWidget.getLineCount();
-                textWidget.setTopIndex(lineCount - 1);
-            }
-            return Status.OK_STATUS;
-        }
-    };
-    
-    private IPositionUpdater positionUpdater = new IPositionUpdater() {
-        public void update(DocumentEvent event) {
-            try {
-                IDocument document = getDocument();
-                if (document != null) {
-                    Position[] positions = document.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-                    for (int i = 0; i < positions.length; i++) {
-                        Position position = positions[i];
-                        if (position.offset == event.fOffset && position.length<=event.fLength) {
-                            position.delete();
-                        }
-                        if (position.isDeleted) {
-                            document.removePosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, position);
-                        }
-                    }
-                }
-            } catch (BadPositionCategoryException e) {
-            }
-        }
-    };
-
-    /**
-     * Constructs a new viewer in the given parent for the specified console.
-     * 
-     * @param parent
-     *            containing widget
-     * @param console
-     *            text console
-     */
-    public TextConsoleViewer(Composite parent, TextConsole console) {
-        super(parent, null, SWT.V_SCROLL | SWT.H_SCROLL);
-        this.console = console;
-
-        IDocument document = console.getDocument();
-        setDocument(document);
-
-        StyledText styledText = getTextWidget();
-        styledText.setDoubleClickEnabled(true);
-        styledText.addLineStyleListener(this);
-        styledText.addLineBackgroundListener(this);
-        styledText.setEditable(true);
-        setFont(console.getFont());
-        styledText.addMouseTrackListener(this);
-        styledText.addListener(SWT.MouseUp, mouseUpListener);
-
-        ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
-        propertyChangeListener = new HyperlinkColorChangeListener();
-        colorRegistry.addListener(propertyChangeListener);
-
-        revealJob.setSystem(true);
-        document.addDocumentListener(documentListener);
-        document.addPositionUpdater(positionUpdater);
-    }
-
-    /**
-     * Sets the tab width used by this viewer.
-     * 
-     * @param tabWidth
-     *            the tab width used by this viewer
-     */
-    public void setTabWidth(int tabWidth) {
-        StyledText styledText = getTextWidget();
-        int oldWidth = styledText.getTabs();
-        if (tabWidth != oldWidth) {
-            styledText.setTabs(tabWidth);
-        }
-    }
-
-    /**
-     * Sets the font used by this viewer.
-     * 
-     * @param font
-     *            the font used by this viewer
-     */
-    public void setFont(Font font) {
-        StyledText styledText = getTextWidget();
-        Font oldFont = styledText.getFont();
-        if (oldFont == font) {
-            return;
-        }
-        if (font == null || !(font.equals(oldFont))) {
-            styledText.setFont(font);
-        }
-    }
-
-    /**
-     * Positions the cursor at the end of the document.
-     */
-    protected void revealEndOfDocument() {
-        revealJob.schedule(50);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.custom.LineStyleListener#lineGetStyle(org.eclipse.swt.custom.LineStyleEvent)
-     */
-    public void lineGetStyle(LineStyleEvent event) {
-        IDocument document = getDocument();
-        if (document != null && document.getLength() > 0) {
-            ArrayList ranges = new ArrayList();
-            int offset = event.lineOffset;
-            int length = event.lineText.length();
-
-            StyleRange[] partitionerStyles = ((IConsoleDocumentPartitioner) document.getDocumentPartitioner()).getStyleRanges(event.lineOffset, event.lineText.length());
-            if (partitionerStyles != null) {
-                for (int i = 0; i < partitionerStyles.length; i++) {
-                    ranges.add(partitionerStyles[i]);
-                }
-            } else {
-                ranges.add(new StyleRange(offset, length, null, null));
-            }
-
-            try {
-                Position[] positions = getDocument().getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-                Position[] overlap = findPosition(offset, length, positions);
-                Color color = JFaceColors.getHyperlinkText(Display.getCurrent());
-                if (overlap != null) {
-                    for (int i = 0; i < overlap.length; i++) {
-                        Position position = overlap[i];
-                        StyleRange linkRange = new StyleRange(position.offset, position.length, color, null);
-                        linkRange.underline = true;
-                        override(ranges, linkRange);
-                    }
-                }
-            } catch (BadPositionCategoryException e) {
-            }
-
-            if (ranges.size() > 0) {
-                event.styles = (StyleRange[]) ranges.toArray(new StyleRange[ranges.size()]);
-            }
-        }
-    }
-
-    private void override(List ranges, StyleRange newRange) {
-        if (ranges.isEmpty()) {
-            ranges.add(newRange);
-            return;
-        }
-
-        int start = newRange.start;
-        int end = start + newRange.length;
-        for (int i = 0; i < ranges.size(); i++) {
-            StyleRange existingRange = (StyleRange) ranges.get(i);
-            int rEnd = existingRange.start + existingRange.length;
-            if (end <= existingRange.start || start >= rEnd) {
-                continue;
-            }
-
-            if (start < existingRange.start && end > existingRange.start) {
-                start = existingRange.start;
-            }
-
-            if (start >= existingRange.start && end <= rEnd) {
-                existingRange.length = start - existingRange.start;
-                ranges.add(++i, newRange);
-                if (end != rEnd) {
-                    ranges.add(++i, new StyleRange(end, rEnd - end - 1, existingRange.foreground, existingRange.background));
-                }
-                return;
-            } else if (start >= existingRange.start && start < rEnd) {
-                existingRange.length = start - existingRange.start;
-                ranges.add(++i, newRange);
-            } else if (end >= rEnd) {
-                ranges.remove(i);
-            } else {
-                ranges.add(++i, new StyleRange(end + 1, rEnd - end + 1, existingRange.foreground, existingRange.background));
-            }
-        }
-    }
-
-    /**
-     * Binary search for the positions overlapping the given range
-     * 
-     * @param offset
-     *            the offset of the range
-     * @param length
-     *            the length of the range
-     * @param positions
-     *            the positions to search
-     * @return the positions overlapping the given range, or <code>null</code>
-     */
-    private Position[] findPosition(int offset, int length, Position[] positions) {
-
-        if (positions.length == 0)
-            return null;
-
-        int rangeEnd = offset + length;
-        int left = 0;
-        int right = positions.length - 1;
-        int mid = 0;
-        Position position = null;
-
-        while (left < right) {
-
-            mid = (left + right) / 2;
-
-            position = positions[mid];
-            if (rangeEnd < position.getOffset()) {
-                if (left == mid)
-                    right = left;
-                else
-                    right = mid - 1;
-            } else if (offset > (position.getOffset() + position.getLength() - 1)) {
-                if (right == mid)
-                    left = right;
-                else
-                    left = mid + 1;
-            } else {
-                left = right = mid;
-            }
-        }
-
-        List list = new ArrayList();
-        int index = left - 1;
-        if (index >= 0) {
-            position = positions[index];
-            while (index >= 0 && (position.getOffset() + position.getLength()) > offset) {
-                index--;
-                if (index > 0) {
-                    position = positions[index];
-                }
-            }
-        }
-        index++;
-        position = positions[index];
-        while (index < positions.length && (position.getOffset() < rangeEnd)) {
-            list.add(position);
-            index++;
-            if (index < positions.length) {
-                position = positions[index];
-            }
-        }
-
-        if (list.isEmpty()) {
-            return null;
-        }
-        return (Position[]) list.toArray(new Position[list.size()]);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.custom.LineBackgroundListener#lineGetBackground(org.eclipse.swt.custom.LineBackgroundEvent)
-     */
-    public void lineGetBackground(LineBackgroundEvent event) {
-        event.lineBackground = null;
-    }
-
-    /**
-     * Returns the hand cursor.
-     * 
-     * @return the hand cursor
-     */
-    protected Cursor getHandCursor() {
-        if (handCursor == null) {
-            handCursor = new Cursor(ConsolePlugin.getStandardDisplay(), SWT.CURSOR_HAND);
-        }
-        return handCursor;
-    }
-
-    /**
-     * Returns the text cursor.
-     * 
-     * @return the text cursor
-     */
-    protected Cursor getTextCursor() {
-        if (textCursor == null) {
-            textCursor = new Cursor(ConsolePlugin.getStandardDisplay(), SWT.CURSOR_IBEAM);
-        }
-        return textCursor;
-    }
-
-    /**
-     * Notification a hyperlink has been entered.
-     * 
-     * @param link
-     *            the link that was entered
-     */
-    protected void linkEntered(IHyperlink link) {
-        Control control = getTextWidget();
-        if (hyperlink != null) {
-            linkExited(hyperlink);
-        }
-        hyperlink = link;
-        hyperlink.linkEntered();
-        control.setCursor(getHandCursor());
-        control.redraw();
-        control.addMouseListener(this);
-    }
-
-    /**
-     * Notification a link was exited.
-     * 
-     * @param link
-     *            the link that was exited
-     */
-    protected void linkExited(IHyperlink link) {
-        link.linkExited();
-        hyperlink = null;
-        Control control = getTextWidget();
-        control.setCursor(getTextCursor());
-        control.redraw();
-        control.removeMouseListener(this);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseTrackListener#mouseEnter(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseEnter(MouseEvent e) {
-        getTextWidget().addMouseMoveListener(this);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseTrackListener#mouseExit(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseExit(MouseEvent e) {
-        getTextWidget().removeMouseMoveListener(this);
-        if (hyperlink != null) {
-            linkExited(hyperlink);
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseTrackListener#mouseHover(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseHover(MouseEvent e) {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseMove(MouseEvent e) {
-        int offset = -1;
-        try {
-            Point p = new Point(e.x, e.y);
-            offset = getTextWidget().getOffsetAtLocation(p);
-        } catch (IllegalArgumentException ex) {
-            // out of the document range
-        }
-        updateLinks(offset);
-    }
-
-    /**
-     * The cursor has just be moved to the given offset, the mouse has hovered
-     * over the given offset. Update link rendering.
-     * 
-     * @param offset
-     */
-    protected void updateLinks(int offset) {
-        if (offset >= 0) {
-            IHyperlink link = getHyperlink(offset);
-            if (link != null) {
-                if (link.equals(hyperlink)) {
-                    return;
-                }
-                linkEntered(link);
-                return;
-            }
-        }
-        if (hyperlink != null) {
-            linkExited(hyperlink);
-        }
-    }
-
-    /**
-     * Returns the currently active hyperlink or <code>null</code> if none.
-     * 
-     * @return the currently active hyperlink or <code>null</code> if none
-     */
-    public IHyperlink getHyperlink() {
-        return hyperlink;
-    }
-
-    /**
-     * Returns the hyperlink at the specified offset, or <code>null</code> if
-     * none.
-     * 
-     * @param offset
-     *            offset at which a hyperlink has been requested
-     * @return hyperlink at the specified offset, or <code>null</code> if none
-     */
-    public IHyperlink getHyperlink(int offset) {
-        if (offset >= 0 && console != null) {
-            return console.getHyperlink(offset);
-        }
-        return null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseDoubleClick(MouseEvent e) {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseDown(MouseEvent e) {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
-     */
-    public void mouseUp(MouseEvent e) {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.TextViewer#createDocumentAdapter()
-     */
-    protected IDocumentAdapter createDocumentAdapter() {
-        if (documentAdapter == null) {
-            documentAdapter = new ConsoleDocumentAdapter(consoleWidth = -1);
-        }
-        return documentAdapter;
-    }
-
-    /**
-     * Sets the console to have a fixed character width. Use -1 to indicate that
-     * a fixed width should not be used.
-     * 
-     * @param width
-     *            fixed character width of the console, or -1
-     */
-    public void setConsoleWidth(int width) {
-        if (consoleWidth != width) {
-            consoleWidth = width;
-            ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-                public void run() {
-                    if (documentAdapter != null) {
-                        documentAdapter.setWidth(consoleWidth);
-                    }
-                }
-            });
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.TextViewer#handleDispose()
-     */
-    protected void handleDispose() {
-        IDocument document = getDocument();
-        if (document != null) {
-            document.removeDocumentListener(documentListener);
-            document.removePositionUpdater(positionUpdater);
-        }
-
-        StyledText styledText = getTextWidget();
-        styledText.removeLineStyleListener(this);
-        styledText.removeLineBackgroundListener(this);
-        styledText.removeMouseTrackListener(this);
-
-        handCursor = null;
-        textCursor = null;
-        hyperlink = null;
-        console = null;
-
-        ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
-        colorRegistry.removeListener(propertyChangeListener);
-        
-        super.handleDispose();
-    }
-
-    class HyperlinkColorChangeListener implements IPropertyChangeListener {
-        public void propertyChange(PropertyChangeEvent event) {
-            if (event.getProperty().equals(JFacePreferences.ACTIVE_HYPERLINK_COLOR) || event.getProperty().equals(JFacePreferences.HYPERLINK_COLOR)) {
-                getTextWidget().redraw();
-            }
-        }
-
-    }
-
-    /*
-     * work around to memory leak in TextViewer$WidgetCommand
-     */
-    protected void updateTextListeners(WidgetCommand cmd) {
-        super.updateTextListeners(cmd);
-        cmd.preservedText = null;
-        cmd.event = null;
-        cmd.text = null;
-    }
-
-    protected void internalRevealRange(int start, int end) {
-        StyledText textWidget = getTextWidget();
-        int startLine = documentAdapter.getLineAtOffset(start);
-        int endLine = documentAdapter.getLineAtOffset(end);
-
-        int top = textWidget.getTopIndex();
-        if (top > -1) {
-            // scroll vertically
-            int lines = getVisibleLinesInViewport();
-            int bottom = top + lines;
-
-            // two lines at the top and the bottom should always be left
-            // if window is smaller than 5 lines, always center position is
-            // chosen
-            int bufferZone = 2;
-            if (startLine >= top + bufferZone && startLine <= bottom - bufferZone && endLine >= top + bufferZone && endLine <= bottom - bufferZone) {
-
-                // do not scroll at all as it is already visible
-            } else {
-                int delta = Math.max(0, lines - (endLine - startLine));
-                textWidget.setTopIndex(startLine - delta / 3);
-                updateViewportListeners(INTERNAL);
-            }
-
-            // scroll horizontally
-            if (endLine < startLine) {
-                endLine += startLine;
-                startLine = endLine - startLine;
-                endLine -= startLine;
-            }
-
-            int startPixel = -1;
-            int endPixel = -1;
-
-            if (endLine > startLine) {
-                // reveal the beginning of the range in the start line
-                IRegion extent = getExtent(start, start);
-                startPixel = extent.getOffset() + textWidget.getHorizontalPixel();
-                endPixel = startPixel;
-            } else {
-                IRegion extent = getExtent(start, end);
-                startPixel = extent.getOffset() + textWidget.getHorizontalPixel();
-                endPixel = startPixel + extent.getLength();
-            }
-
-            int visibleStart = textWidget.getHorizontalPixel();
-            int visibleEnd = visibleStart + textWidget.getClientArea().width;
-
-            // scroll only if not yet visible
-            if (startPixel < visibleStart || visibleEnd < endPixel) {
-                // set buffer zone to 10 pixels
-                bufferZone = 10;
-                int newOffset = visibleStart;
-                int visibleWidth = visibleEnd - visibleStart;
-                int selectionPixelWidth = endPixel - startPixel;
-
-                if (startPixel < visibleStart)
-                    newOffset = startPixel;
-                else if (selectionPixelWidth + bufferZone < visibleWidth)
-                    newOffset = endPixel + bufferZone - visibleWidth;
-                else
-                    newOffset = startPixel;
-
-                float index = ((float) newOffset) / ((float) getAverageCharWidth());
-
-                textWidget.setHorizontalIndex(Math.round(index));
-            }
-
-        }
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
deleted file mode 100644
index 6b0d874..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.internal.console.IConsoleHelpContextIds;
-import org.eclipse.ui.internal.console.IInternalConsoleConstants;
-
-/**
- * Clears the output in a text console.
- * <p>
- * Clients may instantiate this class; this class is not intended to 
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ClearOutputAction extends Action {
-
-	private ITextViewer fViewer;
-	private TextConsole fIOConsole;
-
-	/**
-	 * Constructs a clear output action.
-	 * 
-	 * @since 3.1
-	 */
-	private ClearOutputAction() {
-		super(ConsoleMessages.ClearOutputAction_title); 
-		setToolTipText(ConsoleMessages.ClearOutputAction_toolTipText); 
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_LCL_CLEAR));		
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_CLEAR));
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLEAR));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CLEAR_CONSOLE_ACTION);	    
-	}
-	
-	/**
-	 * Constructs a clear output action for an I/O console. Clearing an I/O console
-	 * is performed via API on the <code>IOConsole</code>, rather than clearing
-	 * its document directly.
-	 * 
-	 * @param ioConsole I/O console the action is associated with
-	 * @since 3.1
-	 */
-	public ClearOutputAction(TextConsole ioConsole) {
-		this();
-		fIOConsole = ioConsole;
-	}
-	
-	/**
-	 * Constructs an action to clear the document associated with a text viewer.
-	 * 
-	 * @param viewer viewer whose document this action is associated with 
-	 */
-	public ClearOutputAction(ITextViewer viewer) {
-	    this();
-	    fViewer = viewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(ConsolePlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-			    if (fIOConsole == null) {
-					IDocument document = fViewer.getDocument();
-					if (document != null) {
-						document.set(""); //$NON-NLS-1$
-					}
-					fViewer.setSelectedRange(0, 0);
-			    } else {
-			        fIOConsole.clearConsole();
-			    }
-			}
-		});
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
deleted file mode 100644
index 3891847..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.internal.console.IInternalConsoleConstants;
-
-/**
- * Removes a console from the console manager.
- * <p>
- * Clients may instantiate this class; this class is not intended to 
- * be subclassed.
- * </p>
- * @since 3.1
- */
-public class CloseConsoleAction extends Action {
-    
-    private IConsole fConsole;
-    
-    public CloseConsoleAction(IConsole console) {
-        super(ConsoleMessages.CloseConsoleAction_0, ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLOSE)); 
-        setToolTipText(ConsoleMessages.CloseConsoleAction_1); 
-        fConsole = console;
-    }
-
-    public void run() {
-        ConsolePlugin.getDefault().getConsoleManager().removeConsoles(new IConsole[]{fConsole});
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
deleted file mode 100644
index b3809ea..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Common function for actions that operate on a text viewer.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- */
-public class TextViewerAction extends Action implements IUpdate {
-
-	private int fOperationCode= -1;
-	private ITextOperationTarget fOperationTarget;
-
-	/**
-	 * Constructs a new action in the given text viewer with
-	 * the specified operation code.
-	 * 
-	 * @param viewer
-	 * @param operationCode
-	 */
-	public TextViewerAction(ITextViewer viewer, int operationCode) {
-		fOperationCode= operationCode;
-		fOperationTarget= viewer.getTextOperationTarget();
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 * 
-	 * Updates the enabled state of the action.
-	 * Fires a property change if the enabled state changes.
-	 * 
-	 * @see org.eclipse.jface.action.Action#firePropertyChange(String, Object, Object)
-	 */
-	public void update() {
-
-		boolean wasEnabled= isEnabled();
-		boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
-		setEnabled(isEnabled);
-
-		if (wasEnabled != isEnabled) {
-			firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (fOperationCode != -1 && fOperationTarget != null) {
-			fOperationTarget.doOperation(fOperationCode);
-		}
-	}
-	
-	/**
-	 * Configures this action with a label, tool tip, and description.
-	 * 
-	 * @param text action label
-	 * @param toolTipText action tool tip
-	 * @param description action description
-	 */
-	public void configureAction(String text, String toolTipText, String description) {
-		setText(text);
-		setToolTipText(toolTipText);
-		setDescription(description);
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
deleted file mode 100644
index 879e1f4..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Action to position a text viewer to a specific line.
- * <p>
- * Clients may instantiate this class; this class is not intended to 
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class TextViewerGotoLineAction extends TextViewerAction {
-
-	/**
-	 * Validates whether the text found in the input field of the
-	 * dialog forms a valid line number, i.e. one to which can be 
-	 * jumped.
-	 */
-	class NumberValidator implements IInputValidator {
-
-		public String isValid(String input) {
-			try {
-				int i= Integer.parseInt(input);
-				if (i <= 0 || fLastLine < i)
-					return ConsoleMessages.TextViewerGotoLineAction_Line_number_out_of_range_1; 
-
-			} catch (NumberFormatException x) {
-				return ConsoleMessages.TextViewerGotoLineAction_Not_a_number_2; 
-			}
-
-			return null;
-		}
-	}
-
-	protected int fLastLine;
-	protected ITextViewer fTextViewer;
-	
-	/**
-	 * Constructs a goto line action for the viewer using the provided resource bundle
-	 */
-	public TextViewerGotoLineAction(ITextViewer viewer) {
-		super(viewer, -1);
-		fTextViewer= viewer;
-		setText(ConsoleMessages.TextViewerGotoLineAction_Go_to__Line____Ctrl_L_4); 
-		setToolTipText(ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1); 
-		setDescription(ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1);		 
-	}
-	
-	/**
-	 * @see TextViewerAction#update()
-	 */
-	public void update() {
-	}
-
-	/**
-	 * Jumps to the line.
-	 */
-	protected void gotoLine(int line) {
-
-		IDocument document= fTextViewer.getDocument();
-		try {
-			int start= document.getLineOffset(line);
-			int length= document.getLineLength(line);
-			fTextViewer.getTextWidget().setSelection(start, start + length);
-			fTextViewer.revealRange(start, length);
-		} catch (BadLocationException x) {
-			ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1, ConsoleMessages.TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2, x); // 
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			Point selection= fTextViewer.getTextWidget().getSelection();
-			IDocument document= fTextViewer.getDocument();
-			fLastLine= document.getLineOfOffset(document.getLength()) + 1;
-			int startLine= selection == null ? 1 : fTextViewer.getTextWidget().getLineAtOffset(selection.x) + 1;
-			String title= ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1; 
-			String message= MessageFormat.format(ConsoleMessages.TextViewerGotoLineAction_Enter_line_number__8, new Object[] {new Integer(fLastLine)}); 
-			String value= Integer.toString(startLine);
-			Shell activeShell= fTextViewer.getTextWidget().getShell();
-			InputDialog d= new InputDialog(activeShell, title, message, value, new NumberValidator());
-			if (d.open() == Window.OK) {
-				try {
-					int line= Integer.parseInt(d.getValue());
-					gotoLine(line - 1);
-				} catch (NumberFormatException x) {
-					ConsolePlugin.errorDialog(activeShell, ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1, ConsoleMessages.TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2, x); // 
-				}
-			}
-		} catch (BadLocationException x) {
-			ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.TextViewerGotoLineAction_Go_To_Line_1, ConsoleMessages.TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2, x); // 
-			return;
-		}
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
deleted file mode 100644
index cfb538c..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Console Actions</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left"> Application programming interfaces for Eclipse console specific
-  actions.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set of actions related to the Eclipse console.</p>
-<p>Clients are allowed to instantiate classes from this package. The classes are 
-  not intended to be subclassed.</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
deleted file mode 100644
index f6debb1..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
+++ /dev/null
@@ -1,36 +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 Console</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Application programming interfaces for interaction
-with the Eclipse console.</p>
-
-<h2>Package Specification</h2>
-
-<p>The Eclipse platform UI console plug-in provides a set of classes and interfaces to
-facilitate the creation and display of consoles in the <b>ConsoleView</b>. This package
-contains a generic abstract console (<b>AbstractConsole</b>) that provides some basic 
-functionality as well as two complete implementations of consoles that may be subclassed.
- <p> The class <b>TextConsole</b> supports regular expression matching and hyperlinks. 
- Clients must provide their own document partitioner.
- </p>
-<p><b>IOConsole</b> extends <b>TextConsole</b> and provides support for creating consoles based upon
-input and output streams via the use of <b>IOConsoleOutputStream</b> and 
-<b>IOConsoleInputStream</b>. IOConsole is not an abstract class, it may be used as is or
-subclassed.
- </p>
-<p>A console manager (<b>IConsoleManager</b>) manages all active consoles, and 
-  provides notification of consoles which are added and removed. Consoles are 
-  displayed in a page book view. Each console implementation is reponsible for 
-  creating its page (<b>IPageBookView</b>), which provides freedom of presentation 
-  to the console implementation. A single console may be displayed simultaneously 
-  in multiple console views, in different workbench windows.
-</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
deleted file mode 100644
index ddf2491..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-
-/**
- * A console document. Requires synchronization for multi-threaded access.
- */
-public class ConsoleDocument extends Document {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#get(int, int)
-	 */
-	public synchronized String get(int pos, int length) throws BadLocationException {
-		return super.get(pos, length);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLength()
-	 */
-	public synchronized int getLength() {
-		return super.getLength();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineDelimiter(int)
-	 */
-	public synchronized String getLineDelimiter(int line) throws BadLocationException {
-		return super.getLineDelimiter(line);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineInformation(int)
-	 */
-	public synchronized IRegion getLineInformation(int line) throws BadLocationException {
-		return super.getLineInformation(line);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineInformationOfOffset(int)
-	 */
-	public synchronized IRegion getLineInformationOfOffset(int offset) throws BadLocationException {
-		return super.getLineInformationOfOffset(offset);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineLength(int)
-	 */
-	public synchronized int getLineLength(int line) throws BadLocationException {
-		return super.getLineLength(line);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineOffset(int)
-	 */
-	public synchronized int getLineOffset(int line) throws BadLocationException {
-		return super.getLineOffset(line);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getLineOfOffset(int)
-	 */
-	public int getLineOfOffset(int pos) throws BadLocationException {
-		return super.getLineOfOffset(pos);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getNumberOfLines()
-	 */
-	public synchronized int getNumberOfLines() {
-		return super.getNumberOfLines();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#replace(int, int, java.lang.String)
-	 */
-	public synchronized void replace(int pos, int length, String text) throws BadLocationException {
-		super.replace(pos, length, text);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#set(java.lang.String)
-	 */
-    public synchronized void set(String text) {
-        super.set(text);
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.AbstractDocument#completeInitialization()
-	 */
-    protected void completeInitialization() {
-        super.completeInitialization();
-        addPositionUpdater(new HyperlinkUpdater());
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#addPosition(java.lang.String, org.eclipse.jface.text.Position)
-	 */    
-    public synchronized void addPosition(String category, Position position) throws BadLocationException, BadPositionCategoryException {
-        super.addPosition(category, position);
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#removePosition(java.lang.String, org.eclipse.jface.text.Position)
-	 */    
-    public synchronized void removePosition(String category, Position position) throws BadPositionCategoryException {
-        super.removePosition(category, position);
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getPositions(java.lang.String)
-	 */    
-    public synchronized Position[] getPositions(String category) throws BadPositionCategoryException {
-        return super.getPositions(category);
-    }    
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
deleted file mode 100644
index e58e518..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.swt.custom.TextChangeListener;
-import org.eclipse.swt.custom.TextChangedEvent;
-import org.eclipse.swt.custom.TextChangingEvent;
-
-import org.eclipse.core.runtime.Assert;
-
-/**
- * Adapts a Console's document to the viewer StyledText widget. Allows proper line
- * wrapping of fixed width consoles without having to add line delimiters to the StyledText.
- * 
- * By using this adapter, the offset of any character is the same in both the widget and the
- * document.
- * 
- * @since 3.1
- */
-public class ConsoleDocumentAdapter implements IDocumentAdapter, IDocumentListener {
-    
-    private int consoleWidth = -1;
-    private List textChangeListeners;
-    private IDocument document;
-    
-    int[] offsets = new int[5000];
-    int[] lengths = new int[5000];
-    private int regionCount = 1;
-    private Pattern pattern = Pattern.compile("$", Pattern.MULTILINE); //$NON-NLS-1$
-    
-    
-    public ConsoleDocumentAdapter(int width) {
-        textChangeListeners = new ArrayList();
-        consoleWidth = width;
-    }
-    
-    /*
-     * repairs lines list from the beginning of the line containing the offset of any 
-     * DocumentEvent, to the end of the Document.
-     */
-    private void repairLines(int eventOffset) {
-        if (document == null) {
-            return;
-        }
-        try {
-            int docLine = document.getLineOfOffset(eventOffset);
-            int docLineOffset = document.getLineOffset(docLine);
-            int widgetLine = getLineAtOffset(docLineOffset);
-            
-            for (int i=regionCount-1; i>=widgetLine; i--) {
-                regionCount--;
-            }
-            
-            int numLinesInDoc = document.getNumberOfLines();
-
-            int nextOffset =  document.getLineOffset(docLine);
-            for (int i = docLine; i<numLinesInDoc; i++) {
-                int offset = nextOffset;
-                int length = document.getLineLength(i);
-                nextOffset += length;
-                
-                if (length == 0) {
-                    addRegion(offset, 0);
-                } else {
-                    while (length > 0) {
-                        int trimmedLength = length;
-                        String lineDelimiter = document.getLineDelimiter(i);
-                        int lineDelimiterLength = 0;
-                        if (lineDelimiter != null) {
-                            lineDelimiterLength = lineDelimiter.length(); 
-                            trimmedLength -= lineDelimiterLength;
-                        }
-
-                        if (consoleWidth > 0 && consoleWidth < trimmedLength) {
-                            addRegion(offset, consoleWidth);
-                            offset += consoleWidth;
-                            length -= consoleWidth;
-                        } else {
-                            addRegion(offset, length);
-                            offset += length;
-                            length -= length;
-                        }
-                    }
-                }
-            }
-        } catch (BadLocationException e) {
-        }
-        
-        if (regionCount == 0) {
-            addRegion(0, document.getLength());
-        }
-    }
-    
-    private void addRegion(int offset, int length) {
-        if (regionCount == 0) {
-            offsets[0] = offset;
-            lengths[0] = length;
-        } else {
-            if (regionCount == offsets.length) {
-                growRegionArray(regionCount * 2);
-            }
-            offsets[regionCount] = offset;
-            lengths[regionCount] = length;
-        }
-        regionCount++;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.IDocumentAdapter#setDocument(org.eclipse.jface.text.IDocument)
-     */
-    public void setDocument(IDocument doc) {
-        if (document != null) {
-            document.removeDocumentListener(this);
-        }
-        
-        document = doc;
-        
-        if (document != null) {
-            document.addDocumentListener(this);
-            repairLines(0);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#addTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
-     */
-    public synchronized void addTextChangeListener(TextChangeListener listener) {
-		Assert.isNotNull(listener);
-		if (!textChangeListeners.contains(listener)) {
-			textChangeListeners.add(listener);
-		}
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#removeTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
-     */
-    public synchronized void removeTextChangeListener(TextChangeListener listener) {
-        if(textChangeListeners != null) {
-            Assert.isNotNull(listener);
-            textChangeListeners.remove(listener);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getCharCount()
-     */
-    public int getCharCount() {
-        return document.getLength();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getLine(int)
-     */
-    public String getLine(int lineIndex) {
-        try {
-            StringBuffer line = new StringBuffer(document.get(offsets[lineIndex], lengths[lineIndex]));
-            int index = line.length() - 1;
-            while(index > -1 && (line.charAt(index)=='\n' || line.charAt(index)=='\r')) {
-                index--;
-            }
-            return new String(line.substring(0, index+1));
-        } catch (BadLocationException e) {
-        }
-        return ""; //$NON-NLS-1$    
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getLineAtOffset(int)
-     */
-    public int getLineAtOffset(int offset) {
-        if (offset == 0 || regionCount <= 1) {
-            return 0;
-        }
-        
-        if (offset == document.getLength()) {
-            return regionCount-1;
-        }
-        
-		int left= 0;
-		int right= regionCount-1;
-		int midIndex = 0;
-		
-		while (left <= right) {
-			if(left == right) {
-	    		return right;
-	    	}
-		    midIndex = (left + right) / 2;
-		    
-		    if (offset < offsets[midIndex]) {
-		        right = midIndex;
-		    } else if (offset >= offsets[midIndex] + lengths[midIndex]) {
-		        left = midIndex + 1;
-		    } else {
-		        return midIndex;
-		    }
-		}
-		
-		return midIndex;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getLineCount()
-     */
-    public int getLineCount() {
-        return regionCount;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getLineDelimiter()
-     */
-    public String getLineDelimiter() {
-        return System.getProperty("line.separator"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getOffsetAtLine(int)
-     */
-    public int getOffsetAtLine(int lineIndex) {
-        return offsets[lineIndex];
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#getTextRange(int, int)
-     */
-    public String getTextRange(int start, int length) {
-        try {
-            return document.get(start, length);
-        } catch (BadLocationException e) {
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#replaceTextRange(int, int, java.lang.String)
-     */
-    public void replaceTextRange(int start, int replaceLength, String text) {
-        try {
-            document.replace(start, replaceLength, text);
-        } catch (BadLocationException e) {
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.swt.custom.StyledTextContent#setText(java.lang.String)
-     */
-    public synchronized void setText(String text) {
-        TextChangedEvent changeEvent = new TextChangedEvent(this);
-        for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
-            TextChangeListener element = (TextChangeListener) iter.next();
-            element.textSet(changeEvent);
-        }    
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-     */
-    public synchronized void documentAboutToBeChanged(DocumentEvent event) {
-        if (document == null) {
-            return;
-        }
-        
-        TextChangingEvent changeEvent = new TextChangingEvent(this);
-        changeEvent.start = event.fOffset;
-        changeEvent.newText = (event.fText == null ? "" : event.fText); //$NON-NLS-1$
-        changeEvent.replaceCharCount = event.fLength;
-        changeEvent.newCharCount = (event.fText == null ? 0 : event.fText.length());
-        
-        int first = getLineAtOffset(event.fOffset);
-        int lOffset = Math.max(event.fOffset + event.fLength - 1, 0);
-		int last = getLineAtOffset(lOffset);
-        changeEvent.replaceLineCount = Math.max(last - first, 0);
-     
-        int newLineCount = countNewLines(event.fText);
-		changeEvent.newLineCount = newLineCount >= 0 ? newLineCount : 0;
-
-        if (changeEvent.newLineCount > offsets.length-regionCount) {
-            growRegionArray(changeEvent.newLineCount);
-        }
-        
-        for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
-            TextChangeListener element = (TextChangeListener) iter.next();
-            element.textChanging(changeEvent);
-        }
-    }
-
-    private void growRegionArray(int minSize) {
-        int size = Math.max(offsets.length*2, minSize*2);
-        int[] newOffsets = new int[size];
-        System.arraycopy(offsets, 0, newOffsets, 0, regionCount);
-        offsets = newOffsets;
-        int[] newLengths = new int[size];
-        System.arraycopy(lengths, 0, newLengths, 0, regionCount);
-        lengths = newLengths;
-    }
-
-    private int countNewLines(String string) {
-		int count = 0;
-		
-		if (string.length() == 0) return 0;
-
-		// work around to
-		// http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4994840
-		// see bug 84641
-		if (string.endsWith("\r")) { //$NON-NLS-1$
-			int len = string.length();
-			int index = len >= 2 ? len - 2 : 0;
-			string = string.substring(0, index);
-			count++;
-		}
-		
-		int lastIndex = 0;
-		int index = 0;
-		
-		Matcher matcher = pattern.matcher(string);
-		
-		while (matcher.find()) {
-			index = matcher.start();
-			
-			if (index == 0)
-				count++;
-			else if (index!=string.length())
-				count++;
-			
-			if (consoleWidth > 0) {
-				int lineLen = index - lastIndex + 1;
-				if (index == 0) lineLen += lengths[regionCount-1];
-				count += lineLen/consoleWidth;
-			}
-			
-			lastIndex = index;
-		}
-		return count;
-	}
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-     */
-    public synchronized void documentChanged(DocumentEvent event) {
-        if (document == null) {
-            return;
-        }
-        
-        repairLines(event.fOffset);
-        
-        TextChangedEvent changeEvent = new TextChangedEvent(this);
-
-        for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
-            TextChangeListener element = (TextChangeListener) iter.next();
-            element.textChanged(changeEvent);
-        }
-    }
-
-    /**
-     * sets consoleWidth, repairs line information, then fires event to the viewer text widget.
-     * @param width The console's width
-     */
-    public void setWidth(int width) {
-        if (width != consoleWidth) {
-            consoleWidth = width;
-            repairLines(0);
-            TextChangedEvent changeEvent = new TextChangedEvent(this);
-            for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
-                TextChangeListener element = (TextChangeListener) iter.next();
-                element.textSet(changeEvent);
-            }
-        }
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
deleted file mode 100644
index 6af6354..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Drop down action in the console to select the console to display.
- */
-class ConsoleDropDownAction extends Action implements IMenuCreator, IConsoleListener, IUpdate {
-
-	private IConsoleView fView;
-	private Menu fMenu;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		IConsole[] consoles = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
-		setEnabled(consoles.length > 1);
-	}
-
-	public ConsoleDropDownAction(IConsoleView view) {
-		fView= view;
-		setText(ConsoleMessages.ConsoleDropDownAction_0); 
-		setToolTipText(ConsoleMessages.ConsoleDropDownAction_1); 
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_VIEW_CONSOLE));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION);
-		setMenuCreator(this);
-		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		
-		fView= null;
-		ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		
-		fMenu= new Menu(parent);
-		IConsole[] consoles= ConsolePlugin.getDefault().getConsoleManager().getConsoles();
-		IConsole current = fView.getConsole();
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			Action action = new ShowConsoleAction(fView, console);
-			action.setChecked(console.equals(current));
-			addActionToMenu(fMenu, action, i + 1);
-		}
-		return fMenu;
-	}
-	
-	private void addActionToMenu(Menu parent, Action action, int accelerator) {
-	    if (accelerator < 10) {
-		    StringBuffer label= new StringBuffer();
-			//add the numerical accelerator
-			label.append('&');
-			label.append(accelerator);
-			label.append(' ');
-			label.append(action.getText());
-			action.setText(label.toString());
-		}
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-        ConsoleView consoleView = (ConsoleView) fView;
-        boolean pinned = consoleView.isPinned();
-        if (pinned) {
-            consoleView.setPinned(false);
-        }
-		List stack = consoleView.getConsoleStack();
-		if (stack.size() > 1) {
-			IConsole console = (IConsole) stack.get(1);
-			fView.display(console);
-		}
-        if (pinned) {
-            consoleView.setPinned(true);
-        }
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesAdded(IConsole[] consoles) {
-		Display display = ConsolePlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				update();
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * Dispose the menu when a launch is removed, such that the actions in this
-	 * menu do not hang on to associated resources.
-	 * 
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesRemoved(IConsole[] consoles) {
-		Display display = ConsolePlugin.getStandardDisplay();
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (fMenu != null) {
-					fMenu.dispose();
-				}
-				update();
-			}
-		});
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
deleted file mode 100644
index 377d3d5..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.net.URL;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleFactory;
-import org.osgi.framework.Bundle;
-
-/**
- * @since 3.1
- */
-public class ConsoleFactoryExtension implements IPluginContribution {
-
-    private IConfigurationElement fConfig;
-    private Expression fEnablementExpression;
-    private String fLabel;
-    private ImageDescriptor fImageDescriptor;
-    private IConsoleFactory fFactory;
-
-    ConsoleFactoryExtension(IConfigurationElement config) {
-        fConfig = config;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getLocalId()
-     */
-    public String getLocalId() {
-        return fConfig.getAttribute("id"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getPluginId()
-     */
-    public String getPluginId() {
-        return fConfig.getContributor().getName();
-    }
-
-    public boolean isEnabled() {
-        try {
-            Expression enablementExpression = getEnablementExpression();
-            if (enablementExpression == null) {
-                return true;
-            } 
-            EvaluationContext context = new EvaluationContext(null, this);
-            EvaluationResult evaluationResult = enablementExpression.evaluate(context);
-            return evaluationResult != EvaluationResult.FALSE;
-        } catch (CoreException e) {
-            ConsolePlugin.log(e);
-            return false;
-        }
-    }
-    
-    public Expression getEnablementExpression() throws CoreException {
-		if (fEnablementExpression == null) {
-			IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-
-			if (enablement != null) {
-			    fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
-			}
-		}
-		return fEnablementExpression;
-    }
-
-    public String getLabel() {
-        if (fLabel == null) {
-            fLabel = fConfig.getAttribute("label"); //$NON-NLS-1$
-        }
-        return fLabel;
-    }
-
-    /**
-     * @return
-     */
-    public ImageDescriptor getImageDescriptor() {
-        if (fImageDescriptor == null) {
-            String path = fConfig.getAttribute("icon"); //$NON-NLS-1$
-            if (path != null) {
-                Bundle bundle = Platform.getBundle(getPluginId());
-                URL url = FileLocator.find(bundle, new Path(path), null);
-                if (url != null) {
-                	fImageDescriptor =  ImageDescriptor.createFromURL(url);
-                }
-            }
-        }
-        return fImageDescriptor;
-    }
-
-    /**
-     * @return
-     * @throws CoreException
-     */
-    public IConsoleFactory createFactory() throws CoreException {
-        if (fFactory == null) {
-            fFactory = (IConsoleFactory) fConfig.createExecutableExtension("class"); //$NON-NLS-1$
-        }
-        return fFactory;
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
deleted file mode 100644
index b98df73..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IHyperlink;
-
-/**
- * Describes the postition of a hyperlink within the Console's document.
- * 
- * @since 3.1
- */
-public class ConsoleHyperlinkPosition extends Position {
-    
-	public static final String HYPER_LINK_CATEGORY = ConsolePlugin.getUniqueIdentifier() + ".CONSOLE_HYPERLINK_POSITION"; //$NON-NLS-1$
-	
-	private IHyperlink fLink = null;
-
-	public ConsoleHyperlinkPosition(IHyperlink link, int offset, int length) {
-		super(offset, length);
-		fLink = link;
-	}
-	
-	public IHyperlink getHyperLink() {
-		return fLink;
-	}
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object arg) {
-		return arg instanceof ConsoleHyperlinkPosition && super.equals(arg) && getHyperLink().equals(((ConsoleHyperlinkPosition)arg).getHyperLink());
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + getHyperLink().hashCode();
-	}
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
deleted file mode 100644
index df883e2..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
+++ /dev/null
@@ -1,461 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.PatternSyntaxException;
-
-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.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsolePageParticipant;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * The singleton console manager.
- * 
- * @since 3.0
- */
-public class ConsoleManager implements IConsoleManager {
-	
-	/**
-	 * Console listeners
-	 */
-	private ListenerList fListeners = null;
-	
-	/**
-	 * List of registered consoles
-	 */
-	private List fConsoles = new ArrayList(10); 
-
-	
-	// change notification constants
-	private final static int ADDED = 1;
-	private final static int REMOVED = 2;
-
-    private List fPatternMatchListeners;
-
-    private List fPageParticipants;
-
-    private List fConsoleFactoryExtensions;
-    
-    private List fConsoleViews = new ArrayList();
-    
-    private boolean fWarnQueued = false;
-    
-    private RepaintJob fRepaintJob = new RepaintJob();
-    
-    private class RepaintJob extends WorkbenchJob {
-        private Set list = new HashSet();
-
-        public RepaintJob() {
-            super("schedule redraw() of viewers"); //$NON-NLS-1$
-            setSystem(true);
-        }
-        
-        void addConsole(IConsole console) {
-        	synchronized (list) {
-        		list.add(console);
-			}
-        }
-        
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            synchronized (list) {
-                if (list.isEmpty()) {
-                    return Status.OK_STATUS;
-                }
-                
-                IWorkbenchWindow[] workbenchWindows = PlatformUI.getWorkbench().getWorkbenchWindows();
-                for (int i = 0; i < workbenchWindows.length; i++) {
-                    IWorkbenchWindow window = workbenchWindows[i];
-                    if (window != null) {
-                        IWorkbenchPage page = window.getActivePage();
-                        if (page != null) {
-                            IViewPart part = page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-                            if (part != null && part instanceof IConsoleView) {
-                                ConsoleView view = (ConsoleView) part;
-                                if (list.contains(view.getConsole())) {
-                                    Control control = view.getCurrentPage().getControl();
-                                    if (!control.isDisposed()) {
-                                        control.redraw();
-                                    }
-                                }
-                            }
-
-                        }
-                    }
-                }
-                list.clear();
-            }
-            return Status.OK_STATUS;
-        }
-    }
-    
-	/**
-	 * Notifies a console listener of additions or removals
-	 */
-	class ConsoleNotifier implements ISafeRunnable {
-		
-		private IConsoleListener fListener;
-		private int fType;
-		private IConsole[] fChanged;
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.ConsoleManager_0, exception); 
-			ConsolePlugin.log(status);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.consolesAdded(fChanged);
-					break;
-				case REMOVED:
-					fListener.consolesRemoved(fChanged);
-					break;
-			}
-		}
-
-		/**
-		 * Notifies the given listener of the adds/removes
-		 * 
-		 * @param consoles the consoles that changed
-		 * @param update the type of change
-		 */
-		public void notify(IConsole[] consoles, int update) {
-			if (fListeners == null) {
-				return;
-			}
-			fChanged = consoles;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IConsoleListener)copiedListeners[i];
-                SafeRunner.run(this);
-			}	
-			fChanged = null;
-			fListener = null;			
-		}
-	}	
-		
-	public void registerConsoleView(ConsoleView view) {
-	    synchronized (fConsoleViews) {
-	        fConsoleViews.add(view);
-	    }
-	}
-    public void unregisterConsoleView(ConsoleView view) {
-        synchronized (fConsoleViews) {
-            fConsoleViews.remove(view);
-        }
-    }
-    
-    /* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#addConsoleListener(org.eclipse.ui.console.IConsoleListener)
-	 */
-	public void addConsoleListener(IConsoleListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList();
-		}
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#removeConsoleListener(org.eclipse.ui.console.IConsoleListener)
-	 */
-	public void removeConsoleListener(IConsoleListener listener) {
-		if (fListeners != null) {
-			fListeners.remove(listener);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#addConsoles(org.eclipse.ui.console.IConsole[])
-	 */
-	public synchronized void addConsoles(IConsole[] consoles) {
-		List added = new ArrayList(consoles.length);
-		for (int i = 0; i < consoles.length; i++) {
-		    IConsole console = consoles[i];
-		    if(console instanceof TextConsole) {
-		        TextConsole ioconsole = (TextConsole)console;
-		        createPatternMatchListeners(ioconsole);
-		    }
-			if (!fConsoles.contains(console)) {
-				fConsoles.add(console);
-				added.add(console);
-			}
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IConsole[])added.toArray(new IConsole[added.size()]), ADDED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#removeConsoles(org.eclipse.ui.console.IConsole[])
-	 */
-	public synchronized void removeConsoles(IConsole[] consoles) {
-		List removed = new ArrayList(consoles.length);
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			if (fConsoles.remove(console)) {
-				removed.add(console);
-			}
-		}
-		if (!removed.isEmpty()) {
-			fireUpdate((IConsole[])removed.toArray(new IConsole[removed.size()]), REMOVED);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#getConsoles()
-	 */
-	public synchronized IConsole[] getConsoles() {
-		return (IConsole[])fConsoles.toArray(new IConsole[fConsoles.size()]);
-	}
-
-	/**
-	 * Fires notification.
-	 * 
-	 * @param consoles consoles added/removed
-	 * @param type ADD or REMOVE
-	 */
-	private void fireUpdate(IConsole[] consoles, int type) {
-		new ConsoleNotifier().notify(consoles, type);
-	}
-	
-	
-	private class ShowConsoleViewJob extends WorkbenchJob {
-		private IConsole console; 
-		
-		ShowConsoleViewJob() {
-			super("Show Console View"); //$NON-NLS-1$
-			setSystem(true);
-			setPriority(Job.SHORT);
-		}
-		
-		void setConsole(IConsole console) {
-			this.console = console;
-		}
-		
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-			boolean consoleFound = false;
-            IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-            if (window != null && console != null) {
-                IWorkbenchPage page= window.getActivePage();
-                if (page != null) {
-                    synchronized (fConsoleViews) {
-                        for (Iterator iter = fConsoleViews.iterator(); iter.hasNext();) {
-                            ConsoleView consoleView = (ConsoleView) iter.next();
-                            if (consoleView.getSite().getPage().equals(page)) {
-	                            boolean consoleVisible = page.isPartVisible(consoleView);
-	                            if (consoleVisible) {
-	                                consoleFound = true;
-	                                boolean bringToTop = shouldBringToTop(console, consoleView);
-	                                if (bringToTop) {
-	                                    page.bringToTop(consoleView);
-	                                }
-	                                consoleView.display(console);
-	                            }
-                            }
-                        }
-                    }
-                    
-                    if (!consoleFound) {
-                        try {
-                            IConsoleView consoleView = (IConsoleView) page.showView(IConsoleConstants.ID_CONSOLE_VIEW, null, IWorkbenchPage.VIEW_CREATE);
-                            boolean bringToTop = shouldBringToTop(console, consoleView);
-                            if (bringToTop) {
-                                page.bringToTop(consoleView);
-                            }
-                            consoleView.display(console);        
-                        } catch (PartInitException pie) {
-                            ConsolePlugin.log(pie);
-                        }
-                    }
-                }
-            }
-            console = null;
-			return Status.OK_STATUS;
-		}		
-	}
-	
-	private ShowConsoleViewJob showJob = new ShowConsoleViewJob();
-	/**
-	 * @see IConsoleManager#showConsoleView(IConsole)
-	 */
-	public void showConsoleView(final IConsole console) {
-		showJob.setConsole(console);
-		showJob.schedule(100);
-	}	
-	
-	/**
-	 * Returns whether the given console view should be brought to the top.
-	 * The view should not be brought to the top if the view is pinned on
-	 * a console other than the given console.
-	 */
-	private boolean shouldBringToTop(IConsole console, IViewPart consoleView) {
-		boolean bringToTop= true;
-		if (consoleView instanceof IConsoleView) {
-			IConsoleView cView= (IConsoleView)consoleView;
-			if (cView.isPinned()) {
-				IConsole pinnedConsole= cView.getConsole();
-				bringToTop = console.equals(pinnedConsole);
-			}
-		}
-		return bringToTop;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleManager#warnOfContentChange(org.eclipse.ui.console.IConsole)
-	 */
-	public void warnOfContentChange(final IConsole console) {
-		if (!fWarnQueued) {
-			fWarnQueued = true;
-			ConsolePlugin.getStandardDisplay().asyncExec(new Runnable(){
-				public void run() {
-					IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-					if (window != null) {
-						IWorkbenchPage page= window.getActivePage();
-						if (page != null) {
-							IConsoleView consoleView= (IConsoleView)page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-							if (consoleView != null) {
-								consoleView.warnOfContentChange(console);
-							}
-						} 
-					}	
-					fWarnQueued = false;
-				}			
-			});
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleManager#getPatternMatchListenerDelegates(org.eclipse.ui.console.IConsole)
-     */
-    public IPatternMatchListener[] createPatternMatchListeners(IConsole console) {
-    		if (fPatternMatchListeners == null) {
-    		    fPatternMatchListeners = new ArrayList();
-    			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_PATTERN_MATCH_LISTENERS);
-    			IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
-    			for (int i = 0; i < elements.length; i++) {
-    				IConfigurationElement config = elements[i];
-    				PatternMatchListenerExtension extension = new PatternMatchListenerExtension(config);
-    				fPatternMatchListeners.add(extension); 
-    			}
-    		}
-    		ArrayList list = new ArrayList();
-    		for(Iterator i = fPatternMatchListeners.iterator(); i.hasNext(); ) {
-    		    PatternMatchListenerExtension extension = (PatternMatchListenerExtension) i.next();
-                try {
-                    if (extension.getEnablementExpression() == null) {
-                        i.remove();
-                        continue;
-                    }
-    		    
-    		        if (console instanceof TextConsole && extension.isEnabledFor(console)) {
-                        TextConsole textConsole = (TextConsole) console;
-    		            PatternMatchListener patternMatchListener = new PatternMatchListener(extension);
-                        try {
-                            textConsole.addPatternMatchListener(patternMatchListener);
-                            list.add(patternMatchListener);
-                        } catch (PatternSyntaxException e) {
-                            ConsolePlugin.log(e);
-                            i.remove();
-                        }
-    		        }
-    		    } catch (CoreException e) {
-    		        ConsolePlugin.log(e);
-    		    }
-    		}
-        return (PatternMatchListener[])list.toArray(new PatternMatchListener[0]);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleManager#getPageParticipants(org.eclipse.ui.console.IConsole)
-     */
-    public IConsolePageParticipant[] getPageParticipants(IConsole console) {
-        if(fPageParticipants == null) {
-            fPageParticipants = new ArrayList();
-            IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_PAGE_PARTICIPANTS);
-            IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
-            for(int i = 0; i < elements.length; i++) {
-                IConfigurationElement config = elements[i];
-                ConsolePageParticipantExtension extension = new ConsolePageParticipantExtension(config);
-                fPageParticipants.add(extension);
-            }
-        }
-        ArrayList list = new ArrayList();
-        for(Iterator i = fPageParticipants.iterator(); i.hasNext(); ) {
-            ConsolePageParticipantExtension extension = (ConsolePageParticipantExtension) i.next();
-            try {
-                if (extension.isEnabledFor(console)) {
-                    list.add(extension.createDelegate());
-                }
-            } catch (CoreException e) {
-                ConsolePlugin.log(e);
-            }
-        }
-        return (IConsolePageParticipant[]) list.toArray(new IConsolePageParticipant[0]);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleManager#getConsoleFactories()
-     */
-    public ConsoleFactoryExtension[] getConsoleFactoryExtensions() {
-        if (fConsoleFactoryExtensions == null) {
-            fConsoleFactoryExtensions = new ArrayList();
-            IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_FACTORIES);
-            IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-            for (int i = 0; i < configurationElements.length; i++) {
-                fConsoleFactoryExtensions.add(new ConsoleFactoryExtension(configurationElements[i]));
-            }
-        }
-        return (ConsoleFactoryExtension[]) fConsoleFactoryExtensions.toArray(new ConsoleFactoryExtension[0]);
-    }
-    
-    
-    public void refresh(final IConsole console) {
-        fRepaintJob.addConsole(console);
-        fRepaintJob.schedule(50); 
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
deleted file mode 100644
index eaf17b1..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ConsoleMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.console.ConsoleMessages";//$NON-NLS-1$
-
-	public static String AbstractConsole_0;
-
-	public static String ConsoleDropDownAction_0;
-	public static String ConsoleDropDownAction_1;
-
-	public static String ConsoleManager_0;
-
-	public static String ConsoleView_0;
-
-	public static String PinConsoleAction_0;
-	public static String PinConsoleAction_1;
-
-	public static String ClearOutputAction_title;
-	public static String ClearOutputAction_toolTipText;
-
-	public static String TextViewerGotoLineAction_Enter_line_number__8;
-	public static String TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2;
-	public static String TextViewerGotoLineAction_Go_to__Line____Ctrl_L_4;
-	public static String TextViewerGotoLineAction_Go_To_Line_1;
-	public static String TextViewerGotoLineAction_Line_number_out_of_range_1;
-	public static String TextViewerGotoLineAction_Not_a_number_2;
-
-	public static String ScrollLockAction_0;
-	public static String ScrollLockAction_1;
-	public static String FollowHyperlinkAction_0;
-	public static String FollowHyperlinkAction_1;
-	public static String OpenConsoleAction_0;
-	public static String OpenConsoleAction_1;
-	public static String CloseConsoleAction_0;
-	public static String CloseConsoleAction_1;
-
-    public static String TextConsolePage_SelectAllDescrip;
-    public static String TextConsolePage_SelectAllText;
-    public static String TextConsolePage_CutText;
-    public static String TextConsolePage_CutDescrip;
-    public static String TextConsolePage_CopyText;
-    public static String TextConsolePage_CopyDescrip;
-    public static String TextConsolePage_PasteText;
-    public static String TextConsolePage_PasteDescrip;
-    
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ConsoleMessages.class);
-	}
-
-    public static String PatternMatchListenerExtension_3;
-
-    public static String PatternMatchListenerExtension_4;
-
-    public static String PatternMatchListenerExtension_5;
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
deleted file mode 100644
index 3d835a4..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractConsole_0=Exception occurred during console property change notification.
-
-ConsoleDropDownAction_0=Select Console
-ConsoleDropDownAction_1=Display Selected Console
-
-ConsoleManager_0=An exception occurred during console notification
-
-ConsoleView_0=No consoles to display at this time.
-
-PinConsoleAction_0=Pi&n Console
-PinConsoleAction_1=Pin Console
-
-ClearOutputAction_title=Clea&r
-ClearOutputAction_toolTipText=Clear Console
-
-TextViewerGotoLineAction_Enter_line_number__8=Enter line number (1...{0}):
-TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2=Exceptions occurred attempt to go to line
-TextViewerGotoLineAction_Go_to__Line____Ctrl_L_4=Go to &Line...@Ctrl+L
-TextViewerGotoLineAction_Go_To_Line_1=Go to Line
-TextViewerGotoLineAction_Line_number_out_of_range_1=Line number out of range
-TextViewerGotoLineAction_Not_a_number_2=Not a number
-
-ScrollLockAction_0=&Scroll Lock
-ScrollLockAction_1=Scroll Lock
-FollowHyperlinkAction_0=&Open Link
-FollowHyperlinkAction_1=Follow the selected hyperlink
-OpenConsoleAction_0=Open Console
-OpenConsoleAction_1=Open Console
-CloseConsoleAction_0=&Close Console
-CloseConsoleAction_1=Close Console
-
-TextConsolePage_SelectAllDescrip=Select All
-TextConsolePage_SelectAllText=Select &All
-TextConsolePage_CutText=C&ut
-TextConsolePage_CutDescrip=Cut
-TextConsolePage_CopyText=&Copy
-TextConsolePage_CopyDescrip=Copy
-TextConsolePage_PasteText=&Paste
-TextConsolePage_PasteDescrip=Paste
-PatternMatchListenerExtension_3=Console Pattern Match Listener
-PatternMatchListenerExtension_4=contributed by
-PatternMatchListenerExtension_5=is missing required enablement expression and will be removed
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
deleted file mode 100644
index c329cdb..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsolePageParticipant;
-
-public class ConsolePageParticipantExtension implements IPluginContribution {
-
-    private IConfigurationElement fConfig;
-    private Expression fEnablementExpression;
-
-    public ConsolePageParticipantExtension(IConfigurationElement config) {
-        fConfig = config;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getLocalId()
-     */
-    public String getLocalId() {
-        return fConfig.getAttribute("id"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getPluginId()
-     */
-    public String getPluginId() {
-        return fConfig.getContributor().getName();
-    }
-    
-    public boolean isEnabledFor(IConsole console) throws CoreException {
-        EvaluationContext context = new EvaluationContext(null, console);
-        EvaluationResult evaluationResult = getEnablementExpression().evaluate(context);
-        return evaluationResult == EvaluationResult.TRUE;
-    }
-    
-    public Expression getEnablementExpression() throws CoreException {
-		if (fEnablementExpression == null) {
-			IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-
-			if (enablement != null) {
-			    fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
-			}
-		}
-		return fEnablementExpression;
-    }
-
-    public IConsolePageParticipant createDelegate() throws CoreException {
-        return (IConsolePageParticipant) fConfig.createExecutableExtension("class"); //$NON-NLS-1$;
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
deleted file mode 100644
index 0a69d5f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class ConsolePatternMatcher implements IDocumentListener {
-
-    private MatchJob fMatchJob = new MatchJob();
-
-    /**
-     * Collection of compiled pattern match listeners
-     */
-    private ArrayList fPatterns = new ArrayList();
-
-    private TextConsole fConsole;
-
-    private boolean fFinalMatch;
-
-	private boolean fScheduleFinal;
-
-    public ConsolePatternMatcher(TextConsole console) {
-        fConsole = console;
-    }
-
-    private class MatchJob extends Job {
-        MatchJob() {
-            super("Match Job"); //$NON-NLS-1$
-            setSystem(true);
-        }
-
-        /*
-         * (non-Javadoc)
-         * 
-         * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        protected IStatus run(IProgressMonitor monitor) {
-			IDocument doc = fConsole.getDocument();
-			String text = null;
-			int prevBaseOffset = -1;
-			if (doc != null && !monitor.isCanceled()) {
-				int endOfSearch = doc.getLength();
-				int indexOfLastChar = endOfSearch;
-				if (indexOfLastChar > 0) {
-					indexOfLastChar--;
-				}
-				int lastLineToSearch = 0;
-				int offsetOfLastLineToSearch = 0;
-				try {
-					lastLineToSearch = doc.getLineOfOffset(indexOfLastChar);
-					offsetOfLastLineToSearch = doc.getLineOffset(lastLineToSearch);
-				} catch (BadLocationException e) {
-					// perhaps the buffer was re-set
-					return Status.OK_STATUS;
-				}
-				for (int i = 0; i < fPatterns.size(); i++) {
-					if (monitor.isCanceled()) {
-						break;
-					}
-					CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) fPatterns.get(i);
-					int baseOffset = notifier.end;
-					int lengthToSearch = endOfSearch - baseOffset;
-					if (lengthToSearch > 0) {
-						try {
-							if (prevBaseOffset != baseOffset) {
-								// reuse the text string if possible
-								text = doc.get(baseOffset, lengthToSearch);
-							}
-							Matcher reg = notifier.pattern.matcher(text);
-							Matcher quick = null;
-							if (notifier.qualifier != null) {
-								quick = notifier.qualifier.matcher(text);
-							}
-							int startOfNextSearch = 0;
-							int endOfLastMatch = -1;
-							int lineOfLastMatch = -1;
-							while ((startOfNextSearch < lengthToSearch) && !monitor.isCanceled()) {
-								if (quick != null) {
-									if (quick.find(startOfNextSearch)) {
-										// start searching on the beginning
-										// of the line where the potential
-										// match was found, or after the
-										// last match on the same line
-										int matchLine = doc.getLineOfOffset(baseOffset + quick.start());
-										if (lineOfLastMatch == matchLine) {
-											startOfNextSearch = endOfLastMatch;
-										} else {
-											startOfNextSearch = doc.getLineOffset(matchLine) - baseOffset;
-										}
-									} else {
-										startOfNextSearch = lengthToSearch;
-									}
-								}
-								if (startOfNextSearch < 0) {
-									startOfNextSearch = 0;
-								}
-								if (startOfNextSearch < lengthToSearch) {
-									if (reg.find(startOfNextSearch)) {
-										endOfLastMatch = reg.end();
-										lineOfLastMatch = doc.getLineOfOffset(baseOffset + endOfLastMatch - 1);
-										int regStart = reg.start();
-										IPatternMatchListener listener = notifier.listener;
-										if (listener != null && !monitor.isCanceled()) {
-											listener.matchFound(new PatternMatchEvent(fConsole, baseOffset + regStart, endOfLastMatch - regStart));
-										}
-										startOfNextSearch = endOfLastMatch;
-									} else {
-										startOfNextSearch = lengthToSearch;
-									}
-								}
-							}
-							// update start of next search to the last line
-							// searched
-							// or the end of the last match if it was on the
-							// line that
-							// was last searched
-							if (lastLineToSearch == lineOfLastMatch) {
-								notifier.end = baseOffset + endOfLastMatch;
-							} else {
-								notifier.end = offsetOfLastLineToSearch;
-							}
-						} catch (BadLocationException e) {
-							ConsolePlugin.log(e);
-						}
-					}
-					prevBaseOffset = baseOffset;
-				}
-			}
-
-			if (fFinalMatch) {
-				disconnect();
-				fConsole.matcherFinished();
-			} else if (fScheduleFinal) {
-				fFinalMatch = true;
-				schedule();
-			}
-
-			return Status.OK_STATUS;
-		}
-
-        public boolean belongsTo(Object family) {
-            return family == fConsole;
-        }
-        
-        
-    }
-
-    private class CompiledPatternMatchListener {
-        Pattern pattern;
-
-        Pattern qualifier;
-
-        IPatternMatchListener listener;
-
-        int end = 0;
-
-        CompiledPatternMatchListener(Pattern pattern, Pattern qualifier, IPatternMatchListener matchListener) {
-            this.pattern = pattern;
-            this.listener = matchListener;
-            this.qualifier = qualifier;
-        }
-
-        public void dispose() {
-            listener.disconnect();
-            pattern = null;
-            qualifier = null;
-            listener = null;
-        }
-    }
-
-    /**
-	 * Adds the given pattern match listener to this console. The listener will
-	 * be connected and receive match notifications.
-	 * 
-	 * @param matchListener
-	 *            the pattern match listener to add
-	 */
-    public void addPatternMatchListener(IPatternMatchListener matchListener) {
-        synchronized (fPatterns) {
-            
-            // check for dups
-            for (Iterator iter = fPatterns.iterator(); iter.hasNext();) {
-                CompiledPatternMatchListener element = (CompiledPatternMatchListener) iter.next();
-                if (element.listener == matchListener) {
-                    return;
-                }
-            }
-            
-            if (matchListener == null || matchListener.getPattern() == null) {
-                throw new IllegalArgumentException("Pattern cannot be null"); //$NON-NLS-1$
-            }
-
-            Pattern pattern = Pattern.compile(matchListener.getPattern(), matchListener.getCompilerFlags());
-            String qualifier = matchListener.getLineQualifier();
-            Pattern qPattern = null;
-            if (qualifier != null) {
-                qPattern = Pattern.compile(qualifier, matchListener.getCompilerFlags());
-            }
-            CompiledPatternMatchListener notifier = new CompiledPatternMatchListener(pattern, qPattern, matchListener);
-            fPatterns.add(notifier);
-            matchListener.connect(fConsole);
-            fMatchJob.schedule();
-        }
-    }
-
-    /**
-     * Removes the given pattern match listener from this console. The listener
-     * will be disconnected and will no longer receive match notifications.
-     * 
-     * @param matchListener
-     *            the pattern match listener to remove.
-     */
-    public void removePatternMatchListener(IPatternMatchListener matchListener) {
-        synchronized (fPatterns) {
-            for (Iterator iter = fPatterns.iterator(); iter.hasNext();) {
-                CompiledPatternMatchListener element = (CompiledPatternMatchListener) iter.next();
-                if (element.listener == matchListener) {
-                    iter.remove();
-                    matchListener.disconnect();
-                }
-            }
-        }
-    }
-
-    public void disconnect() {
-        fMatchJob.cancel();
-        synchronized (fPatterns) {
-            Iterator iterator = fPatterns.iterator();
-            while (iterator.hasNext()) {
-                CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iterator.next();
-                notifier.dispose();
-            }
-            fPatterns.clear();
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-     */
-    public void documentAboutToBeChanged(DocumentEvent event) {
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-     */
-    public void documentChanged(DocumentEvent event) {
-        if (event.fLength > 0) {
-            synchronized (fPatterns) {
-                if (event.fDocument.getLength() == 0) {
-                    // document has been cleared, reset match listeners
-                    Iterator iter = fPatterns.iterator();
-                    while (iter.hasNext()) {
-                        CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iter.next();
-                        notifier.end = 0;
-                    }
-                } else {
-                    if (event.fOffset == 0) { 
-                        //document was trimmed
-                        Iterator iter = fPatterns.iterator();
-                        while (iter.hasNext()) {
-                            CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iter.next();
-                            notifier.end = notifier.end > event.fLength ? notifier.end-event.fLength : 0;
-                        }
-                    }
-                }
-            }
-        }
-        fMatchJob.schedule();
-    }
-
-    
-    public void forceFinalMatching() {
-    	fScheduleFinal = true;
-    	fMatchJob.schedule();
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
deleted file mode 100644
index c5abc8c..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * The images provided by the debug plugin.
- */
-public class ConsolePluginImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s and the <code>ImageDescriptor</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-		
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-		ICON_BASE_URL= ConsolePlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String LOCALTOOL= "clcl16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String DLCL= "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$
-	private final static String ELCL= "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
-	private final static String VIEW= "cview16/"; // views //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-		// Actions
-		
-		//local toolbars
-		declareRegistryImage(IConsoleConstants.IMG_LCL_CLEAR, LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_LCL_PIN, LOCALTOOL + "pin.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_LCL_LOCK, LOCALTOOL + "lock_co.gif"); //$NON-NLS-1$
-			
-		// disabled local toolbars
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_CLEAR, DLCL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_PIN, DLCL + "pin.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_LOCK, DLCL + "lock_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_CLOSE, DLCL + "rem_co.gif"); //$NON-NLS-1$
-		
-		// enabled local toolbars
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLEAR, ELCL + "clear_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_PIN, ELCL + "pin.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_LOCK, ELCL + "lock_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLOSE, ELCL + "rem_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_NEW_CON, ELCL + "new_con.gif"); //$NON-NLS-1$
-		
-		// Views
-		declareRegistryImage(IConsoleConstants.IMG_VIEW_CONSOLE, VIEW + "console_view.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) {
-			ConsolePlugin.log(me);
-		}
-		imageRegistry.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 *	@see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ConsolePlugin.getStandardDisplay());
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return getImageRegistry().getDescriptor(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.java
deleted file mode 100644
index 33b7d85..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ConsoleResourceBundleMessages {
-    private static final String BUNDLE_NAME = "org.eclipse.ui.internal.console.ConsoleResourceBundleMessages"; //$NON-NLS-1$
-
-    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-    private ConsoleResourceBundleMessages() {
-    }
-
-    public static String getString(String key) {
-        try {
-            return RESOURCE_BUNDLE.getString(key);
-        } catch (MissingResourceException e) {
-            return '!' + key + '!';
-        }
-    }
-
-    public static ResourceBundle getBundle() {
-        return RESOURCE_BUNDLE; 
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.properties b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.properties
deleted file mode 100644
index 9aeb0ef..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleResourceBundleMessages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-
-# These strings are used by the Find Replace Action and loaded as a Resource Bundle.
-# See TextConsolePage.createActions()
-
-find_replace_action_label=&Find/Replace...
-find_replace_action_tooltip=Find/Replace
-find_replace_action_image=
-find_replace_action_description=Find/Replace
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
deleted file mode 100644
index 46dc213..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.ui.console.IConsole;
-
-/**
- * Tests if an IOConsole's type matches the expected value
- * 
- * @since 3.1
- */
-public class ConsoleTypePropertyTester extends PropertyTester {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-     */
-    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-        IConsole console = (IConsole) receiver;
-        String type = console.getType();
-        return type != null ? type.equals(expectedValue) : false;
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
deleted file mode 100644
index 0d2a382..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ /dev/null
@@ -1,715 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.AbstractConsole;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsolePageParticipant;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-/**
- * Page book console view.
- * 
- * @since 3.0
- */
-public class ConsoleView extends PageBookView implements IConsoleView, IConsoleListener, IPropertyChangeListener, IPartListener2 {
-	
-	/**
-	 * Whether this console is pinned.
-	 */
-	private boolean fPinned = false;
-	
-	/**
-	 * Stack of consoles in MRU order
-	 */
-	private List fStack = new ArrayList();
-	
-	/**
-	 * The console being displayed, or <code>null</code> if none
-	 */
-	private IConsole fActiveConsole = null;
-	
-	/**
-	 * Map of consoles to dummy console parts (used to close pages)
-	 */
-	private Map fConsoleToPart;
-	
-	/**
-	 * Map of consoles to array of page participants
-	 */
-	private Map fConsoleToPageParticipants;
-	
-	/**
-	 * Map of parts to consoles
-	 */
-	private Map fPartToConsole;
-	
-	/**
-	 * Whether this view is active
-	 */
-	private boolean fActive = false;
-	
-	// actions
-	private PinConsoleAction fPinAction = null; 
-	private ConsoleDropDownAction fDisplayConsoleAction = null;
-	
-	private OpenConsoleAction fOpenConsoleAction = null;
-
-    private boolean fScrollLock;
-
-	private boolean isAvailable() {
-		return getPageBook() != null && !getPageBook().isDisposed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		Object source = event.getSource();
-		if (source instanceof IConsole && event.getProperty().equals(IBasicPropertyConstants.P_TEXT)) {
-			if (source.equals(getConsole())) {
-				updateTitle();
-			}
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		super.partClosed(part);
-		fPinAction.update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.console.IConsoleView#getConsole()
-	 */
-	public IConsole getConsole() {
-		return fActiveConsole;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#showPageRec(org.eclipse.ui.part.PageBookView.PageRec)
-	 */
-	protected void showPageRec(PageRec pageRec) {
-        // don't show the page when pinned, unless this is the first console to be added
-        // or its the default page
-        if (fActiveConsole != null && pageRec.page != getDefaultPage() && fPinned && fConsoleToPart.size() > 1) {
-            IConsole console = (IConsole)fPartToConsole.get(pageRec.part);
-            if (!fStack.contains(console)) {
-                fStack.add(console);
-            }
-            return;
-        }
-        
-        IConsole recConsole = (IConsole)fPartToConsole.get(pageRec.part);
-        if (recConsole!=null && recConsole.equals(fActiveConsole)) {
-            return;
-        }
-        
-	    super.showPageRec(pageRec);
-	    fActiveConsole = recConsole;
-	    IConsole tos = null;
-	    if (!fStack.isEmpty()) {
-	        tos = (IConsole) fStack.get(0);
-	    }
-	    if (tos != null && !tos.equals(fActiveConsole)) {
-	        deactivateParticipants(tos);
-	    }
-	    if (fActiveConsole != null && !fActiveConsole.equals(tos)) {
-	        fStack.remove(fActiveConsole);
-	        fStack.add(0,fActiveConsole);
-	        activateParticipants(fActiveConsole);
-	    }
-	    updateTitle();	
-	    updateHelp();
-	    // update console actions
-	    if (fPinAction != null) {
-	        fPinAction.update();
-	    }
-	    IPage page = getCurrentPage();
-	    if (page instanceof IOConsolePage) {
-	        ((IOConsolePage)page).setAutoScroll(!fScrollLock);
-	    }
-	}
-	
-	/**
-	 * Activates the participants for the given console, if any.
-	 * 
-	 * @param console
-	 */
-	private void activateParticipants(IConsole console) {
-		// activate
-		if (console != null && fActive) {
-			final ListenerList listeners = getParticipants(console);
-			if (listeners != null) {
-				Object[] participants = listeners.getListeners();
-			    for (int i = 0; i < participants.length; i++) {
-			    	final IConsolePageParticipant participant = (IConsolePageParticipant) participants[i];
-			    	SafeRunner.run(new ISafeRunnable() {
-						public void run() throws Exception {
-							participant.activated();
-						}
-						public void handleException(Throwable exception) {
-							ConsolePlugin.log(exception);
-							listeners.remove(participant);
-						}
-					});
-			    }
-			}
-		}
-	}
-
-	/**
-	 * Returns a stack of consoles in the view in MRU order.
-	 * 
-	 * @return a stack of consoles in the view in MRU order
-	 */
-	protected List getConsoleStack() {
-		return fStack;
-	}
-
-	/**
-	 * Updates the view title based on the active console
-	 */
-    protected void updateTitle() {
-        IConsole console = getConsole();
-        if (console == null) {
-            setContentDescription(ConsoleMessages.ConsoleView_0); 
-        } else {
-            String newName = console.getName();
-            String oldName = getContentDescription();
-            if (newName!=null && !(newName.equals(oldName))) {
-                setContentDescription(console.getName()); 
-            }
-        }
-    }
-    
-    protected void updateHelp() {
-    	IConsole console = getConsole();
-    	String helpContextId = null;
-		if (console instanceof AbstractConsole) {
-			AbstractConsole abs = (AbstractConsole) console;
-			helpContextId = abs.getHelpContextId();
-		}
-		if (helpContextId == null) {
-			helpContextId = IConsoleHelpContextIds.CONSOLE_VIEW;
-		}
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getPageBook().getParent(), helpContextId);
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)
-	 */
-	protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
-	    IConsole console = (IConsole)fPartToConsole.get(part);
-	    
-		// dispose page participants
-		ListenerList listeners = (ListenerList) fConsoleToPageParticipants.remove(console);
-		if (listeners != null) {
-			Object[] participants = listeners.getListeners();
-			for (int i = 0; i < participants.length; i++) {
-	            final IConsolePageParticipant participant = (IConsolePageParticipant) participants[i];
-	            SafeRunner.run(new ISafeRunnable() {
-					public void run() throws Exception {
-						participant.dispose();
-					}
-					public void handleException(Throwable exception) {
-						ConsolePlugin.log(exception);
-					}
-				});
-	        }
-		}
-
-		IPage page = pageRecord.page;
-		page.dispose();
-		pageRecord.dispose();
-		console.removePropertyChangeListener(this);
-						
-		// empty cross-reference cache
-		fPartToConsole.remove(part);
-		fConsoleToPart.remove(console);
-        if (fPartToConsole.isEmpty()) {
-            fActiveConsole = null;
-        }
-		
-		// update console actions
-		fPinAction.update();		
-	}
-	
-	/**
-	 * Returns the page participants registered for the given console, or <code>null</code>
-	 * 
-	 * @param console
-	 * @return registered page participants or <code>null</code>
-	 */
-	private ListenerList getParticipants(IConsole console) {
-	    return (ListenerList) fConsoleToPageParticipants.get(console);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected PageRec doCreatePage(IWorkbenchPart dummyPart) {
-		ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)dummyPart;
-		final IConsole console = part.getConsole();
-		final IPageBookViewPage page = console.createPage(this);
-		initPage(page);
-		page.createControl(getPageBook());
-		console.addPropertyChangeListener(this);
-		
-		// initialize page participants
-		IConsolePageParticipant[] consoleParticipants = ((ConsoleManager)getConsoleManager()).getPageParticipants(console);
-		final ListenerList participants = new ListenerList();
-		for (int i = 0; i < consoleParticipants.length; i++) {
-			participants.add(consoleParticipants[i]);
-		}
-		fConsoleToPageParticipants.put(console, participants);
-		Object[] listeners = participants.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-            final IConsolePageParticipant participant = (IConsolePageParticipant) listeners[i];
-            SafeRunner.run(new ISafeRunnable() {
-				public void run() throws Exception {
-					participant.init(page, console);
-				}
-				public void handleException(Throwable exception) {
-					ConsolePlugin.log(exception);
-					participants.remove(participant);
-				}
-			});
-        }
-		
-		PageRec rec = new PageRec(dummyPart, page);
-		return rec;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#isImportant(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean isImportant(IWorkbenchPart part) {
-		return part instanceof ConsoleWorkbenchPart;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		getViewSite().getPage().removePartListener((IPartListener2)this);
-        ConsoleManager consoleManager = (ConsoleManager) ConsolePlugin.getDefault().getConsoleManager();
-        consoleManager.removeConsoleListener(this);        
-        consoleManager.unregisterConsoleView(this);
-	}
-
-	/**
-	 * Returns the console manager.
-	 * 
-     * @return the console manager
-     */
-    private IConsoleManager getConsoleManager() {
-        return ConsolePlugin.getDefault().getConsoleManager();
-    }
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#createDefaultPage(org.eclipse.ui.part.PageBook)
-	 */
-	protected IPage createDefaultPage(PageBook book) {
-		MessagePage page = new MessagePage();
-		page.createControl(getPageBook());
-		initPage(page);
-		return page;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesAdded(final IConsole[] consoles) {
-		if (isAvailable()) {
-			Runnable r = new Runnable() {
-				public void run() {
-					for (int i = 0; i < consoles.length; i++) {
-						if (isAvailable()) {
-							IConsole console = consoles[i];
-							// ensure it's still registered since this is done asynchronously
-							IConsole[] allConsoles = getConsoleManager().getConsoles();
-							for (int j = 0; j < allConsoles.length; j++) {
-                                IConsole registered = allConsoles[j];
-                                if (registered.equals(console)) {
-        							ConsoleWorkbenchPart part = new ConsoleWorkbenchPart(console, getSite());
-        							fConsoleToPart.put(console, part);
-        							fPartToConsole.put(part, console);
-        							partActivated(part);
-        							break;
-                                }
-                            }
-
-						}
-					}
-				}
-			};
-			asyncExec(r);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
-	 */
-	public void consolesRemoved(final IConsole[] consoles) {
-		if (isAvailable()) {
-			Runnable r = new Runnable() {
-				public void run() {
-					for (int i = 0; i < consoles.length; i++) {
-						if (isAvailable()) {
-							IConsole console = consoles[i];
-							fStack.remove(console);
-							ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
-							if (part != null) {
-								partClosed(part);
-							}
-							if (getConsole() == null) {
-								IConsole[] available = getConsoleManager().getConsoles();
-								if (available.length > 0) {
-									display(available[available.length - 1]);
-								}
-							}
-						}
-					}
-				}
-			};
-			asyncExec(r);
-		}
-	}
-
-	/**
-	 * Constructs a console view
-	 */
-	public ConsoleView() {
-		super();
-		fConsoleToPart = new HashMap();
-		fPartToConsole = new HashMap();
-		fConsoleToPageParticipants = new HashMap();
-        
-		ConsoleManager consoleManager = (ConsoleManager) ConsolePlugin.getDefault().getConsoleManager();
-		consoleManager.registerConsoleView(this);
-	}
-	
-	protected void createActions() {
-		fPinAction = new PinConsoleAction(this);
-		fDisplayConsoleAction = new ConsoleDropDownAction(this);
-		ConsoleFactoryExtension[] extensions = ((ConsoleManager)ConsolePlugin.getDefault().getConsoleManager()).getConsoleFactoryExtensions();
-		if (extensions.length > 0) {
-		    fOpenConsoleAction = new OpenConsoleAction();
-		}
-	}
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.add(new Separator(IConsoleConstants.LAUNCH_GROUP));
-		mgr.add(new Separator(IConsoleConstants.OUTPUT_GROUP));
-		mgr.add(new Separator("fixedGroup")); //$NON-NLS-1$
-		mgr.add(fPinAction);
-		mgr.add(fDisplayConsoleAction);
-		if (fOpenConsoleAction != null) {
-		    mgr.add(fOpenConsoleAction);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#display(org.eclipse.ui.console.IConsole)
-	 */
-	public void display(IConsole console) {
-	    if (fPinned && fActiveConsole != null) {
-            return;
-        }
-        if (console.equals(fActiveConsole)) {
-            return;
-        }
-	    ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
-	    if (part != null) {
-	        partActivated(part);
-	    }
-	}
-
-	/*/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#pin(org.eclipse.ui.console.IConsole)
-	 */
-	public void setPinned(boolean pin) {
-        fPinned = pin;
-	    if (fPinAction != null) {
-			fPinAction.update();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#isPinned()
-	 */
-	public boolean isPinned() {
-		return fPinned;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#getBootstrapPart()
-	 */
-	protected IWorkbenchPart getBootstrapPart() {
-		return null;
-	}
-	
-	/**
-	 * Registers the given runnable with the display
-	 * associated with this view's control, if any.
-	 * 
-	 * @see org.eclipse.swt.widgets.Display#asyncExec(java.lang.Runnable)
-	 */
-	public void asyncExec(Runnable r) {
-		if (isAvailable()) {
-			getPageBook().getDisplay().asyncExec(r);
-		}
-	}
-	
-	/**
-	 * Creates this view's underlying viewer and actions.
-	 * Hooks a pop-up menu to the underlying viewer's control,
-	 * as well as a key listener. When the delete key is pressed,
-	 * the <code>REMOVE_ACTION</code> is invoked. Hooks help to
-	 * this view. Subclasses must implement the following methods
-	 * which are called in the following order when a view is
-	 * created:<ul>
-	 * <li><code>createViewer(Composite)</code> - the context
-	 *   menu is hooked to the viewer's control.</li>
-	 * <li><code>createActions()</code></li>
-	 * <li><code>configureToolBar(IToolBarManager)</code></li>
-	 * <li><code>getHelpContextId()</code></li>
-	 * </ul>
-	 * @see IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		createActions();
-		IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
-		configureToolBar(tbm);
-		updateForExistingConsoles();
-		getViewSite().getActionBars().updateActionBars();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IConsoleHelpContextIds.CONSOLE_VIEW);
-		getViewSite().getPage().addPartListener((IPartListener2)this);
-	}
-	
-	/**
-	 * Initialize for existing consoles
-	 */
-	private void updateForExistingConsoles() {
-		IConsoleManager manager = getConsoleManager();
-		// create pages for consoles
-		IConsole[] consoles = manager.getConsoles();
-		consolesAdded(consoles);
-		// add as a listener
-		manager.addConsoleListener(this);		
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#warnOfContentChange(org.eclipse.ui.console.IConsole)
-	 */
-	public void warnOfContentChange(IConsole console) {
-		IWorkbenchPart part = (IWorkbenchPart)fConsoleToPart.get(console);
-		if (part != null) {
-			IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) part.getSite().getAdapter(IWorkbenchSiteProgressService.class);
-			if (service != null) {
-				service.warnOfContentChange();
-			}
-		}
-	}
-	
-    public Object getAdapter(Class key) {
-        Object adpater = super.getAdapter(key);
-        if (adpater == null) {
-            IConsole console = getConsole();
-            if (console != null) {
-                ListenerList listeners = getParticipants(console);
-                // an adapter can be asked for before the console participants are created
-                if (listeners != null) {
-                	Object[] participants = listeners.getListeners();
-                    for (int i = 0; i < participants.length; i++) {
-                        IConsolePageParticipant participant = (IConsolePageParticipant) participants[i];
-                        adpater = participant.getAdapter(key);
-                        if (adpater != null) {
-                            return adpater;
-                        }
-                    }
-                }
-            }
-        }
-        return adpater;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partActivated(IWorkbenchPartReference partRef) {
-		if (isThisPart(partRef)) {
-			fActive = true;
-			activateParticipants(fActiveConsole); 
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partBroughtToTop(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partClosed(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partDeactivated(IWorkbenchPartReference partRef) {
-        if (isThisPart(partRef)) {
-			fActive = false;
-			deactivateParticipants(fActiveConsole);
-        }
-	}
-    
-    protected boolean isThisPart(IWorkbenchPartReference partRef) {
-        if (partRef instanceof IViewReference) {
-            IViewReference viewRef = (IViewReference) partRef;
-            if (viewRef.getId().equals(getViewSite().getId())) {
-                String secId = viewRef.getSecondaryId();
-                String mySec = null;
-                if (getSite() instanceof IViewSite) {
-                    mySec = ((IViewSite)getSite()).getSecondaryId();
-                }
-                if (mySec == null) {
-                    return secId == null;
-                }
-                return mySec.equals(secId);
-            }
-        }
-        return false;
-    }
-
-	/**
-	 * Deactivates participants for the given console, if any.
-	 * 
-	 * @param console console to deactivate
-	 */
-	private void deactivateParticipants(IConsole console) {
-		// deactivate
-	    if (console != null) {
-			final ListenerList listeners = getParticipants(console);
-			if (listeners != null) {
-				Object[] participants = listeners.getListeners();
-			    for (int i = 0; i < participants.length; i++) {
-			    	final IConsolePageParticipant participant = (IConsolePageParticipant) participants[i];
-			    	SafeRunner.run(new ISafeRunnable() {
-						public void run() throws Exception {
-							participant.deactivated();
-						}
-						public void handleException(Throwable exception) {
-							ConsolePlugin.log(exception);
-							listeners.remove(participant);
-						}
-					});
-                }
-			}
-	    }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partOpened(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partHidden(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partVisible(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partInputChanged(IWorkbenchPartReference partRef) {		
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleView#setScrollLock(boolean)
-     */
-    public void setScrollLock(boolean scrollLock) {
-        fScrollLock = scrollLock;
-
-        IPage page = getCurrentPage();
-        if (page instanceof IOConsolePage) {
-            ((IOConsolePage)page).setAutoScroll(!scrollLock);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleView#getScrollLock()
-     */
-    public boolean getScrollLock() {
-        return fScrollLock;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleView#pin(org.eclipse.ui.console.IConsole)
-     */
-    public void pin(IConsole console) {
-        if (console == null) {
-            setPinned(false);
-        } else {
-            if (isPinned()) {
-                setPinned(false);
-            }
-            display(console);
-            setPinned(true);
-        }
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java
deleted file mode 100644
index 8a32fc8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleFactory;
-
-public class ConsoleViewConsoleFactory implements IConsoleFactory {
-
-    int counter = 1;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.IConsoleFactory#openConsole()
-     */
-    public void openConsole() {
-        IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-        if (window != null) {
-            IWorkbenchPage page = window.getActivePage();
-            if (page != null) {
-                try {
-                    String secondaryId = "Console View #" + counter; //$NON-NLS-1$
-                    page.showView(IConsoleConstants.ID_CONSOLE_VIEW, secondaryId, 1);
-                    counter++;
-                } catch (PartInitException e) {
-                    ConsolePlugin.log(e);
-                }
-            }
-        }
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
deleted file mode 100644
index e3377a4..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.console.IConsole;
-
-/**
- * Fake part to use as keys in page book for console pages
- */
-public class ConsoleWorkbenchPart implements IWorkbenchPart {
-
-	private IConsole fConsole = null;
-	private IWorkbenchPartSite fSite = null;
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return (obj instanceof ConsoleWorkbenchPart) &&
-			fConsole.equals(((ConsoleWorkbenchPart)obj).fConsole);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fConsole.hashCode();
-	}
-
-	/**
-	 * Constructs a part for the given console that binds to the given
-	 * site
-	 */
-	public ConsoleWorkbenchPart(IConsole console, IWorkbenchPartSite site) {
-		fConsole = console;
-		fSite = site;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void addPropertyListener(IPropertyListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getSite()
-	 */
-	public IWorkbenchPartSite getSite() {
-		return fSite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip()
-	 */
-	public String getTitleToolTip() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(org.eclipse.ui.IPropertyListener)
-	 */
-	public void removePropertyListener(IPropertyListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * Returns the console associated with this part.
-	 * 
-	 * @return console associated with this part
-	 */
-	protected IConsole getConsole() {
-		return fConsole;
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
deleted file mode 100644
index 492dfd5..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * Follows a hyperlink in the console
- * 
- * @since 3.1
- */
-public class FollowHyperlinkAction extends Action {
-
-	private TextConsoleViewer viewer;
-
-    /**
-	 * Constructs a follow link action
-	 */
-	public FollowHyperlinkAction(TextConsoleViewer consoleViewer) {
-	    super(ConsoleMessages.FollowHyperlinkAction_0); 
-		setToolTipText(ConsoleMessages.FollowHyperlinkAction_1); 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_OPEN_LINK_ACTION);
-		this.viewer = consoleViewer;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IAction#isEnabled()
-     */
-    public boolean isEnabled() {
-        return viewer.getHyperlink() != null;
-    }
-	
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.action.IAction#run()
-     */
-	public void run() {
-		IHyperlink link = viewer.getHyperlink();
-		if (link != null) {
-			link.linkActivated();
-		}
-	}
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/HyperlinkUpdater.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/HyperlinkUpdater.java
deleted file mode 100644
index 3ed6aa7..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/HyperlinkUpdater.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-
-/**
- * When any region of a hyperlink is replaced, the hyperlink needs to be deleted.
- * 
- * @since 3.3
- */
-public class HyperlinkUpdater extends DefaultPositionUpdater {
-
-	/**
-	 * @param category
-	 */
-	public HyperlinkUpdater() {
-		super(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-	}
-	/**
-	 * When any region of a hyperlink is replaced, the hyperlink needs to be deleted.
-	 *
-	 * @return <code>true</code> if position has NOT been deleted
-	 */
-	protected boolean notDeleted() {
-
-		int positionEnd = fPosition.offset + fPosition.length - 1;
-		int editEnd = fOffset + fLength - 1;
-		if ((fOffset <= fPosition.offset && (editEnd > fPosition.offset)) ||
-			(fOffset < positionEnd && (editEnd > positionEnd)) ||
-			(fOffset >= fPosition.offset && fOffset <= positionEnd) ||
-			(editEnd >= fPosition.offset && editEnd <= positionEnd)) {
-
-			fPosition.delete();
-
-			try {
-				fDocument.removePosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, fPosition);
-			} catch (BadPositionCategoryException x) {
-			}
-
-			return false;
-		}
-
-		return true;
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
deleted file mode 100644
index 85a4e69..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * Help context ids for the console plugin.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IConsoleHelpContextIds {
-	
-	public static final String PREFIX = IConsoleConstants.PLUGIN_ID + "."; //$NON-NLS-1$
-	
-	// Actions
-	public static final String CLEAR_CONSOLE_ACTION = PREFIX + "clear_console_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_SCROLL_LOCK_ACTION = PREFIX + "console_scroll_lock_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_SELECT_ALL_ACTION = PREFIX + "console_select_all_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_COPY_ACTION = PREFIX + "copy_to_clipboard_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_CUT_ACTION = PREFIX + "console_cut_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_PASTE_ACTION = PREFIX + "console_paste_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_FIND_REPLACE_ACTION = PREFIX + "console_find_replace_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_OPEN_LINK_ACTION = PREFIX + "console_open_link_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_OPEN_CONSOLE_ACTION = PREFIX + "console_open_console_action_context"; //$NON-NLS-1$
-	public static final String CONSOLE_DISPLAY_CONSOLE_ACTION = PREFIX + "console_display_console_action"; //$NON-NLS-1$
-	public static final String CONSOLE_PIN_CONSOLE_ACITON = PREFIX + "console_pin_console_action"; //$NON-NLS-1$
-	
-	// Views
-	public static final String CONSOLE_VIEW = PREFIX + "console_view_context"; //$NON-NLS-1$
-
-	// Preference pages
-	public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$
-}
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
deleted file mode 100644
index 00f5cbc..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-public interface IInternalConsoleConstants {
-    
-	// tool images
-	public static final String IMG_LCL_PIN = "IMG_LCL_PIN"; //$NON-NLS-1$
-	public static final String IMG_LCL_LOCK = "IMG_LCL_LOCK"; //$NON-NLS-1$
-	
-	// disabled local tool images
-	public static final String IMG_DLCL_PIN = "IMG_DLCL_PIN"; //$NON-NLS-1$
-	public static final String IMG_DLCL_CLEAR= "IMG_DLCL_CLEAR"; //$NON-NLS-1$
-	public static final String IMG_DLCL_LOCK = "IMG_DLCL_LOCK"; //$NON-NLS-1$
-	public static final String IMG_DLCL_CLOSE = "IMG_DLCL_CLOSE"; //$NON-NLS-1$
-	
-	// enabled local tool images	
-	public static final String IMG_ELCL_PIN = "IMG_ELCL_PIN"; //$NON-NLS-1$
-	public static final String IMG_ELCL_CLEAR= "IMG_ELCL_CLEAR"; //$NON-NLS-1$
-	public static final String IMG_ELCL_LOCK = "IMG_ELCL_LOCK"; //$NON-NLS-1$
-	public static final String IMG_ELCL_CLOSE = "IMG_ELCL_CLOSE"; //$NON-NLS-1$
-    public static final String IMG_ELCL_NEW_CON = "IMG_ELCL_NEW_CON"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
deleted file mode 100644
index 3f8d72f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.console.TextConsolePage;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * A page for an IOConsole
- * 
- * @since 3.1
- *  
- */
-public class IOConsolePage extends TextConsolePage {
-
-    private ScrollLockAction fScrollLockAction;
-
-    private boolean fReadOnly;
-
-    private IPropertyChangeListener fPropertyChangeListener;
-
-    public IOConsolePage(TextConsole console, IConsoleView view) {
-        super(console, view);
-
-        fPropertyChangeListener = new IPropertyChangeListener() {
-            public void propertyChange(PropertyChangeEvent event) {
-                String property = event.getProperty();
-                if (property.equals(IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE)) {
-                    setReadOnly();
-                }
-            }
-        };
-        console.addPropertyChangeListener(fPropertyChangeListener);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-     */
-    public void createControl(Composite parent) {
-        super.createControl(parent);
-        if (fReadOnly) {
-            IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
-            viewer.setReadOnly();
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.TextConsolePage#createViewer(org.eclipse.swt.widgets.Composite,
-     *      org.eclipse.ui.console.TextConsole)
-     */
-    protected TextConsoleViewer createViewer(Composite parent) {
-        return new IOConsoleViewer(parent, (TextConsole)getConsole());
-    }
-
-    public void setAutoScroll(boolean scroll) {
-        IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
-        if (viewer != null) {
-            viewer.setAutoScroll(scroll);
-            fScrollLockAction.setChecked(!scroll);
-        }
-    }
-
-    /**
-     * Informs the viewer that it's text widget should not be editable.
-     */
-    public void setReadOnly() {
-        fReadOnly = true;
-        IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
-        if (viewer != null) {
-            viewer.setReadOnly();
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.TextConsolePage#createActions()
-     */
-    protected void createActions() {
-        super.createActions();
-        fScrollLockAction = new ScrollLockAction(getConsoleView());
-        setAutoScroll(!fScrollLockAction.isChecked());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.TextConsolePage#contextMenuAboutToShow(org.eclipse.jface.action.IMenuManager)
-     */
-    protected void contextMenuAboutToShow(IMenuManager menuManager) {
-        super.contextMenuAboutToShow(menuManager);
-        menuManager.add(fScrollLockAction);
-        IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
-        if (!viewer.isReadOnly()) {
-            menuManager.remove(ActionFactory.CUT.getId());
-            menuManager.remove(ActionFactory.PASTE.getId());
-        }
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.console.TextConsolePage#configureToolBar(org.eclipse.jface.action.IToolBarManager)
-     */
-    protected void configureToolBar(IToolBarManager mgr) {
-        super.configureToolBar(mgr);
-        mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fScrollLockAction);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.part.IPage#dispose()
-     */
-    public void dispose() {
-        if (fScrollLockAction != null) {
-            fScrollLockAction.dispose();
-            fScrollLockAction = null;
-        }
-        getConsole().removePropertyChangeListener(fPropertyChangeListener);
-        super.dispose();
-    }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
deleted file mode 100644
index b9d447a..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IOConsoleInputStream;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-
-/**
- * A region in an IOConsole's document.
- * @since 3.1
- *
- */
-public class IOConsolePartition implements ITypedRegion {
-	public static final String OUTPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".io_console_output_partition_type"; //$NON-NLS-1$
-	public static final String INPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".io_console_input_partition_type"; //$NON-NLS-1$
-
-	/**
-	 * The data contained by this partition.
-	 */
-	private StringBuffer buffer;
-    private String type;
-    private int offset;
-    /**
-     * Output partitions are all read only.
-     * Input partitions are read only once they have been appended to the console's input stream.
-     */
-    private boolean readOnly;
-    
-    /**
-     * Only one of inputStream or outputStream will be null depending on the partitions type.
-     */
-    private IOConsoleOutputStream outputStream;
-    private IOConsoleInputStream inputStream;
-    private int length;
-    
-    /**
-     * Creates a new partition to contain output to console.
-     */
-    public IOConsolePartition(IOConsoleOutputStream outputStream, int length) {
-        this.outputStream = outputStream;
-        this.length = length;
-        this.type = OUTPUT_PARTITION_TYPE;
-        this.readOnly = true;
-    }
-    
-    /**
-     * Creates a new partition to contain input from a console
-     */
-    public IOConsolePartition(IOConsoleInputStream inputStream, String text) {
-        this.inputStream = inputStream;
-        buffer = new StringBuffer(text);
-        length = text.length();
-        this.type = INPUT_PARTITION_TYPE;
-        this.readOnly = false;
-    }
-    
-    /**
-     * Inserts a string into this partition
-     * @param s The string to insert
-     * @param offset the offset in the partition
-     */
-    public void insert(String s, int insertOffset) {
-        buffer.insert(insertOffset, s);
-        length += s.length();
-    }
-      
-    /**
-     * Deletes data from this partition.
-     * @param delOffset
-     * @param delLength
-     */
-    public void delete(int delOffset, int delLength) {
-        buffer.delete(delOffset, delOffset+delLength);
-        length -= delLength;
-    }
-    
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.text.ITypedRegion#getType()
-     */
-    public String getType() {
-        return type;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.text.IRegion#getLength()
-     */
-    public int getLength() {
-        return length;
-    }
-
-    /*
-     *  (non-Javadoc)
-     * @see org.eclipse.jface.text.IRegion#getOffset()
-     */
-    public int getOffset() {
-        return offset;
-    }
-    
-    /**
-     * Sets this partitions offset in the document.
-     * @param offset This partitions offset in the document.
-     */
-    public void setOffset(int offset) {
-        this.offset = offset;
-    }
-    
-    /**
-     * Sets this partitions length
-     * 
-     * @param length
-     */
-    public void setLength(int length) {
-    	this.length = length;
-    }
-    
-    /**
-     * Returns the data contained in this partition.
-     * @return The data contained in this partition.
-     */
-    public String getString() {
-        return buffer != null ? buffer.toString() : ""; //$NON-NLS-1$
-    }
-    
-    /**
-     * Returns a StyleRange object which may be used for setting the style
-     * of this partition in a viewer.
-     */
-    public StyleRange getStyleRange(int rangeOffset, int rangeLength) {
-        return new StyleRange(rangeOffset, rangeLength, getColor(), null, getFontStyle());
-    }
-
-    private int getFontStyle() {
-        if (type.equals(INPUT_PARTITION_TYPE)) {
-            return inputStream.getFontStyle();
-        } 
-        return outputStream.getFontStyle();
-    }
-
-    public Color getColor() {
-        if (type.equals(INPUT_PARTITION_TYPE)) {
-            return inputStream.getColor();
-        } 
-        return outputStream.getColor();
-    }
-
-    public boolean isReadOnly() {
-        return readOnly;
-    }
-    
-    public void setReadOnly() {
-        readOnly = true;
-    }
-
-    public void clearBuffer() {
-        buffer = null;
-    }
-    
-    IOConsoleOutputStream getStream() {
-        return outputStream;
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
deleted file mode 100644
index 10e7744..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
+++ /dev/null
@@ -1,691 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitionerExtension;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-import org.eclipse.ui.console.IOConsole;
-import org.eclipse.ui.console.IOConsoleInputStream;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.ui.progress.WorkbenchJob;
-
-/**
- * Partitions an IOConsole's document
- * @since 3.1
- *
- */
-public class IOConsolePartitioner implements IConsoleDocumentPartitioner, IDocumentPartitionerExtension {
-	private PendingPartition consoleClosedPartition;
-	private IDocument document;
-	private ArrayList partitions;
-	/**
-	 * Blocks of data that have not yet been appended to the document.
-	 */
-	private ArrayList pendingPartitions;
-	/**
-	 * A list of PendingPartitions to be appended by the updateJob
-	 */
-	private ArrayList updatePartitions;
-	/**
-	 * The last partition appended to the document
-	 */
-	private IOConsolePartition lastPartition;
-	/**
-	 * Job that appends pending partitions to the document.
-	 */
-	private QueueProcessingJob queueJob;	    
-	/**
-	 * The input stream attached to this document.
-	 */
-	private IOConsoleInputStream inputStream;
-	/**
-	 * Flag to indicate that the updateJob is updating the document.
-	 */
-	private boolean updateInProgress;
-	/**
-	 * A list of partitions containing input from the console, that have
-	 * not been appended to the input stream yet.
-	 */
-	private ArrayList inputPartitions;
-	/**
-	 * offset used by updateJob
-	 */
-	private int firstOffset;
-	/**
-	 * An array of legal line delimiters
-	 */
-	private String[] lld;
-	private int highWaterMark = -1;
-	private int lowWaterMark = -1;
-    private boolean connected = false;
-
-    private IOConsole console;
-	
-	private TrimJob trimJob = new TrimJob();
-	/**
-	 * Lock for appending to and removing from the document - used
-	 * to synchronize addition of new text/partitions in the update
-	 * job and handling buffer overflow/clearing of the console. 
-	 */
-	private Object overflowLock = new Object();
-	
-    
-    private int fBuffer; 
-    
-	public IOConsolePartitioner(IOConsoleInputStream inputStream, IOConsole console) {
-		this.inputStream = inputStream;
-		this.console = console;
-		trimJob.setRule(console.getSchedulingRule());
-	}
-	
-	public IDocument getDocument() {
-		return document;
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument doc) {
-		document = doc;
-		document.setDocumentPartitioner(this);
-		lld = document.getLegalLineDelimiters();
-		partitions = new ArrayList();
-		pendingPartitions = new ArrayList();
-		inputPartitions = new ArrayList();
-		queueJob = new QueueProcessingJob();
-		queueJob.setSystem(true);
-        queueJob.setPriority(Job.INTERACTIVE);
-		queueJob.setRule(console.getSchedulingRule());
-		connected = true;
-	}
-	
-	public int getHighWaterMark() {
-	    return highWaterMark;
-	}
-	
-	public int getLowWaterMark() {
-	    return lowWaterMark;
-	}
-	
-	public void setWaterMarks(int low, int high) {
-		lowWaterMark = low;
-		highWaterMark = high;
-		ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				checkBufferSize();
-			}
-		});
-	}
-	
-	/**
-	 * Notification from the console that all of its streams have been closed.
-	 */
-    public void streamsClosed() {
-        consoleClosedPartition = new PendingPartition(null, null);
-        synchronized (pendingPartitions) {
-            pendingPartitions.add(consoleClosedPartition);
-        }
-        queueJob.schedule(); //ensure that all pending partitions are processed.
-    }
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		synchronized (overflowLock) {    
-			document = null;
-			partitions.clear();
-			connected = false;
-			try {
-	            inputStream.close();
-	        } catch (IOException e) {
-	        }
-		}
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean documentChanged(DocumentEvent event) {
-		return documentChanged2(event) != null;
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-	 */
-	public String[] getLegalContentTypes() {
-		return new String[] { IOConsolePartition.OUTPUT_PARTITION_TYPE, IOConsolePartition.INPUT_PARTITION_TYPE };
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-	 */
-	public String getContentType(int offset) {
-		return getPartition(offset).getType();
-	}
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) {					
-		int rangeEnd = offset + length;
-		int left= 0;
-		int right= partitions.size() - 1;
-		int mid= 0;
-		IOConsolePartition position= null;
-		
-		if (left == right) {
-		    return new IOConsolePartition[]{(IOConsolePartition) partitions.get(0)};
-		}
-		while (left < right) {
-			
-			mid= (left + right) / 2;
-				
-			position= (IOConsolePartition) partitions.get(mid);
-			if (rangeEnd < position.getOffset()) {
-				if (left == mid)
-					right= left;
-				else
-					right= mid -1;
-			} else if (offset > (position.getOffset() + position.getLength() - 1)) {
-				if (right == mid)
-					left= right;
-				else
-					left= mid  +1;
-			} else {
-				left= right= mid;
-			}
-		}
-		
-		
-		List list = new ArrayList();
-		int index = left - 1;
-		if (index >= 0) {
-		    position= (IOConsolePartition) partitions.get(index);
-			while (index >= 0 && (position.getOffset() + position.getLength()) > offset) {
-				index--;
-				if (index >= 0) {
-					position= (IOConsolePartition) partitions.get(index);
-				}
-			}		    
-		}
-		index++;
-		position= (IOConsolePartition) partitions.get(index);
-		while (index < partitions.size() && (position.getOffset() < rangeEnd)) {
-			list.add(position);
-			index++;
-			if (index < partitions.size()) {
-				position= (IOConsolePartition) partitions.get(index);
-			}
-		}
-		
-		return (ITypedRegion[]) list.toArray(new IOConsolePartition[list.size()]);
-	}    
-
-	
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-	 */
-	public ITypedRegion getPartition(int offset) {
-		for (int i = 0; i < partitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion) partitions.get(i);
-			int start = partition.getOffset();
-			int end = start + partition.getLength();
-			if (offset >= start && offset < end) {
-				return partition;
-			} 
-		}
-		
-		if (lastPartition == null)  {
-			synchronized(partitions) {
-				lastPartition = new IOConsolePartition(inputStream, ""); //$NON-NLS-1$
-				lastPartition.setOffset(offset);
-				partitions.add(lastPartition);
-				inputPartitions.add(lastPartition);
-			}
-		}
-		return lastPartition;
-	}
-		
-	/**
-	 * Enforces the buffer size.
-	 * When the number of lines in the document exceeds the high water mark, the 
-	 * beginning of the document is trimmed until the number of lines equals the 
-	 * low water mark.
-	 */
-	private void checkBufferSize() {
-		if (document != null && highWaterMark > 0) {
-			int length = document.getLength();
-			if (length > highWaterMark) {
-			    if (trimJob.getState() == Job.NONE) { //if the job isn't already running
-				    trimJob.setOffset(length - lowWaterMark);
-				    trimJob.schedule();
-			    }
-			}
-		}
-	}
-	
-	/**
-	 * Clears the console
-	 */
-	public void clearBuffer() {
-	    synchronized (overflowLock) {
-	        trimJob.setOffset(-1);
-		    trimJob.schedule();
-        }
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public IRegion documentChanged2(DocumentEvent event) {
-	    if (document == null) {
-	        return null; //another thread disconnected the partitioner
-	    }
-		if (document.getLength() == 0) { //document cleared
-			partitions.clear();
-			inputPartitions.clear();
-			pendingPartitions.clear();     
-			lastPartition = null;
-			return new Region(0, 0);
-		}
-		
-		
-		if (updateInProgress) {
-			synchronized(partitions) {
-				if (updatePartitions != null) {
-				    for (Iterator i = updatePartitions.iterator(); i.hasNext(); ) {
-				        PendingPartition pp = (PendingPartition) i.next();
-				        if (pp == consoleClosedPartition) {
-				            continue;
-				        }
-				        
-				        int ppLen = pp.text.length();
-				        if (lastPartition != null && lastPartition.getStream() == pp.stream) {
-				            int len = lastPartition.getLength();
-				            lastPartition.setLength(len + ppLen);
-				        } else {
-				            IOConsolePartition partition = new IOConsolePartition(pp.stream, ppLen);
-				            partition.setOffset(firstOffset);				        
-				            lastPartition = partition;
-				            partitions.add(partition);
-				        }
-				        firstOffset += ppLen;
-				    }
-				}
-			}
-		} else {// user input.
-			int amountDeleted = event.getLength() ;
-			
-			if (amountDeleted > 0) {
-				int offset = event.fOffset;    
-				IOConsolePartition partition = (IOConsolePartition) getPartition(offset);
-				if(partition == lastPartition) {
-					partition.delete(event.fOffset-partition.getOffset(), amountDeleted);
-				} 
-			}
-			
-			synchronized(partitions) {
-				if (lastPartition == null || lastPartition.isReadOnly()) {
-					lastPartition = new IOConsolePartition(inputStream, event.fText); 
-					lastPartition.setOffset(event.fOffset);
-					partitions.add(lastPartition);
-					inputPartitions.add(lastPartition);
-				} else {
-					lastPartition.insert(event.fText, (event.fOffset-lastPartition.getOffset()));
-				}
-				
-				int lastLineDelimiter = -1;
-				String partitionText = lastPartition.getString();
-				for (int i = 0; i < lld.length; i++) {
-					String ld = lld[i];
-					int index = partitionText.lastIndexOf(ld);
-					if (index != -1) {
-					    index += ld.length();
-					}
-					if (index > lastLineDelimiter) {
-					    lastLineDelimiter = index;
-					}
-				}
-				if (lastLineDelimiter != -1) {
-					StringBuffer input = new StringBuffer();
-					Iterator it = inputPartitions.iterator();
-					while (it.hasNext()) {
-					    IOConsolePartition partition = (IOConsolePartition) it.next();
-					    if (partition.getOffset() + partition.getLength() <= event.fOffset + lastLineDelimiter) {
-					        if (partition == lastPartition) {
-					            lastPartition = null;
-					        }
-					        input.append(partition.getString());
-							partition.clearBuffer();
-							partition.setReadOnly();
-							it.remove();
-					    } else {
-					        //create a new partition containing everything up to the line delimiter
-					        //and append that to the string buffer.
-					        String contentBefore = partitionText.substring(0, lastLineDelimiter);
-					        IOConsolePartition newPartition = new IOConsolePartition(inputStream, contentBefore);
-					        newPartition.setOffset(partition.getOffset());
-					        newPartition.setReadOnly();
-					        newPartition.clearBuffer();
-					        int index = partitions.indexOf(partition);
-						    partitions.add(index, newPartition);
-					        input.append(contentBefore);
-					        //delete everything that has been appended to the buffer.
-					        partition.delete(0, lastLineDelimiter);
-					        partition.setOffset(lastLineDelimiter + partition.getOffset());
-					        lastLineDelimiter = 0;
-					    }
-					}
-					if (input.length() > 0) {
-					    inputStream.appendData(input.toString());
-					}
-
-				}
-			}
-		}   
-		
-		return new Region(event.fOffset, event.fText.length());
-	}
-	
-	private void setUpdateInProgress(boolean b) {
-		updateInProgress = b;
-	}
-		
-	/**
-	 * A stream has been appended, add to pendingPartions list and schedule updateJob.
-	 * updateJob is scheduled with a slight delay, this allows the console to run the job
-	 * less frequently and update the document with a greater amount of data each time 
-	 * the job is run
-	 * @param stream The stream that was written to.
-	 * @param s The string that should be appended to the document.
-	 */
-	public void streamAppended(IOConsoleOutputStream stream, String s) throws IOException {
-        if (document == null) {
-            throw new IOException("Document is closed"); //$NON-NLS-1$
-        }
-		synchronized(pendingPartitions) {
-			PendingPartition last = (PendingPartition) (pendingPartitions.size() > 0 ? pendingPartitions.get(pendingPartitions.size()-1) : null);
-			if (last != null && last.stream == stream) {
-				last.append(s);
-			} else {
-				pendingPartitions.add(new PendingPartition(stream, s));
-                if (fBuffer > 1000) {
-                    queueJob.schedule();
-                } else {
-                    queueJob.schedule(50);
-                }
-			}
-            
-            if (fBuffer > 160000) { 
-                try {
-                    pendingPartitions.wait();
-                } catch (InterruptedException e) {
-                }
-            }
-		}
-	}
-	
-	/**
-	 * Holds data until updateJob can be run and the document can be updated.
-	 */
-	private class PendingPartition {
-		StringBuffer text = new StringBuffer(8192);
-		IOConsoleOutputStream stream;
-		
-		PendingPartition(IOConsoleOutputStream stream, String text) {
-			this.stream = stream;
-			if (text != null) {
-                append(text);
-            }
-		}
-		
-		void append(String moreText) {
-			text.append(moreText);
-            fBuffer += moreText.length();
-		}
-	}
-	
-	/**
-	 * Updates the document. Will append everything that is available before 
-	 * finishing.
-	 */
-	private class QueueProcessingJob extends UIJob {
-
-        QueueProcessingJob() {
-			super("IOConsole Updater"); //$NON-NLS-1$
-		}
-		
-        /*
-         *  (non-Javadoc)
-         * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-        	synchronized (overflowLock) {
-        		ArrayList pendingCopy = new ArrayList();
-        		StringBuffer buffer = null;
-        		boolean consoleClosed = false;
-        		while (pendingPartitions.size() > 0) {
-        			synchronized(pendingPartitions) {
-        				pendingCopy.addAll(pendingPartitions);
-        				pendingPartitions.clear();
-        				fBuffer = 0;
-        				pendingPartitions.notifyAll();
-        			}
-
-        			buffer = new StringBuffer();
-        			for (Iterator i = pendingCopy.iterator(); i.hasNext(); ) {
-        				PendingPartition pp = (PendingPartition) i.next();
-        				if (pp != consoleClosedPartition) { 
-        					buffer.append(pp.text);
-        				} else {
-        					consoleClosed = true;
-        				}
-        			}
-        		}
-
-        		if (connected) {
-        			setUpdateInProgress(true);
-        			updatePartitions = pendingCopy;
-        			firstOffset = document.getLength();
-        			try {
-        				document.replace(firstOffset, 0, buffer.toString());
-        			} catch (BadLocationException e) {
-        			}
-        			updatePartitions = null;
-        			setUpdateInProgress(false);
-        		}
-        		if (consoleClosed) {
-        			console.partitionerFinished();
-        		}
-        		checkBufferSize();
-
-        	}
-
-        	return Status.OK_STATUS;
-        }        
-		
-        /* 
-         * Job will process as much as it can each time it's run, but it gets
-         * scheduled everytime a PendingPartition is added to the list, meaning
-         * that this job could get scheduled unnecessarily in cases of heavy output.
-         * Note however, that schedule() will only reschedule a running/scheduled Job
-         * once even if it's called many times.
-         */
-        public boolean shouldRun() {
-            boolean shouldRun = connected && pendingPartitions != null && pendingPartitions.size() > 0;
-            return shouldRun;
-        }
-	}
-
- 
-    
-	
-	
-
-    
-    /**
-     * Job to trim the console document, runs in the  UI thread.
-     */
-    private class TrimJob extends WorkbenchJob {
-        
-        /**
-         * trims output up to the line containing the given offset,
-         * or all output if -1.
-         */
-        private int truncateOffset;
-        
-        /**
-         * Creates a new job to trim the buffer.
-         */
-        TrimJob() {
-            super("Trim Job"); //$NON-NLS-1$
-            setSystem(true);
-        }
-        
-        /**
-         * Sets the trim offset.
-         * 
-         * @param offset trims output up to the line containing the given offset
-         */
-        public void setOffset(int offset) {
-            truncateOffset = offset;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-         */
-        public IStatus runInUIThread(IProgressMonitor monitor) {
-            IJobManager jobManager = Job.getJobManager();
-            try {
-                jobManager.join(console, monitor);
-            } catch (OperationCanceledException e1) {
-                return Status.CANCEL_STATUS;
-            } catch (InterruptedException e1) {
-                return Status.CANCEL_STATUS;
-            }
-        	if (document == null) {
-        		return Status.OK_STATUS;
-        	}
-        	
-        	int length = document.getLength();
-        	if (truncateOffset < length) {
-        		synchronized (overflowLock) {
-        			try {
-        				if (truncateOffset < 0) {
-        				    // clear
-        				    setUpdateInProgress(true);
-        					document.set(""); //$NON-NLS-1$
-        					setUpdateInProgress(false);
-        					partitions.clear();        					
-        				} else {
-        				    // overflow
-        				    int cutoffLine = document.getLineOfOffset(truncateOffset);
-        				    int cutOffset = document.getLineOffset(cutoffLine);
-
-
-        					// set the new length of the first partition
-        					IOConsolePartition partition = (IOConsolePartition) getPartition(cutOffset);
-        					partition.setLength(partition.getOffset() + partition.getLength() - cutOffset);
-        					
-        					setUpdateInProgress(true);
-        					document.replace(0, cutOffset, ""); //$NON-NLS-1$
-        					setUpdateInProgress(false);
-        					
-        					//remove partitions and reset Partition offsets
-        					int index = partitions.indexOf(partition);
-        					for (int i = 0; i < index; i++) {
-                                partitions.remove(0);
-                            }
-        					
-        					int offset = 0;
-        					for (Iterator i = partitions.iterator(); i.hasNext(); ) {
-        						IOConsolePartition p = (IOConsolePartition) i.next();
-        						p.setOffset(offset);
-        						offset += p.getLength();
-        					}
-        				}
-        			} catch (BadLocationException e) {
-        			}
-        		}
-        	}
-        	return Status.OK_STATUS;
-        }
-    }
-
-
-
-
-
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#isReadOnly(int)
-     */
-    public boolean isReadOnly(int offset) {
-        return ((IOConsolePartition)getPartition(offset)).isReadOnly();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#computeStyleRange(int, int)
-     */
-    public StyleRange[] getStyleRanges(int offset, int length) {
-    	if (!connected) {
-    		return new StyleRange[0];
-    	}
-        IOConsolePartition[] computedPartitions = (IOConsolePartition[])computePartitioning(offset, length);
-        StyleRange[] styles = new StyleRange[computedPartitions.length];        
-        for (int i = 0; i < computedPartitions.length; i++) {                
-            int rangeStart = Math.max(computedPartitions[i].getOffset(), offset);
-            int rangeLength = computedPartitions[i].getLength();
-            styles[i] = computedPartitions[i].getStyleRange(rangeStart, rangeLength);
-        }
-        return styles;
-    }
-    
-	
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
deleted file mode 100644
index e686955..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * Viewer used to display an IOConsole
- * 
- * @since 3.1
- */
-public class IOConsoleViewer extends TextConsoleViewer {
-    /**
-     * will always scroll with output if value is true.
-     */
-    private boolean fAutoScroll = true;
-
-    private IDocumentListener fDocumentListener;
-    
-    public IOConsoleViewer(Composite parent, TextConsole console) {
-        super(parent, console);
-    }
-
-    public boolean isAutoScroll() {
-        return fAutoScroll;
-    }
-
-    public void setAutoScroll(boolean scroll) {
-        fAutoScroll = scroll;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.TextViewer#handleVerifyEvent(org.eclipse.swt.events.VerifyEvent)
-     */
-    protected void handleVerifyEvent(VerifyEvent e) {
-        IDocument doc = getDocument();
-        String[] legalLineDelimiters = doc.getLegalLineDelimiters();
-        String eventString = e.text;
-        try {
-            IConsoleDocumentPartitioner partitioner = (IConsoleDocumentPartitioner) doc.getDocumentPartitioner();
-            if (!partitioner.isReadOnly(e.start)) {
-                boolean isCarriageReturn = false;
-                for (int i = 0; i < legalLineDelimiters.length; i++) {
-                    if (e.text.equals(legalLineDelimiters[i])) {
-                        isCarriageReturn = true;
-                        break;
-                    }
-                }
-
-                if (!isCarriageReturn) {
-                    super.handleVerifyEvent(e);
-                    return;
-                }
-            }
-
-            int length = doc.getLength();
-            if (e.start == length) {
-                super.handleVerifyEvent(e);
-            } else {
-                try {
-                    doc.replace(length, 0, eventString);
-                } catch (BadLocationException e1) {
-                }
-                e.doit = false;
-            }
-        } finally {
-            StyledText text = (StyledText) e.widget;
-            text.setCaretOffset(text.getCharCount());
-        }
-    }
-
-    /**
-     * makes the associated text widget uneditable.
-     */
-    public void setReadOnly() {
-        ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-            public void run() {
-                StyledText text = getTextWidget();
-                if (text != null && !text.isDisposed()) {
-                    text.setEditable(false);
-                }
-            }
-        });
-    }
-
-    /**
-     * @return <code>false</code> if text is editable
-     */
-    public boolean isReadOnly() {
-        return !getTextWidget().getEditable();
-    }
-   
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.ITextViewer#setDocument(org.eclipse.jface.text.IDocument)
-     */
-    public void setDocument(IDocument document) {
-        IDocument oldDocument= getDocument();
-        
-        super.setDocument(document);
-        
-        if (oldDocument != null) {
-            oldDocument.removeDocumentListener(getDocumentListener());
-        }
-        if (document != null) {
-            document.addDocumentListener(getDocumentListener());
-        }
-    }
-    
-    private IDocumentListener getDocumentListener() {
-        if (fDocumentListener == null) {
-            fDocumentListener= new IDocumentListener() {
-                public void documentAboutToBeChanged(DocumentEvent event) {
-                }
-
-                public void documentChanged(DocumentEvent event) {
-                    if (fAutoScroll) {
-                        revealEndOfDocument();
-                    }
-                }
-            };
-        }
-        return fDocumentListener;
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
deleted file mode 100644
index 0064b92..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleFactory;
-
-/**
- * @since 3.1
- */
-public class OpenConsoleAction extends Action implements IMenuCreator {
-
-    private ConsoleFactoryExtension[] fFactoryExtensions;
-    private Menu fMenu;
-
-    public OpenConsoleAction() {
-        fFactoryExtensions = ((ConsoleManager)ConsolePlugin.getDefault().getConsoleManager()).getConsoleFactoryExtensions();
-		setText(ConsoleMessages.OpenConsoleAction_0); 
-		setToolTipText(ConsoleMessages.OpenConsoleAction_1);  
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_NEW_CON));
-		setMenuCreator(this);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_OPEN_CONSOLE_ACTION);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IMenuCreator#dispose()
-     */
-    public void dispose() {
-        fFactoryExtensions = null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-     */
-    public Menu getMenu(Control parent) {
-        if (fMenu != null) {
-            fMenu.dispose();
-        }
-        
-        fMenu= new Menu(parent);
-        int accel = 1;
-        for (int i = 0; i < fFactoryExtensions.length; i++) {
-            ConsoleFactoryExtension extension = fFactoryExtensions[i];
-            if (!WorkbenchActivityHelper.filterItem(extension) && extension.isEnabled()) {
-                String label = extension.getLabel();
-                ImageDescriptor image = extension.getImageDescriptor();
-                addActionToMenu(fMenu, new ConsoleFactoryAction(label, image, extension), accel);
-                accel++;
-            }
-        }
-        return fMenu;
-    }
-    
-	private void addActionToMenu(Menu parent, Action action, int accelerator) {
-		if (accelerator < 10) {
-		    StringBuffer label= new StringBuffer();
-			//add the numerical accelerator
-			label.append('&');
-			label.append(accelerator);
-			label.append(' ');
-			label.append(action.getText());
-			action.setText(label.toString());
-		}
-		
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-     */
-    public Menu getMenu(Menu parent) {
-        return null;
-    }
-    
-    private class ConsoleFactoryAction extends Action {
-        
-        private ConsoleFactoryExtension fConfig;
-        private IConsoleFactory fFactory;
-
-        public ConsoleFactoryAction(String label, ImageDescriptor image, ConsoleFactoryExtension extension) {
-            setText(label);
-            if (image != null) {
-                setImageDescriptor(image);
-            }
-            fConfig = extension;
-        }
-        
-        
-        /* (non-Javadoc)
-         * @see org.eclipse.jface.action.IAction#run()
-         */
-        public void run() {
-            try {
-                if (fFactory == null) {
-                    fFactory = fConfig.createFactory();
-                }
-                
-                fFactory.openConsole();
-            } catch (CoreException e) {
-                ConsolePlugin.log(e);
-            }
-        }
-        
-        /* (non-Javadoc)
-         * @see org.eclipse.jface.action.IAction#runWithEvent(org.eclipse.swt.widgets.Event)
-         */
-        public void runWithEvent(Event event) {
-            run();
-        }
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
deleted file mode 100644
index eab7513..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class PatternMatchListener implements IPatternMatchListener {
-
-    private PatternMatchListenerExtension fExtension;
-    private IPatternMatchListenerDelegate fDelegate;
-    
-    public PatternMatchListener(PatternMatchListenerExtension extension) throws CoreException {
-        fExtension = extension;
-        fDelegate = fExtension.createDelegate();
-    }   
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#getPattern()
-     */
-    public String getPattern() {
-        return fExtension.getPattern();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#getCompilerFlags()
-     */
-    public int getCompilerFlags() {
-        return fExtension.getCompilerFlags();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#matchFound(org.eclipse.ui.console.PatternMatchEvent)
-     */
-    public void matchFound(PatternMatchEvent event) {
-        fDelegate.matchFound(event);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListenerDelegate#connect(org.eclipse.ui.console.TextConsole)
-     */
-    public void connect(TextConsole console) {
-        fDelegate.connect(console);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.console.IPatternMatchListener#disconnect()
-     */
-    public void disconnect() {
-        fDelegate.disconnect();
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IPatternMatchListener#getQuickPattern()
-	 */
-	public String getLineQualifier() {
-		return fExtension.getQuickPattern();
-	}
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
deleted file mode 100644
index b4081df..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.lang.reflect.Field;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-
-import com.ibm.icu.text.MessageFormat;
-
-public class PatternMatchListenerExtension implements IPluginContribution {
-
-    private IConfigurationElement fConfig;
-    private Expression fEnablementExpression;
-    private String fPattern;
-    private String fQualifier;
-    private int fFlags = -1;
-   
-    public PatternMatchListenerExtension(IConfigurationElement extension) {
-        fConfig = extension;
-    }    
-
-    /*
-     * returns the integer value of the flags defined in java.util.regex.Pattern.
-     * Both <code>Pattern.MULTILINE</code> and <code>MULTILINE</code> will return
-     * the same value.
-     */
-    public int parseFlags(String flagsElement) {
-        int val = 0;
-        if (flagsElement == null) {
-            return val;
-        }
-            
-        try {
-            flagsElement = flagsElement.replaceAll("Pattern.", ""); //$NON-NLS-1$ //$NON-NLS-2$
-            String[] tokens = flagsElement.split("\\s\\|\\s"); //$NON-NLS-1$
-            Class clazz = Class.forName("java.util.regex.Pattern"); //$NON-NLS-1$
-            
-            for (int i = 0; i < tokens.length; i++) {
-                Field field = clazz.getDeclaredField(tokens[i]);
-                val |= field.getInt(null);
-            }
-        } catch (ClassNotFoundException e) {
-            ConsolePlugin.log(e);
-        } catch (NoSuchFieldException e) {
-            ConsolePlugin.log(e);
-        } catch (IllegalAccessException e) {
-            ConsolePlugin.log(e);
-        }
-        return val;
-    }
-    
-    public boolean isEnabledFor(IConsole console) throws CoreException {
-        EvaluationContext context = new EvaluationContext(null, console);
-        EvaluationResult evaluationResult = getEnablementExpression().evaluate(context);
-        return evaluationResult == EvaluationResult.TRUE;
-    }
-    
-    public IPatternMatchListenerDelegate createDelegate() throws CoreException {
-        return (IPatternMatchListenerDelegate) fConfig.createExecutableExtension("class"); //$NON-NLS-1$
-    }
-    
-    public Expression getEnablementExpression() throws CoreException {
-		if (fEnablementExpression == null) {
-			IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
-            if (elements.length == 0) {
-                String message = MessageFormat.format("{0} " +getLocalId() + " {1} " + getPluginId() + " {2}", new String[] {ConsoleMessages.PatternMatchListenerExtension_3,ConsoleMessages.PatternMatchListenerExtension_4,ConsoleMessages.PatternMatchListenerExtension_5}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-                ConsolePlugin.log(new Status(IStatus.WARNING, ConsolePlugin.getUniqueIdentifier(), IStatus.OK, message, null));
-            }
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-
-			if (enablement != null) {
-			    fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
-			}
-		}
-		return fEnablementExpression;
-    }
-    
-    /*
-     * returns the regular expression to be matched.
-     */
-    public String getPattern() {
-        if (fPattern == null) {
-            fPattern = fConfig.getAttribute("regex"); //$NON-NLS-1$
-            try {
-            	fPattern = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(fPattern, false);
-            } catch (CoreException e) {
-            	ConsolePlugin.log(e);
-            }
-        }
-        return fPattern;
-    }
-
-    /*
-     * returns the flags to be used by <code>Pattern.compile(pattern, flags)</code>
-     */
-    public int getCompilerFlags() {
-        if(fFlags < 0) {
-            String flagsAttribute = fConfig.getAttribute("flags"); //$NON-NLS-1$
-            fFlags = parseFlags(flagsAttribute);
-        }
-        return fFlags;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getLocalId()
-     */
-    public String getLocalId() {
-        return fConfig.getAttribute("id"); //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPluginContribution#getPluginId()
-     */
-    public String getPluginId() {
-        return fConfig.getContributor().getName();
-    }
-
-    public String getQuickPattern() {
-    	if (fQualifier == null) {
-    		fQualifier = fConfig.getAttribute("qualifier"); //$NON-NLS-1$
-    		try {
-    			if (fQualifier != null) {
-    				fQualifier = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(fQualifier, false);
-    			}
-			} catch (CoreException e) {
-				ConsolePlugin.log(e);
-			}
-    	}
-    	return fQualifier;
-    }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
deleted file mode 100644
index 61d3074..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Pins the currently visible console in a console view.
- */
-public class PinConsoleAction extends Action implements IUpdate {
-	
-	private IConsoleView fView = null;
-
-	/**
-	 * Constructs a 'pin console' action
-	 */
-	public PinConsoleAction(IConsoleView view) {
-		super(ConsoleMessages.PinConsoleAction_0, IAction.AS_CHECK_BOX); 
-		setToolTipText(ConsoleMessages.PinConsoleAction_1); 
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_PIN));
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_PIN));
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_PIN));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_PIN_CONSOLE_ACITON);
-		fView = view;
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-        fView.setPinned(isChecked());
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(fView.getConsole() != null);
-		setChecked(fView.isPinned());
-	}
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
deleted file mode 100644
index e0b2ad2..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * Toggles console auto-scroll
- * 
- * @since 3.1
- */
-public class ScrollLockAction extends Action {
-
-    private IConsoleView fConsoleView;
-	
-	public ScrollLockAction(IConsoleView consoleView) {
-		super(ConsoleMessages.ScrollLockAction_0); 
-        fConsoleView = consoleView;
-		
-		setToolTipText(ConsoleMessages.ScrollLockAction_1);  
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_LOCK));		
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_LOCK));
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_LOCK));
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_SCROLL_LOCK_ACTION);
-		boolean checked = fConsoleView.getScrollLock();  
-		setChecked(checked);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-        fConsoleView.setScrollLock(isChecked());
-	}
-	
-	public void dispose() {
-        fConsoleView = null;
-	}
-
-}
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
deleted file mode 100644
index 54e0014..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * Shows a specific console in the console view
- */
-public class ShowConsoleAction extends Action {
-	
-	private IConsole fConsole;
-	private IConsoleView fView;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (!fConsole.equals(fView.getConsole())) {
-            boolean pinned = fView.isPinned();
-            if (pinned) {
-                fView.setPinned(false);
-            }
-		    fView.display(fConsole);
-            if (pinned) {
-               fView.setPinned(true); 
-            }
-		}
-	}
-
-	/**
-	 * Constructs an action to display the given console.
-	 * 
-	 * @param view the console view in which the given console is contained
-	 * @param console the console
-	 */
-	public ShowConsoleAction(IConsoleView view, IConsole console) {
-		super(console.getName(), AS_RADIO_BUTTON);
-		fConsole = console;
-		fView = view;
-		setImageDescriptor(console.getImageDescriptor());
-	}
-}
diff --git a/org.eclipse.ui.externaltools/.classpath b/org.eclipse.ui.externaltools/.classpath
deleted file mode 100644
index 4357066..0000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

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

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

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

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

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

-</classpath>

diff --git a/org.eclipse.ui.externaltools/.cvsignore b/org.eclipse.ui.externaltools/.cvsignore
deleted file mode 100644
index 1fb8f5b..0000000
--- a/org.eclipse.ui.externaltools/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin

-externaltools.jar

-build.xml

-temp.folder

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

-<projectDescription>

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

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6f541a9..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Sat Mar 24 09:58:42 PST 2007

-eclipse.preferences.version=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 60a514d..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Feb 22 12:19:21 PST 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 4c5630d..0000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:50 GMT-08:00 2004

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

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

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

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

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

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

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

-compilers.use-project=true

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