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

Sprout from master 2004-05-20 17:08:51 UTC Darin Swanson <darins> 'Bug 63045 - Use JFace MessageDialogWithToggle'
Delete:
    org.eclipse.core.variables/.classpath
    org.eclipse.core.variables/.cvsignore
    org.eclipse.core.variables/.options
    org.eclipse.core.variables/.project
    org.eclipse.core.variables/about.html
    org.eclipse.core.variables/build.properties
    org.eclipse.core.variables/plugin.properties
    org.eclipse.core.variables/plugin.xml
    org.eclipse.core.variables/schema/dynamicVariables.exsd
    org.eclipse.core.variables/schema/valueVariables.exsd
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
    org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
    org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
    org.eclipse.debug.core/.classpath
    org.eclipse.debug.core/.cvsignore
    org.eclipse.debug.core/.options
    org.eclipse.debug.core/.project
    org.eclipse.debug.core/about.html
    org.eclipse.debug.core/build.properties
    org.eclipse.debug.core/buildnotes_platform-debug.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/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/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/IMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/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/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/LaunchConfigurationDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlock.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlockRetrieval.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRendering.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingFactory.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingListener.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryBlockManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryByte.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRendering.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingInfo.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingManager.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
    org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
    org.eclipse.debug.core/doc/.cvsignore
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
    org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
    org.eclipse.debug.core/hglegal2003.htm
    org.eclipse.debug.core/ngibmcpy2003.gif
    org.eclipse.debug.core/plugin.properties
    org.eclipse.debug.core/plugin.xml
    org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
    org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
    org.eclipse.debug.core/r3_0_changes.html
    org.eclipse.debug.core/schema/breakpoints.exsd
    org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
    org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
    org.eclipse.debug.core/schema/launchDelegates.exsd
    org.eclipse.debug.core/schema/launchModes.exsd
    org.eclipse.debug.core/schema/launchers.exsd
    org.eclipse.debug.core/schema/logicalStructureTypes.exsd
    org.eclipse.debug.core/schema/memoryRenderings.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.debug.ui/.classpath
    org.eclipse.debug.ui/.cvsignore
    org.eclipse.debug.ui/.options
    org.eclipse.debug.ui/.project
    org.eclipse.debug.ui/about.html
    org.eclipse.debug.ui/build.properties
    org.eclipse.debug.ui/doc/.cvsignore
    org.eclipse.debug.ui/hglegal2003.htm
    org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/collapseall.gif
    org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/copyviewtoclipboard_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/det_pane_hide.gif
    org.eclipse.debug.ui/icons/full/dlcl16/det_pane_right.gif
    org.eclipse.debug.ui/icons/full/dlcl16/det_pane_under.gif
    org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/edtsrclkup_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/lock_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/memoryreset_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
    org.eclipse.debug.ui/icons/full/dlcl16/monitorexpression_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/printview_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/removememory_tsk.gif
    org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/runtoline_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/skip_brkp.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepbystep_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/synced.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
    org.eclipse.debug.ui/icons/full/dlcl16/var_cntnt_prvdr.gif
    org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
    org.eclipse.debug.ui/icons/full/dtool16/environment_co.gif
    org.eclipse.debug.ui/icons/full/dtool16/profile_exc.gif
    org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
    org.eclipse.debug.ui/icons/full/dtool16/watch_exp.gif
    org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/collapseall.gif
    org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/copyviewtoclipboard_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/det_pane_hide.gif
    org.eclipse.debug.ui/icons/full/elcl16/det_pane_right.gif
    org.eclipse.debug.ui/icons/full/elcl16/det_pane_under.gif
    org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/edtsrclkup_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/lock_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/memoryreset_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
    org.eclipse.debug.ui/icons/full/elcl16/monitorexpression_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/printview_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/removememory_tsk.gif
    org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/runtoline_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/skip_brkp.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepbystep_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/synced.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
    org.eclipse.debug.ui/icons/full/elcl16/var_cntnt_prvdr.gif
    org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
    org.eclipse.debug.ui/icons/full/etool16/environment_co.gif
    org.eclipse.debug.ui/icons/full/etool16/profile_exc.gif
    org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
    org.eclipse.debug.ui/icons/full/etool16/watch_exp.gif
    org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
    org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
    org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
    org.eclipse.debug.ui/icons/full/eview16/details_view.gif
    org.eclipse.debug.ui/icons/full/eview16/memory_view.gif
    org.eclipse.debug.ui/icons/full/eview16/register_view.gif
    org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
    org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
    org.eclipse.debug.ui/icons/full/obj16/arraypartition_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/common_tab.gif
    org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/debugts_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/environment_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/envvar_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/fldr_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/genericreggroup_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/genericregister_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/inst_ptr.gif
    org.eclipse.debug.ui/icons/full/obj16/inst_ptr_top.gif
    org.eclipse.debug.ui/icons/full/obj16/jar_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/memory_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/memorychanged_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/persp_tab.gif
    org.eclipse.debug.ui/icons/full/obj16/prj_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/readwrite_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
    org.eclipse.debug.ui/icons/full/obj16/refresh_tab.gif
    org.eclipse.debug.ui/icons/full/obj16/rundebug.gif
    org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
    org.eclipse.debug.ui/icons/full/obj16/workset.gif
    org.eclipse.debug.ui/icons/full/ovr16/error.gif
    org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
    org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
    org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.gif
    org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
    org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.gif
    org.eclipse.debug.ui/icons/full/wizban/profile_wiz.gif
    org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
    org.eclipse.debug.ui/ngibmcpy2003.gif
    org.eclipse.debug.ui/plugin.properties
    org.eclipse.debug.ui/plugin.xml
    org.eclipse.debug.ui/schema/consoleColorProviders.exsd
    org.eclipse.debug.ui/schema/consoleLineTrackers.exsd
    org.eclipse.debug.ui/schema/contextViewBindings.exsd
    org.eclipse.debug.ui/schema/debugModelContextBindings.exsd
    org.eclipse.debug.ui/schema/debugModelPresentations.exsd
    org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd
    org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd
    org.eclipse.debug.ui/schema/launchGroups.exsd
    org.eclipse.debug.ui/schema/launchShortcuts.exsd
    org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
    org.eclipse.debug.ui/schema/stringVariablePresentations.exsd
    org.eclipse.debug.ui/scripts/exportplugin.xml
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DialogSettingsHelper.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StepFilterManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StringMatcher.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AssignValueAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueInputDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConvertToWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FollowHyperlinkAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/KeyBindingFollowHyperlinkAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LinkBreakpointsWithDebugViewAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ReevaluateWatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetMethodBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetToggleLineBreakpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetWatchpointAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SkipAllBreakpointsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointObjectActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleDetailPaneAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleStepFiltersActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationTypeFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveTabGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectivesTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ContainerResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ProjectResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableSelectionDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewDecoratingLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewInterimLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewLabelDecorator.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/BreakPartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentPartitioner.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/HyperlinkPosition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/InputPartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/OutputPartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePage.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ScrollLockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/StreamPartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/WorkspaceOperationRunner.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionPopupContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/PopupInformationControl.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContextListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryRenderer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractTableViewTabLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/BasicDebugViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/DefaultColumnSizeDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/EmptyRenderer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/FormatColumnAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRendering.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderingFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IFixedLengthOutputRenderer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockViewSynchronizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTabFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ISynchronizedMemoryBlockView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ITableMemoryViewTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlockViewSynchronizer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryRenderingViewTabFactory.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewCellModifier.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewLine.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTabLabelProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ReformatAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryBlockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockContextAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetColumnSizeDefaultAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetDefaultColumnSizePrefAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabCursorManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewerState.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/DetailPaneWordWrapAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IValueContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/StatusLineContributionItem.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/package.html
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
    org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
    org.eclipse.ui.console/.classpath
    org.eclipse.ui.console/.cvsignore
    org.eclipse.ui.console/.options
    org.eclipse.ui.console/.project
    org.eclipse.ui.console/about.html
    org.eclipse.ui.console/build.properties
    org.eclipse.ui.console/hglegal2003.htm
    org.eclipse.ui.console/icons/full/clcl16/clear_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/pin.gif
    org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
    org.eclipse.ui.console/icons/full/elcl16/pin.gif
    org.eclipse.ui.console/icons/full/eview16/console_view.gif
    org.eclipse.ui.console/ngibmcpy2003.gif
    org.eclipse.ui.console/plugin.properties
    org.eclipse.ui.console/plugin.xml
    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/IConsoleListener.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
    org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.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/actions/ClearOutputAction.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/ConsoleDropDownAction.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/ConsolePluginImages.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.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/MessageConsolePage.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
    org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.options b/org.eclipse.core.variables/.options
deleted file mode 100644
index 34a7de8..0000000
--- a/org.eclipse.core.variables/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.core.variables plugin.
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/about.html b/org.eclipse.core.variables/about.html
deleted file mode 100644
index abd7bd7..0000000
--- a/org.eclipse.core.variables/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>2nd October, 2003</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties
deleted file mode 100644
index e6c0fda..0000000
--- a/org.eclipse.core.variables/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-source.variables.jar = src/
-src.includes=about.html, schema/
diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties
deleted file mode 100644
index 5457749..0000000
--- a/org.eclipse.core.variables/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Core Variables
-providerName=Eclipse.org
-valueVariablesExtensionPointName=Value Variables
-dynamicVariablesExtensionPointName=Dynamic Variables
\ No newline at end of file
diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml
deleted file mode 100644
index b9e2483..0000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.core.variables"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.core.variables.VariablesPlugin">
-
-  <runtime>
-      <library name="variables.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.core.variables,org.eclipse.core.internal.variables"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/>
-   <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/>
-
-</plugin>
diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd
deleted file mode 100644
index a95608b..0000000
--- a/org.eclipse.core.variables/schema/dynamicVariables.exsd
+++ /dev/null
@@ -1,128 +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 Stirng 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;samp&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/samp&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>

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

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

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="variable">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies a unique name for this variable.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a human-readable description of this variable.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a 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>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.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 056e0db..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-	
-	/**
-	 * Resolver, or <code>null</code> until needed
-	 */
-	private IDynamicVariableResolver fResolver;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
-	 */
-	public String getValue(String argument) throws CoreException {
-		if (!supportsArgument()) {
-			// check for an argument - not supported
-			if (argument != null && argument.length() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("DynamicVariable.0"), new String[]{argument, getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		if (fResolver == null) {
-			String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
-			if (name == null) {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-			Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
-			if (object instanceof IDynamicVariableResolver) {
-				fResolver = (IDynamicVariableResolver)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
-			}
-		}
-		return fResolver.resolveValue(this, argument);
-	}
-
-	/**
-	 * Constructs a new context variable.
-	 * 
-	 * @param name variable name
-	 * @param description variable description or <code>null</code>
-	 * @param configurationElement configuration element
-	 */
-	public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
-	 */
-	public boolean supportsArgument() {
-		String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
-		return arg == null || Boolean.valueOf(arg).booleanValue();
-	}
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
deleted file mode 100644
index 4ece741..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null if and only if fSize != 0
-	 */
-	private Object[] fListeners= null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray= new Object[0];
-
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		if (capacity < 1) {
-			throw new IllegalArgumentException();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= listener;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners.
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 542fc7b..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-	
-	// delimiters
-	private static final String VARIABLE_START = "${"; //$NON-NLS-1$
-	private static final char VARIABLE_END = '}'; //$NON-NLS-1$
-	private static final char VARIABLE_ARG = ':'; //$NON-NLS-1$
-	// parsing states
-	private static final int SCAN_FOR_START = 0;
-	private static final int SCAN_FOR_END = 1;
-	
-	/**
-	 * Resulting string
-	 */
-	private StringBuffer fResult;
-	
-	/**
-	 * Whether substitutions were performed
-	 */
-	private boolean fSubs;
-	
-	/**
-	 * Stack of variables to resolve
-	 */
-	private Stack fStack;
-	
-	class VariableReference {
-		
-		// the text inside the variable reference
-		private StringBuffer fText;
-		
-		public VariableReference() {
-			fText = new StringBuffer();
-		}
-		
-		public void append(String text) {
-			fText.append(text);
-		}
-		
-		public String getText() {
-			return fText.toString();
-		}
-	
-	}
-	
-	/**
-	 * Performs recursive string substitution and returns the resulting string.
-	 * 
-	 * @param expression expression to resolve
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param manager registry of variables
-	 * @return the resulting string with all variables recursively
-	 *  substituted
-	 * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
-	 *  in referenced variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		substitute(expression, reportUndefinedVariables, resolveVariables, manager);
-		List resolvedVariableSets = new ArrayList();
-		while (fSubs) {
-			HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);			
-			
-			for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-				
-				HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
-				if (prevSet.equals(resolved)) {
-					HashSet conflictingSet = new HashSet();
-					for (; i<resolvedVariableSets.size(); i++)
-						conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-					
-					StringBuffer problemVariableList = new StringBuffer();
-					for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
-						problemVariableList.append(it.next().toString());
-						problemVariableList.append(", "); //$NON-NLS-1$
-					}
-					problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{problemVariableList.toString()}), null)); //$NON-NLS-1$
-				}				
-			}		
-			
-			resolvedVariableSets.add(resolved);			
-		}
-		return fResult.toString();
-	}
-	
-	/**
-	 * Performs recursive string validation to ensure that all of the variables
-	 * contained in the expression exist
-	 * @param expression expression to validate
-	 * @param manager registry of variables
-	 * @exception CoreException if a referenced variable does not exist or if a cycle exists
-	 *  in referenced variables
-	 */
-	public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
-		performStringSubstitution(expression, true, false, manager);
-	}
-	
-	/**
-	 * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
-	 *  pass
-	 *  
-	 * @param expression source expression
-	 * @param reportUndefinedVariables whether to report undefined variables as an error
-	 * @param resolveVariables whether to resolve the value of any variables
-	 * @exception CoreException if unable to resolve a variable
-	 */
-	private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		fResult = new StringBuffer(expression.length());
-		fStack = new Stack();
-		fSubs = false;
-		
-		HashSet resolvedVariables = new HashSet();
-
-		int pos = 0;
-		int state = SCAN_FOR_START;
-		while (pos < expression.length()) {
-			switch (state) {
-				case SCAN_FOR_START:
-					int start = expression.indexOf(VARIABLE_START, pos);
-					if (start >= 0) {
-						int length = start - pos;
-						// copy non-variable text to the result
-						if (length > 0) {
-							fResult.append(expression.substring(pos, start));
-						}
-						pos = start + 2;
-						state = SCAN_FOR_END;
-
-						fStack.push(new VariableReference());						
-					} else {
-						// done - no more variables
-						fResult.append(expression.substring(pos));
-						pos = expression.length();
-					}
-					break;
-				case SCAN_FOR_END:
-					// be careful of nested variables
-					start = expression.indexOf(VARIABLE_START, pos);
-					int end = expression.indexOf(VARIABLE_END, pos);
-					if (end < 0) {
-						// variables are not completed
-						VariableReference tos = (VariableReference)fStack.peek();
-						tos.append(expression.substring(pos));
-						pos = expression.length();
-					} else {
-						if (start >= 0 && start < end) {
-							// start of a nested variable
-							int length = start - pos;
-							if (length > 0) {
-								VariableReference tos = (VariableReference)fStack.peek();
-								tos.append(expression.substring(pos, start));
-							}
-							pos = start + 2;
-							fStack.push(new VariableReference());	
-						} else {
-							// end of variable reference
-							VariableReference tos = (VariableReference)fStack.pop();
-							String substring = expression.substring(pos, end);							
-							tos.append(substring);
-							resolvedVariables.add(substring);
-							
-							pos = end + 1;
-							String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
-							if (value == null) {
-								value = ""; //$NON-NLS-1$
-							}
-							if (fStack.isEmpty()) {
-								// append to result
-								fResult.append(value);
-								state = SCAN_FOR_START;
-							} else {
-								// append to previous variable
-								tos = (VariableReference)fStack.peek();
-								tos.append(value);
-							}
-						}
-					}
-					break;
-			}
-		}
-		// process incomplete variable references
-		while (!fStack.isEmpty()) {
-			VariableReference tos = (VariableReference)fStack.pop();
-			if (fStack.isEmpty()) {
-				fResult.append(VARIABLE_START);
-				fResult.append(tos.getText());
-			} else {
-				VariableReference var = (VariableReference)fStack.peek();
-				var.append(VARIABLE_START);
-				var.append(tos.getText());
-			}
-		}
-		
-
-		return resolvedVariables;
-	}
-
-	/**
-	 * Resolve and return the value of the given variable reference,
-	 * possibly <code>null</code>. 
-	 * 
-	 * @param var
-	 * @param reportUndefinedVariables whether to report undefined variables as
-	 *  an error
-	 * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
-	 * @param manager variable registry
-	 * @return variable value, possibly <code>null</code>
-	 * @exception CoreException if unable to resolve a value
-	 */
-	private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
-		String text = var.getText();
-		int pos = text.indexOf(VARIABLE_ARG);
-		String name = null;
-		String arg = null;
-		if (pos > 0) {
-			name = text.substring(0, pos);
-			pos++;
-			if (pos < text.length()) {
-				arg = text.substring(pos);
-			} 
-		} else {
-			name = text;
-		}
-		IValueVariable valueVariable = manager.getValueVariable(name);
-		if (valueVariable == null) {
-			IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
-			if (dynamicVariable == null) {
-				// no variables with the given name
-				if (reportUndefinedVariables) {
-					throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.3"), new String[]{name}), null)); //$NON-NLS-1$
-				} 
-				// leave as is
-				return getOriginalVarText(var);
-			} 
-			
-			if (resolveVariables) {
-				fSubs = true;
-				return dynamicVariable.getValue(arg);
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		
-		if (arg == null) {
-			if (resolveVariables) {
-				fSubs = true;
-				return valueVariable.getValue();
-			} 
-			//leave as is
-			return getOriginalVarText(var);
-		} 
-		// error - an argument specified for a value variable
-		throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{valueVariable.getName()}), null)); //$NON-NLS-1$
-	}
-
-	private String getOriginalVarText(VariableReference var) {
-		StringBuffer res = new StringBuffer(var.getText());
-		res.insert(0, VARIABLE_START);
-		res.append(VARIABLE_END);
-		return res.toString();
-	}
-}
\ No newline at end of file
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 cb76420..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-	
-	/**
-	 * Variable name
-	 */
-	private String fName;
-	
-	/**
-	 * Variable description, or <code>null</code>
-	 */
-	private String fDescription;
-	
-	/**
-	 * Configuration element associated with this variable, or <code>null</code>
-	 */
-	private IConfigurationElement fConfigurationElement;
-
-	/**
-	 * Constructs a new variable with the given name and description.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 */
-	public StringVariable(String name, String description, IConfigurationElement configurationElement) {
-		fName = name;
-		fDescription = description;
-		fConfigurationElement = configurationElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
-	 */
-	public String getDescription() {
-		return fDescription;
-	}
-	
-	/**
-	 * Returns the configuration element associated with this variable, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return configuration element or <code>null</code>
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfigurationElement;
-	}
-	
-	/**
-	 * @see IValueVariable#setDescription(String)
-	 * @param description
-	 */
-	public void setDescription(String description) {
-		fDescription = description;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index aa646f7..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Singleton string variable manager. 
- */
-public class StringVariableManager implements IStringVariableManager {
-	
-	/**
-	 * Dynamic variables - maps variable names to variables.
-	 */
-	private Map fDynamicVariables;
-	
-	/**
-	 * Value varialbes - maps variable names to variables.
-	 */
-	private Map fValueVariables;
-	
-	/**
-	 * Variable listeners
-	 */
-	private ListenerList fListeners;
-	
-	// notifications
-	private static final int ADDED = 0;
-	private static final int CHANGED = 1;
-	private static final int REMOVED = 2;
-	
-	/**
-	 * Singleton variable manager.
-	 */
-	private static StringVariableManager fgManager; 
-	
-	// true during initialization code - supress change notification
-	private boolean fInitializing = false;
-	
-	// Variable extension point constants
-	private static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$	
-	// Persisted variable XML constants
-	private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$
-	private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$
-	private static final String NAME_TAG= "name"; //$NON-NLS-1$
-	private static final String VALUE_TAG= "value"; //$NON-NLS-1$
-	private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$
-	private static final String INITIALIZED_TAG="contributed"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	// preference store key for value variables
-	private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$	
-		
-	/**
-	 * Notifies a string variable listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class StringVariableNotifier implements ISafeRunnable {
-		
-		private IValueVariableListener fListener;
-		private int fType;
-		private IValueVariable[] fVariables;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$
-			VariablesPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.variablesAdded(fVariables);
-					break;
-				case REMOVED:
-					fListener.variablesRemoved(fVariables);
-					break;
-				case CHANGED:
-					fListener.variablesChanged(fVariables);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IValueVariable[] variables, int update) {
-			fVariables = variables;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IValueVariableListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fVariables = null;
-			fListener = null;
-			// persist variables whenever there is an add/change/remove	
-			storeValueVariables();	
-		}
-	}	
-	
-	/**
-	 * Returns a new notifier.
-	 * 
-	 * @return a new notifier
-	 */
-	private StringVariableNotifier getNotifier() {
-		return new StringVariableNotifier();
-	}
-	
-	/**
-	 * Returns the default string variable manager
-	 * 
-	 * @return string variable manager
-	 */
-	public static StringVariableManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariableManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Constructs a new string variable manager. 
-	 */
-	private StringVariableManager() {
-		fListeners = new ListenerList(5);
-	}	
-
-	/**
-	 * Load contributed variables and persisted variables
-	 */
-	private void initialize() {
-		if (fDynamicVariables == null) {
-			fInitializing = true;
-			fDynamicVariables = new HashMap(5);
-			fValueVariables = new HashMap(5);
-			loadPersistedValueVariables();
-			loadContributedValueVariables();
-			loadDynamicVariables();
-			fInitializing = false;
-		}
-	}
-	
-	/**
-	 * Loads contributed dynamic variables
-	 */
-	private void loadDynamicVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			DynamicVariable variable= new DynamicVariable(name, description, element);
-			fDynamicVariables.put(variable.getName(), variable);
-		}
-	}
-
-	/**
-	 * Loads any persisted value varialbes from the preference store.
-	 */
-	private void loadPersistedValueVariables() {
-		String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
-		if (variablesString.length() == 0) {
-			return;
-		}
-		Element root= null;
-		Throwable ex = null;
-		try {
-			ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			root = parser.parse(stream).getDocumentElement();
-		} catch (UnsupportedEncodingException e) {
-			ex = e;
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (FactoryConfigurationError e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		if (ex != null) {
-			VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
-			VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
-					VariablesPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String name= element.getAttribute(NAME_TAG);
-				if (name.length() > 0) {
-					String value= element.getAttribute(VALUE_TAG);
-					String description= element.getAttribute(DESCRIPTION_TAG);
-					boolean initialized= TRUE_VALUE.equals(element.getAttribute(INITIALIZED_TAG));
-					ValueVariable variable= new ValueVariable(name, description, null);
-					if (initialized) {
-						variable.setValue(value);
-					}
-					fValueVariables.put(name, variable);
-				} else {
-					VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Loads contributed value variables. This is done after the persisted value
-	 * varaibles are restored. Any contributed variables with the same name are
-	 * merged with existing persisted values.
-	 */
-	private void loadContributedValueVariables() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES);
-		IConfigurationElement elements[]= point.getConfigurationElements();
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement element = elements[i];
-			String name= element.getAttribute(ATTR_NAME);
-			if (name == null) {
-				VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
-				continue;
-			}
-			String description= element.getAttribute(ATTR_DESCRIPTION);
-			ValueVariable variable= new ValueVariable(name, description, element);
-			// if already present, merge with persisted value
-			ValueVariable existing = (ValueVariable)getValueVariable(name);
-			if (existing != null) {
-				if (existing.isInitialized()) {
-					variable.setValue(existing.getValue());
-				}					
-			}
-			fValueVariables.put(variable.getName(), variable);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
-	 */
-	public 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 IValueVariable[] getValueVariables() {
-		initialize();
-		return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
-	 */
-	public IDynamicVariable[] getDynamicVariables() {
-		initialize();
-		return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
-	 */
-	public String performStringSubstitution(String expression) throws CoreException {
-		return performStringSubstitution(expression, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
-	 */
-	public IValueVariable newValueVariable(String name, String description) {
-		IConfigurationElement element = null;
-		ValueVariable existing = (ValueVariable)getValueVariable(name);
-		if (existing != null && existing.isContributed()) {
-			element = existing.getConfigurationElement();
-		}
-		return new ValueVariable(name, description, element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException {
-		initialize();
-		MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.getString("StringVariableManager.26"), null); //$NON-NLS-1$
-		for (int i = 0; i < variables.length; i++) {
-			IValueVariable variable = variables[i];
-			if (getValueVariable(variable.getName()) != null) {
-				status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringVariableManager.27"), new String[]{variable.getName()}), null)); //$NON-NLS-1$
-			}			
-		}
-		if (status.isOK()) {
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				fValueVariables.put(variable.getName(), variable);
-			}
-			IValueVariable[] copy = new IValueVariable[variables.length];
-			System.arraycopy(variables, 0, copy, 0, variables.length);
-			getNotifier().notify(copy, ADDED);
-			return;
-		}
-		throw new CoreException(status);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
-	 */
-	public 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 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 IValueVariable getValueVariable(String name) {
-		initialize();
-		return (IValueVariable) fValueVariables.get(name);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void addValueVariableListener(IValueVariableListener listener) {
-		fListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener) {
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns a memento representing the value variables currently registered.
-	 * 
-	 * @return memento representing the value variables currently registered
-	 * @throws IOException if an I/O exception occurs while creating the XML.
-	 */
-	private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IValueVariable[] variables = getValueVariables();
-
-		Document document= getDocument();
-		Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < variables.length; i++) {
-			ValueVariable variable = (ValueVariable)variables[i];
-			Element element= document.createElement(VALUE_VARIABLE_TAG);
-			element.setAttribute(NAME_TAG, variable.getName());
-			String value= variable.getValue();
-			if (value != null) {
-				element.setAttribute(VALUE_TAG, value);
-			}
-			String description= variable.getDescription();
-			if (description != null) {
-				element.setAttribute(DESCRIPTION_TAG, description);
-			}
-			element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE);
-			rootElement.appendChild(element);
-		}
-		return serializeDocument(document);
-	}
-	
-	private Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc =docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Saves the value variables currently registered in the
-	 * preference store. 
-	 */
-	private 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;
-			}
-		}
-		prefs.setValue(PREF_VALUE_VARIABLES, variableString);
-		VariablesPlugin.getDefault().savePluginPreferences();
-	}
-
-	/**
-	 * Fire a change notification for the given variable.
-	 * 
-	 * @param variable the variable that has changed
-	 */
-	protected void notifyChanged(ValueVariable variable) {
-		if (!fInitializing) {
-			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);
-	}
-}
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 5ecb45a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Implementation of a value variable.
- */
-public class ValueVariable extends StringVariable implements IValueVariable {
-	
-	/**
-	 * Variable value or <code>null</code> if none 
-	 */
-	private String fValue;
-	
-	/**
-	 * Whether this variable's value has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * Constructs a new value variable with the given name, description, and
-	 * associated configuration element.
-	 * 
-	 * @param name variable name
-	 * @param description variable description, or <code>null</code>
-	 * @param configurationElement configuration element or <code>null</code>
-	 */
-	public ValueVariable(String name, String description, IConfigurationElement configurationElement) {
-		super(name, description, configurationElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		fValue = value;
-		setInitialized(true);
-		StringVariableManager.getDefault().notifyChanged(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#getValue()
-	 */
-	public String getValue() {
-		if (!isInitialized()) {
-			initialize();
-		}
-		return fValue;
-	}
-
-	/**
-	 * Initialize this variable's value.
-	 */
-	private void initialize() {
-		if (getConfigurationElement() != null) {
-			// check for a explicit value specified in plug-in XML
-			String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$
-			if (value == null) {
-				// check for initializer
-				String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$
-				if (className != null) {
-					try {
-						Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$
-						if (object instanceof IValueVariableInitializer) {
-							IValueVariableInitializer initializer = (IValueVariableInitializer)object;
-							initializer.initialize(this);
-						} else {
-							VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
-						}
-					} catch (CoreException e) {
-						VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
-					}
-				}
-			} else {
-				setValue(value);
-			}
-		}
-		setInitialized(true);
-	}
-
-	/**
-	 * Returns whether this variable has been initialized with a value by one of:
-	 * <ul>
-	 * <li><code>setValue(String)</code></li>
-	 * <li>its configuration element's <code>initialValue</code> attribute</li>
-	 * <li>its configuration element's initializer</li>
-	 * </ul>
-	 * @return whether this variable has been initialized with a value
-	 */	
-	protected boolean isInitialized() {
-		return fInitialized;
-	} 
-	
-	/**
-	 * Sets whether this variable has been initialized with a value.
-	 *  
-	 * @param initialized whether this variable has been initialized
-	 */
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed()
-	 */
-	public boolean isContributed() {
-		return getConfigurationElement() != null;
-	}
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 7791efb..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariablesMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private VariablesMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ 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 7113d13..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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 5614d91..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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>
- * 
- * @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 6187525..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.
- * 
- * @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 69bab0a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon seperates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- *       accept no arguments. The value of this type of variable is resolved at the time
- *       its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * 		a string substitution is performed by a contributed resolver. Dynamic variables
- * 		may accept an argument.</li>
- * </ul>
- * </p>
- * @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 55e62b6..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- * 
- * @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);
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Reports errors for references
-	 * to undefined variables (equivalent to calling
-	 * <code>performStringSubstitution(expression, true)</code>).
-	 * 
-	 * @param expression expression referencing variables
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression) throws CoreException;
-	
-	/**
-	 * Recursively resolves and replaces all variable references in the given
-	 * expression with their corresponding values. Allows the client to control
-	 * whether references to undefined variables are reported as an error (i.e.
-	 * an exception is thrown).  
-	 * 
-	 * @param expression expression referencing variables
-	 * @param reportUndefinedVariables whether a reference to an undefined variable
-	 *  is to be considered an error (i.e. throw an exception)
-	 * @return expression with variable references replaced with variable values
-	 * @throws CoreException if unable to resolve the value of one or more variables
-	 */
-	public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;	
-	
-	/**
-	 * Validates variables references in the given expression and reports errors
-	 * for references to undefined variables.
-	 * 
-	 * @param expression expression referencing variables
-	 * @throws CoreException if one or more referenced variables do not exist
-	 */
-	public void validateStringVariables(String expression) throws CoreException;
-	
-	/**
-	 * Returns a new value variable with the given name and description.
-	 * 
-	 * @param name variable name, cannot be <code>null</code>
-	 * @param description variable description, possibly <code>null</code>
-	 * @return a new variable
-	 * @exception CoreException if a variable already exists with the given name
-	 */
-	public IValueVariable newValueVariable(String name, String description);
-	
-	/**
-	 * Adds the given variables to the variable registry.
-	 * 
-	 * @param variables the variables to add
-	 * @throws CoreException if one or more variables to add has a name collision with
-	 *  an existing variable 
-	 */
-	public void addVariables(IValueVariable[] variables) throws CoreException;
-	
-	/**
-	 * Removes the given variables from the registry. Has no effect for unregistered
-	 * variables.
-	 * 
-	 * @param variables variables to remove
-	 */
-	public void removeVariables(IValueVariable[] variables);
-	
-	/**
-	 * Registers the given listener for value variable notifications. Has no effect
-	 * if an identical listener is already registered.
-	 *   
-	 * @param listener value variable listener to add
-	 */
-	public void addValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Removes the given listener from the list of registered value variable
-	 * listeners. Has no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener value variable listener to remove
-	 */
-	public void removeValueVariableListener(IValueVariableListener listener);
-	
-	/**
-	 * Convenience method that returns an expression referencing the given
-	 * variable and optional argument. For example, calling the method with
-	 * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
-	 * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
-	 * 
-	 * @param varName variable name
-	 * @param arg argument text or <code>null</code>
-	 * @return an expression referencing the given variable and
-	 *  optional argument
-	 */
-	public String generateVariableExpression(String varName, String arg);
-	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index 6c1bd80..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialie the variable with a value. 
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initialValue="/usr/local/foo"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- *  &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- *   &lt;variable
- *    name="FOO_HOME"
- *    initializerClass="com.example.FooLocator"&gt;
- *   &lt;/variable&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * 
- * 
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
-	/**
-	 * Sets the value of this variable to the given value. A value of
-	 * <code>null</code> indicates the value of this variable is undefined.
-	 * 
-	 * @param value variable value, possibly <code>null</code>
-	 */
-	public void setValue(String value);
-	
-	/**
-	 * Returns the value of this variable, or <code>null</code> if none.
-	 * 
-	 * @return the value of this variable, or <code>null</code> if none
-	 */
-	public String getValue();
-	
-	/**
-	 * Returns whether this variable was contributed by an extension.
-	 * 
-	 * @return whether this variable was contributed by an extension
-	 */
-	public boolean isContributed();
-	
-	/**
-	 * Sets the description of this variable to the given value.
-	 * 
-	 * @param description variable description, possibly <code>null</code>
-	 */
-	public void setDescription(String description);	
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 16cc8fe..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechnism for programatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
-	/**
-	 * Initializes the specified variable. 
-	 * 
-	 * @param variable variable to initialize
-	 */
-	public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 87c018a..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.
- * 
- * @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 fa82ad9..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * Status code indicating a variable reference cycle error.
-	 */
-	public static final int REFERENCE_CYCLE_ERROR = 130;
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static VariablesPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
-	 * for the Core Variables plug-in.
-	 */
-	public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
-	/** 
-	 * Constructs an instance of this plug-in runtime class.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by the Variables plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public VariablesPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static VariablesPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_CORE_VARIABLES;
-	}
-	
-	/**
-	 * Returns the string variable manager.
-	 * 
-	 * @return the string variable manager
-	 */
-	public IStringVariableManager getStringVariableManager() {
-		return StringVariableManager.getDefault();
-	}
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0..0000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of 
-  string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and 
-  contribution of variables for the purpose of string substitution. The plug-in 
-  supports the recursive replacement of variables referenced by name in arbitrary 
-  strings with the value of the variable. Two types of variables are provided 
-  - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). 
-  A value variable has a simple setter and getter for its current value. A dynamic 
-  variable has an associated resolver that provides a variable's value each time 
-  it is referenced (replaced) in a string substitution. A dynamic variable may 
-  also provide an argument in its reference that can be used by its resolver to 
-  determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage 
-  the set of defined variables. Value variables may be created via API on the 
-  variable manager, or contributed via the <code>valueVariables</code> extension 
-  point. Dynamic variables must be contributed via the <code>dynamicVariables</code> 
-  extension point. The variable manager also provides change notification for 
-  value variables. The variable manager also provides an API for performing string 
-  substitution, which accepts a string, and returns a string with all variable 
-  references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with 
-  a dollar sign. For example, consider a variable defined with the name <code>foo</code>, 
-  and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>. 
-  If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result 
-  of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the 
-  case of a dynamic variable, an (optional) argument is supplied by appending 
-  a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>. 
-  In this case, the resolver associated with <code>foo</code> would be provided 
-  with the referenced argument (<code>bar</code>) when asked to resolve a value 
-  for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath
deleted file mode 100644
index 03bbb43..0000000
--- a/org.eclipse.debug.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="core"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.core/.cvsignore b/org.eclipse.debug.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.debug.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.options b/org.eclipse.debug.core/.options
deleted file mode 100644
index a3e35f6..0000000
--- a/org.eclipse.debug.core/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.debug.core/debug=true
\ No newline at end of file
diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project
deleted file mode 100644
index 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/about.html b/org.eclipse.debug.core/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.debug.core/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties
deleted file mode 100644
index 5dea929..0000000
--- a/org.eclipse.debug.core/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-source.dtcore.jar = core/
-src.includes=about.html, schema/
diff --git a/org.eclipse.debug.core/buildnotes_platform-debug.html b/org.eclipse.debug.core/buildnotes_platform-debug.html
deleted file mode 100644
index 850b424..0000000
--- a/org.eclipse.debug.core/buildnotes_platform-debug.html
+++ /dev/null
@@ -1,891 +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>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> 
-
-<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=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>
-
-<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/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
deleted file mode 100644
index 42c74b3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.EventObject;
-
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * A debug event describes an event in a program being debugged or
- * in a running process. Debug models and process implementations
- * are required to generate debug events as specified by this class.
- * <p>
- * The following list defines the events generated for each debug
- * model element.
- * The <code>getSource()</code> method of a debug event
- * returns the element associated with the event.
- * Creation events are guaranteed to occur in a top
- * down order - that is, parents are created before children.
- * Termination events are guaranteed to occur in a bottom up order -
- * that is, children before parents. However, termination events are not guaranteed
- * for all  elements that are created. That is, terminate events can be coalesced - a 
- * terminate event for a parent signals that all children have been terminated.
- * </p>
- * <p>
- * A debug model may define model specific events by specifying a debug event
- * kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by the
- * event source (i.e. by the debug model that generated the event). The detail of
- * a model specific event is client defined. Note that model specific events are
- * not understood by the debug platform, and are thus ignored.
- * </p>
- * <p>
- * The generic <code>CHANGE</code> event can be fired at any time by any element.
- * Generally, a client of a debug model, such as as a UI, can get sufficient
- * information to update by listening/responding to the other event kinds. However,
- * if a debug model needs to inform clients of a change that is not specified
- * by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used.
- * For example, generally, the only way a thread or any of its children can change
- * state between a suspend and resume operation, is if the thread or owning debug
- * target is terminated. However, if a debug model supports some other operation
- * that would allow a debug element to change state while suspended, the debug model
- * would fire a change event for that element. The valid detail codes for a
- * change event are:<ul>
- * <li><code>STATE</code> - indicates the state of an element has changed, but its
- *  children are not affected. A client would use a state change event to update
- *  a label of the affected element, but would not update any children.</li>
- * <li><code>CONTENT</code> - indicates that a debug element's value or contents have
- *  changed in some way. For example, when the value of a variable is changed
- *  explicitly, the variable should fire a content change event.</li>
- * </ul>
- * </p>
- * <ul>
- * <li><code>IProcess</code>
- *	<ul>
- *	<li><code>CREATE</code> - a process has been created and is executing.</li>
- *	<li><code>TERMINATE</code> - a process has terminated.</li>
- *  </ul>
- * <li><code>IDebugTarget</code>
- *	<ul>
- *	<li><code>CREATE</code> - a debug target has been created and is ready
- *		to begin a debug session.</li>
- *	<li><code>TERMINATE</code> - a debug target has terminated and the debug
- *		session has ended.</li>
- *  <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *  <li><code>RESUME</code> - a debug target has resumed. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *	</ul>
- * </li>
- * <li><code>IThread</code>
- *	<ul>
- *	<li><code>CREATE</code> - a thread has been created in a debug target.</li>
- *	<li><code>TERMINATE</code> - a thread has terminated.</li>
- *	<li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides
- *		the reason for the suspension:<ul>
- *		<li><code>STEP_END</code> - a request to step has completed</li>
- *		<li><code>BREAKPOINT</code> - a breakpoint has been hit</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend
- * 			(i.e. an explicit call to <code>suspend()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has ended that may
- * 			have had side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that
- * 			had no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li>
- *		</ul>
- *	</li>
- *	<li><code>RESUME</code> - a thread has resumed execution. Event detail provides
- *		the reason for the resume:<ul>
- *		<li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li>
- * 		<li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li>
- * 		<li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li>
- *		<li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed
- * 			(i.e. an explicit call to <code>resume()</code>)</li>
- * 		<li><code>EVALUATION</code> - an expression evaluation has started that may
- * 			have side effects in the debug target.</li>
- * 		<li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that
- * 			will have no side effects in the debug target.</li>
- * 		<li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li>
- *		</ul>
- *	</li>
- *    </ul>
- * </li>
- * <li><code>IStackFrame</code> - no events are specified for stack frames.
- *	When a thread is suspended, it has stack frames. When a thread resumes,
- *	stack frames are unavailable.
- * </li>
- * <li><code>IVariable</code> - no events are specified for variables.
- *	When a thread is suspended, stack frames have variables. When a thread resumes,
- *	variables are unavailable.
- * </li>
- * <li><code>IValue</code> - no events are specified for values.
- * </li>
- * </ul>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- */
-public final class DebugEvent extends EventObject {
-	
-	/**
-	 * Resume event kind.
-	 */
-	public static final int RESUME= 0x0001;
-
-	/**
-	 * Suspend event kind.
-	 */
-	public static final int SUSPEND= 0x0002;
-
-	/**
-	 * Create event kind.
-	 */
-	public static final int CREATE= 0x0004;
-
-	/**
-	 * Terminate event kind.
-	 */
-	public static final int TERMINATE= 0x0008;
-	
-	/**
-	 * Change event kind.
-	 */
-	public static final int CHANGE= 0x0010;
-	
-	/**
-	 * Model specific event kind. The detail codes
-	 * for a model specific event are client defined.
-	 * 
-	 * @since 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.getString("DebugEvent.illegal_kind")); //$NON-NLS-1$
-		if (kind != MODEL_SPECIFIC && detail != UNSPECIFIED && (detail & (STEP_END | STEP_INTO | STEP_OVER | STEP_RETURN | BREAKPOINT | CLIENT_REQUEST |EVALUATION | EVALUATION_IMPLICIT | STATE | CONTENT)) == 0)
-			throw new IllegalArgumentException(DebugCoreMessages.getString("DebugEvent.illegal_detail")); //$NON-NLS-1$
-		fKind= kind;
-		fDetail= detail;
-	}
-
-	/**
-	 * Returns a constant describing extra detail about the event - either one
-	 * of the detail constants defined by this class, possibly
-	 * <code>UNSPECIFIED</code>, or a client defined detail if this is a model specific event.
-	 *
-	 * @return the detail code
-	 */
-	public int getDetail() {
-		return fDetail;
-	}
-
-	/**
-	 * Returns this event's kind - one of the kind constants defined by this class.
-	 * 
-	 * @return the kind code
-	 */
-	public int getKind() {
-		return fKind;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates the
-	 * beginning of a step event. This event's detail is one
-	 * of <code>STEP_INTO</code>, <code>STEP_OVER</code>, or
-	 * <code>STEP_RETURN</code>.
-	 * 
-	 * @return whether this event's detail indicates the beginning
-	 *  of a step event.
-	 * @since 2.0
-	 */
-	public boolean isStepStart() {
-		return (getDetail() & (STEP_INTO | STEP_OVER | STEP_RETURN)) > 0;
-	}
-	
-	/**
-	 * Returns whether this event's detail indicates an
-	 * evaluation. This event's detail is one
-	 * of <code>EVALUATION</code>, or <code>EVALUATION_IMPLICIT</code>.
-	 * 
-	 * @return whether this event's detail indicates an evaluation.
-	 * @since 2.0
-	 */
-	public boolean isEvaluation() {
-		return (getDetail() & (EVALUATION | EVALUATION_IMPLICIT)) > 0;
-	}	
-	
-	/**
-	 * Sets this event's application defined data.
-	 * 
-	 * @param data application defined data
-	 * @since 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 4c6b74b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-
-/**
- * A checked exception representing a failure.
- * <p>
- * Defines status codes relevant to the debug plug-in. When a 
- * debug exception is thrown, it contains a status object describing
- * the cause of the exception. The status objects originating from the
- * debug plug-in use the codes defined in this class.
- * </p>
- * <p>
- * Clients may instantiate this class. Clients are not intended to subclass this class.
- * </p>
- * @see IStatus
- */
-public class DebugException extends CoreException {	
-	/**
-	 * Indicates a request made of a debug element has failed
-	 * on the target side.
-	 */
-	public static final int TARGET_REQUEST_FAILED = 5010;
-	 
-	/**
-	 * Indicates a request is not supported by the capabilities of a debug element.
-	 * For example, a request was made to terminate an element that does not
-	 * support termination.
-	 */
-	public static final int NOT_SUPPORTED = 5011;
-
-	/**
-	 * Indicates that a request made of manager has failed, or a request made of a
-	 * debug element has failed on the client side (that is, before the request was
-	 * sent to the debug target).
-	 */
-	public static final int REQUEST_FAILED = 5012;
-
-	/**
-	 * Indicates an internal error. This is an unexpected state.
-	 */
-	public static final int INTERNAL_ERROR = 5013;
-	
-	/** 
-	 * Indicates an improperly configured breakpoint. Breakpoints have a minimal
-	 * set of required attributes as defined by the breakpoint manager.
-	 *
-	 * @see IBreakpointManager
-	 */
-	public static final int CONFIGURATION_INVALID = 5014;
-	
-	/**
-	 * Indicates a launch configuration could not be restored because its
-	 * launch configuration type definition is missing.
-	 * 
-	 * @since 3.0
-	 */
-	public static final int MISSING_LAUNCH_CONFIGURATION_TYPE = 5020;
-	
-	/**
-	 * Constructs a new debug exception with the given status object.
-	 *
-	 * @param status the status object describing this exception
-	 * @see IStatus
-	 */
-	public DebugException(IStatus status) {
-		super(status);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
deleted file mode 100644
index 0533525..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.debug.internal.core.BreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.ExpressionManager;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.core.ListenerList;
-import org.eclipse.debug.internal.core.LogicalStructureManager;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-import org.osgi.framework.BundleContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-
-/**
- * There is one instance of the debug plug-in available from
- * <code>DebugPlugin.getDefault()</code>. The debug plug-in provides:
- * <ul>
- * <li>access to the breakpoint manager</li>
- * <li>access to the launch manager</li>
- * <li>access to the expression manager</li>
- * <li>access to the registered launcher extensions</li>
- * <li>debug event notification</li>
- * <li>status handlers</li>
- * </ul>
- * <p>
- * Clients may not instantiate or subclass this class.
- * </p>
- */
-public class DebugPlugin extends Plugin {
-	
-	/**
-	 * 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>"sourceContainerTypes"</code>) for the
-	 * source container types extension point.
-	 * 
-	 * @since 3.0
-	 */	
-	public static final String EXTENSION_POINT_SOURCE_CONTAINER_TYPES = "sourceContainerTypes";	 //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"sourcePathComputers"</code>) for the
-	 * source path computers extension point.
-	 * 
-	 * @since 3.0
-	 */		
-	public static final String EXTENSION_POINT_SOURCE_PATH_COMPUTERS = "sourcePathComputers"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-
-	/**
-	 * Status code indicating that the Eclipse runtime does not support
-	 * launching a program with a working directory. This feature is only
-	 * available if Eclipse is run on a 1.3 runtime or higher.
-	 * <p>
-	 * A status handler may be registered for this error condition,
-	 * and should return a Boolean indicating whether the program
-	 * should be relaunched with the default working directory.
-	 * </p>
-	 */
-	public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115;
-	
-	/**
-	 * The 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 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 collection of debug event listeners.
-	 */
-	private ListenerList fEventListeners;
-	
-	/**
-	 * Event filters, or <code>null</code> if none.
-	 */
-	private ListenerList fEventFilters = null;
-
-	/**
-	 * Whether this plugin is in the process of shutting
-	 * down.
-	 */
-	private boolean fShuttingDown= false;
-	
-	/**
-	 * Whether event dispatch is in progress (if > 0)
-	 * 
-	 * @since 2.1
-	 */
-	private int fDispatching = 0;
-	
-	/**
-	 * Queue of runnables to execute after event dispatch is
-	 * complete.
-	 * 
-	 * @since 2.1
-	 */
-	private Vector fRunnables = null;
-	
-	/**
-	 * Job that executes runnables
-	 * 
-	 * @since 3.0
-	 */
-	private AsynchJob fAsynchJob = null;
-		
-	/**
-	 * Table of status handlers. Keys are {plug-in identifier, status code}
-	 * pairs, and values are associated <code>IConfigurationElement</code>s.
-	 */
-	private HashMap fStatusHandlers = null;
-	
-	/**
-	 * 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;	
-			
-	/**
-	 * Returns the singleton instance of the debug plug-in.
-	 */
-	public static DebugPlugin getDefault() {
-		return fgDebugPlugin;
-	}
-	
-	/**
-	 * Sets the singleton instance of the debug plug-in.
-	 * 
-	 * @param plugin the debug plug-in, or <code>null</code>
-	 *  when shutting down
-	 */
-	private static void setDefault(DebugPlugin plugin) {
-		fgDebugPlugin = plugin;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_DEBUG_CORE;
-	}
-
-	/**
-	 * Constructs the debug plug-in.
-	 * <p>
-	 * An instance of this plug-in runtime class is automatically created 
-	 * when the facilities provided by this plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public DebugPlugin() {
-		super();
-		setDefault(this);
-	}
-	
-	/**
-	 * Adds the given listener to the collection of registered debug
-	 * event listeners. Has no effect if an identical listener is already
-	 * registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.0
-	 */
-	public void addDebugEventListener(IDebugEventSetListener listener) {
-		if (fEventListeners == null) {
-			fEventListeners = new ListenerList(20);
-		}
-		fEventListeners.add(listener);
-	}	
-	
-	/**
-	 * Notifies all registered debug event set listeners of the given
-	 * debug events. Events which are filtered by a registered debug event
-	 * filter are not fired.
-	 * 
-	 * @param events array of debug events to fire
-	 * @see IDebugEventFilter
-	 * @see IDebugEventSetListener
-	 * @since 2.0
-	 */
-	public void fireDebugEventSet(DebugEvent[] events) {
-		if (isShuttingDown() || events == null || fEventListeners == null)
-			return;
-		getEventNotifier().dispatch(events);
-	}
-	
-	/**
-	 * Asynchronously executes the given runnable in a seperate
-	 * thread, after debug event dispatch has completed. If debug
-	 * events are not currently being dispatched, the runnable is
-	 * scheduled to run in a seperate thread immediately.
-	 * 
-	 * @param r runnable to execute asynchronously
-	 * @since 2.1
-	 */
-	public void asyncExec(Runnable r) {
-		if (fRunnables == null) {
-			// initialize runnables and async job
-			fRunnables= new Vector(5);
-			fAsynchJob = new AsynchJob();
-		}
-		fRunnables.add(r);
-		if (!isDispatching()) {
-			fAsynchJob.schedule();
-		} 
-	}
-	
-	/**
-	 * Returns the breakpoint manager.
-	 *
-	 * @return the breakpoint manager
-	 * @see IBreakpointManager
-	 */
-	public IBreakpointManager getBreakpointManager() {
-		if (fBreakpointManager == null) {
-			fBreakpointManager = new BreakpointManager();
-		}
-		return fBreakpointManager;
-	}
-	
-	/**
-	 * Returns the launch manager.
-	 *
-	 * @return the launch manager
-	 * @see ILaunchManager
-	 */
-	public ILaunchManager getLaunchManager() {
-		if (fLaunchManager == null) {
-			fLaunchManager = new LaunchManager();
-		}
-		return fLaunchManager;
-	}
-	
-	/**
-	 * Returns the status handler registered for the given
-	 * status, or <code>null</code> if none.
-	 *
-	 * @return the status handler registered for the given
-	 *  status, or <code>null</code> if none
-	 * @since 2.0
-	 */
-	public IStatusHandler getStatusHandler(IStatus status) {
-		StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode());
-		if (fStatusHandlers == null) {
-			initializeStatusHandlers();
-		}
-		IConfigurationElement config = (IConfigurationElement)fStatusHandlers.get(key);
-		if (config != null) {
-			try {
-				Object handler = config.createExecutableExtension("class"); //$NON-NLS-1$
-				if (handler instanceof IStatusHandler) {
-					return (IStatusHandler)handler;
-				}
-				invalidStatusHandler(null, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.Registered_status_handler_{0}_does_not_implement_required_interface_IStatusHandler._1"), new String[] {config.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} catch (CoreException e) {
-				log(e);
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the expression manager.
-	 *
-	 * @return the expression manager
-	 * @see IExpressionManager
-	 * @since 2.0
-	 */
-	public IExpressionManager getExpressionManager() {
-		if (fExpressionManager == null) {
-			fExpressionManager = new ExpressionManager();
-		}
-		return fExpressionManager;
-	}	
-		
-	/**
-	 * Removes the given listener from the collection of registered debug
-	 * event listeners. Has no effect if an identical listener is not already
-	 * registered.
-	 *
-	 * @param listener the listener to remove
-	 * @since 2.0
-	 */
-	public void removeDebugEventListener(IDebugEventSetListener listener) {
-		if (fEventListeners != null) {
-			fEventListeners.remove(listener);
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			setShuttingDown(true);
-		
-			if (fAsynchJob != null) {
-				fAsynchJob.cancel();
-			}
-			if (fLaunchManager != null) {
-				fLaunchManager.shutdown();
-			}
-			if (fBreakpointManager != null) {
-				fBreakpointManager.shutdown();
-			}
-			MemoryBlockManager.pluginShutdown();
-			if (fEventListeners != null) {
-				fEventListeners.removeAll();
-			}
-			SourceLookupUtils.shutdown();
-			setDefault(null);
-			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
-		} finally {
-			super.stop(context);
-		}
-	}
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch.
-	 *
-	 * @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
-	 */
-	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.
-	 * 
-	 * The process will be created by the <code>IProcessFactory<code> if it has been 
-	 * designated via the org.eclipse.debug.core.processFactories extension point for the
-	 * process factory id indicated in the launch configuration associated with the launch.
-	 * 
-	 * @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
-	 * @since 2.1
-	 */
-	public static IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) {
-		ILaunchConfiguration config= launch.getLaunchConfiguration();
-		String processFactoryID= null;
-		if (config != null) {
-			try {
-				processFactoryID= config.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null);
-			} catch (CoreException e) {
-			}
-		}
-		if (processFactoryID != null) {
-			DebugPlugin plugin= DebugPlugin.getDefault();
-			if (plugin.fProcessFactories == null) {
-				plugin.initializeProcessFactories();
-			}
-			IConfigurationElement element= (IConfigurationElement) plugin.fProcessFactories.get(processFactoryID);
-			if (element == null) {
-				return null;
-			}
-			IProcessFactory processFactory= null;
-			try {
-				processFactory = (IProcessFactory)element.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException exception) {
-				log(exception);
-				return null;
-			}
-			return processFactory.newProcess(launch, process, label, attributes);
-		} 
-		return new RuntimeProcess(launch, process, label, attributes);
-	}	
-	
-	/**
-	 * Returns any logical structure types that have been contributed for the given
-	 * value.
-	 * 
-	 * @param value the value for which logical structure types have been requested
-	 * @return logical structure types that have been contributed for the given
-	 * value, possibly an empty collection
-	 * 
-	 * @since 3.0
-	 */
-	public static ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		return LogicalStructureManager.getDefault().getLogicalStructureTypes(value);
-	}
-	
-	/**
-	 * Convenience method that performs a runtime exec on the given command line
-	 * in the context of the specified working directory, and returns the
-	 * resulting process. If the current runtime does not support the
-	 * specification of a working directory, the status handler for error code
-	 * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the
-	 * exec should be re-executed without specifying a working directory.
-	 * 
-	 * @param cmdLine the command line
-	 * @param workingDirectory the working directory, or <code>null</code>
-	 * @return the resulting process or <code>null</code> if the exec is
-	 *  cancelled
-	 * @see Runtime
-	 * 
-	 * @since 2.1
-	 */
-	public static Process exec(String[] cmdLine, File workingDirectory) throws CoreException {
-		return exec(cmdLine, workingDirectory, null);
-	}
-
-	/**
-	 * Convenience method that performs a runtime exec on the given command line
-	 * in the context of the specified working directory, and returns the
-	 * resulting process. If the current runtime does not support the
-	 * specification of a working directory, the status handler for error code
-	 * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the
-	 * exec should be re-executed without specifying a working directory.
-	 * 
-	 * @param cmdLine the command line
-	 * @param workingDirectory the working directory, or <code>null</code>
-	 * @param envp the environment variables set in the process, or <code>null</code>
-	 * @return the resulting process or <code>null</code> if the exec is
-	 *  cancelled
-	 * @see Runtime
-	 * 
-	 * @since 3.0
-	 */
-	public static Process exec(String[] cmdLine, File workingDirectory, String[] envp) throws CoreException {
-		Process p= null;
-		try {
-
-			if (workingDirectory == null) {
-				p= Runtime.getRuntime().exec(cmdLine, envp);
-			} else {
-				p= Runtime.getRuntime().exec(cmdLine, envp, workingDirectory);
-			}
-		} catch (IOException e) {
-				if (p != null) {
-					p.destroy();
-				}
-				Status status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.Exception_occurred_executing_command_line._1"), e); //$NON-NLS-1$
-				throw new CoreException(status);
-		} catch (NoSuchMethodError e) {
-			//attempting launches on 1.2.* - no ability to set working directory			
-			IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERR_WORKING_DIRECTORY_NOT_SUPPORTED, DebugCoreMessages.getString("DebugPlugin.Eclipse_runtime_does_not_support_working_directory_2"), e); //$NON-NLS-1$
-			IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-			
-			if (handler != null) {
-				Object result = handler.handleStatus(status, null);
-				if (result instanceof Boolean && ((Boolean)result).booleanValue()) {
-					p= exec(cmdLine, null);
-				}
-			}
-		}
-		return p;
-	}	
-	
-	/**
-	 * Returns whether this plug-in is in the process of 
-	 * being shutdown.
-	 * 
-	 * @return whether this plug-in is in the process of 
-	 *  being shutdown
-	 */
-	private boolean isShuttingDown() {
-		return fShuttingDown;
-	}
-	
-	/**
-	 * Sets whether this plug-in is in the process of 
-	 * being shutdown.
-	 * 
-	 * @param value whether this plug-in is in the process of 
-	 *  being shutdown
-	 */
-	private void setShuttingDown(boolean value) {
-		fShuttingDown = value;
-	}
-	
-	/**
-	 * Returns the collection of debug event listeners registered
-	 * with this plug-in.
-	 * 
-	 * @return list of registered debug event listeners, instances
-	 *  of <code>IDebugEventSetListeners</code>
-	 */
-	private Object[] getEventListeners() {
-		return fEventListeners.getListeners();
-	}
-	
-	/**
-	 * Adds the given debug event filter to the registered
-	 * event filters. Has no effect if an identical filter
-	 * is already registerd.
-	 * 
-	 * @param filter debug event filter
-	 * @since 2.0
-	 */
-	public void addDebugEventFilter(IDebugEventFilter filter) {
-		if (fEventFilters == null) {
-			fEventFilters = new ListenerList(2);
-		}
-		fEventFilters.add(filter);
-	}
-	
-	/**
-	 * Removes the given debug event filter from the registered
-	 * event filters. Has no effect if an identical filter
-	 * is not already registered.
-	 * 
-	 * @param filter debug event filter
-	 * @since 2.0
-	 */
-	public void removeDebugEventFilter(IDebugEventFilter filter) {
-		if (fEventFilters != null) {
-			fEventFilters.remove(filter);
-			if (fEventFilters.size() == 0) {
-				fEventFilters = null;
-			}
-		}
-	}	
-	
-	/**
-	 * Logs the given message if in debug mode.
-	 * 
-	 * @param message the message to log
-	 * @since 2.0
-	 */
-	public static void logDebugMessage(String message) {
-		if (getDefault().isDebugging()) {
-			// this message is intentionally not internationalized, as an exception may
-			// be due to the resource bundle itself
-			log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Internal message logged from Debug Core: " + message, null)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Logs the given message with this plug-in's log and the given
-	 * throwable or <code>null</code> if none.
-	 * @param message the message to log
-	 * @param throwable the exception that occurred or <code>null</code> if none
-	 */
-	public static void logMessage(String message, Throwable throwable) {
-		log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 * @since 2.0
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 * @since 2.0
-	 */
-	public static void log(Throwable t) {
-		IStatus status= new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Error logged from Debug Core: ", t); //$NON-NLS-1$
-		log(status);
-	}
-	
-	/**
-	 * Register status handlers.
-	 * 
-	 */
-	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].getDeclaringExtension().getNamespace();
-				log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.31"), new String[] {badDefiner, id}), null)); //$NON-NLS-1$
-			}
-		}			
-	}
-	
-	private void invalidStatusHandler(Exception e, String id) {
-		log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.Invalid_status_handler_extension__{0}_2"), new String[] {id}), e)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Key for status handler extensions - a plug-in identifier/code pair
-	 */
-	class StatusHandlerKey {
-		
-		String fPluginId;
-		int fCode;
-		
-		StatusHandlerKey(String pluginId, int code) {
-			fPluginId = pluginId;
-			fCode = code;
-		}
-		
-		public int hashCode() {
-			return fPluginId.hashCode() + fCode;
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj instanceof StatusHandlerKey) {
-				StatusHandlerKey s = (StatusHandlerKey)obj;
-				return fCode == s.fCode && fPluginId.equals(s.fPluginId);
-			}
-			return false;
-		}
-	}
-
-	/**
-	 * Returns whether any event filters are registered
-	 * 
-	 * @return whether any event filters are registered
-	 */
-	private boolean hasEventFilters() {
-		return fEventFilters != null && fEventFilters.size() > 0;
-	}
-	
-	/**
-	 * Sets whether debug events are being dispatched 
-	 */
-	private synchronized void setDispatching(boolean dispatching) {
-		if (dispatching) {
-			fDispatching++;
-		} else {
-			fDispatching--;
-		}
-		if (!isDispatching()) {
-			if (fAsynchJob != null) {
-				fAsynchJob.schedule();
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether debug events are being dispatched
-	 */
-	private synchronized boolean isDispatching() {
-		return fDispatching > 0;
-	}	
-	
-	/**
-	 * Executes runnables after event dispatch is complete.
-	 * 
-	 * @since 3.0
-	 */
-	class AsynchJob extends Job {
-		
-		public AsynchJob() {
-			super(DebugCoreMessages.getString("DebugPlugin.Debug_async_queue_1")); //$NON-NLS-1$
-			setPriority(Job.INTERACTIVE);
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-		 */
-		public boolean shouldRun() {
-			return !fShuttingDown && !fRunnables.isEmpty();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus run(IProgressMonitor monitor) {
-			// Executes runnables and empties the queue
-			Vector v = null;
-			synchronized (fRunnables) {
-				v = fRunnables;
-				fRunnables = new Vector(5);
-			}
-			monitor.beginTask(DebugCoreMessages.getString("DebugPlugin.Debug_async_queue_1"), v.size()); //$NON-NLS-1$
-			Iterator iter = v.iterator();
-			while (iter.hasNext() && !fShuttingDown && !monitor.isCanceled()) {
-				Runnable r = (Runnable)iter.next();
-				r.run();
-				monitor.worked(1);
-			}
-			monitor.done();
-			return Status.OK_STATUS;
-		}
-
-	}
-		
-	/**
-	 * Returns an event notifier.
-	 * 
-	 * @return an event notifier
-	 */
-	private EventNotifier getEventNotifier() {
-		return new EventNotifier();
-	}
-	
-	/**
-	 * Filters and dispatches events in a safe runnable to handle any
-	 * exceptions.
-	 */
-	class EventNotifier implements ISafeRunnable {
-		
-		private DebugEvent[] fEvents;
-		private IDebugEventSetListener fListener;
-		private IDebugEventFilter fFilter;
-		private int fMode;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			switch (fMode) {
-				case NOTIFY_FILTERS:
-					IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.An_exception_occurred_while_filtering_debug_events._3"), exception); //$NON-NLS-1$
-					log(status);
-					break;
-				case NOTIFY_EVENTS:				
-					status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.An_exception_occurred_while_dispatching_debug_events._2"), exception); //$NON-NLS-1$
-					log(status);
-					break;
-			}
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fMode) {
-				case NOTIFY_FILTERS:
-					fEvents = fFilter.filterDebugEvents(fEvents);
-					break;
-				case NOTIFY_EVENTS:
-					fListener.handleDebugEvents(fEvents);
-					break;
-			}
-		}
-		
-		/**
-		 * Filter and dispatch the given events. If an exception occurs in one
-		 * listener, events are still fired to subsequent listeners.
-		 * 
-		 * @param events debug events
-		 */
-		public void dispatch(DebugEvent[] events) {
-			fEvents = events;
-			try {
-				setDispatching(true);
-				
-				if (hasEventFilters()) {
-					fMode = NOTIFY_FILTERS;
-					Object[] filters = fEventFilters.getListeners();
-					for (int i = 0; i < filters.length; i++) {
-						fFilter = (IDebugEventFilter)filters[i];
-						Platform.run(this);
-						if (fEvents == null || fEvents.length == 0) {
-							return;
-						}
-					}	
-				}				
-				
-				fMode = NOTIFY_EVENTS;
-				Object[] listeners= getEventListeners();
-				for (int i= 0; i < listeners.length; i++) {
-					fListener = (IDebugEventSetListener)listeners[i]; 
-					Platform.run(this);
-				}
-				
-			} finally {
-				setDispatching(false);
-			}
-			fEvents = null;
-			fFilter = null;
-			fListener = null;			
-		}
-
-	}
-
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 * @since 3.0
-	 */
-	public static Document newDocument()throws CoreException {
-		try {
-			return LaunchManager.getDocument();
-		} catch (ParserConfigurationException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.3"), e); //$NON-NLS-1$
-		}		
-		return null;
-	}	
-	
-	/**
-	 * Serializes the given XML document into a string.
-	 * 
-	 * @param document XML document to serialize
-	 * @return a string representing the given document
-	 * @throws CoreException if unable to serialize the document
-	 * @since 3.0
-	 */
-	public static String serializeDocument(Document document) throws CoreException {
-		try {
-			return LaunchManager.serializeDocument(document);
-		} catch (TransformerException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.4"), e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.5"), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/**
-	 * Parses the given string representing an XML document, returning its
-	 * root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 * @since 3.0
-	 */
-	public static Element parseDocument(String document) throws CoreException {
-		Element root = null;
-		InputStream stream = null;
-		try{		
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			stream = new ByteArrayInputStream(document.getBytes());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (ParserConfigurationException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.6"), e); //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.7"), e); //$NON-NLS-1$
-		} catch (SAXException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.8"), e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort(SourceLookupMessages.getString("SourceLookupUtils.9"), e); //$NON-NLS-1$
-		} finally { 
-			try{
-				stream.close();
-			} catch(IOException e) {
-				abort(SourceLookupMessages.getString("SourceLookupUtils.10"), e); //$NON-NLS-1$
-			}
-		}		
-		return root;
-	}	
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}	
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
deleted file mode 100644
index 050ac29..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * A breakpoint listener is notified of breakpoint additions,
- * removals, and changes. Listeners register and deregister with the
- * breakpoint manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IBreakpointManager
- */
-
-public interface IBreakpointListener {
-
-	/**
-	 * Notifies this listener that the given breakpoint has been added
-	 * to the breakpoint manager.
-	 *
-	 * @param breakpoint the added breakpoint
-	 * @since 2.0
-	 */
-	public void breakpointAdded(IBreakpoint breakpoint);
-	/**
-	 * Notifies this listener that the given breakpoint has been removed
-	 * from the breakpoint manager.
-	 * If the given breakpoint has been removed because it has been deleted,
-	 * the associated marker delta is also provided.
-	 *
-	 * @param breakpoint the removed breakpoint
-	 * @param delta the associated marker delta, or  <code>null</code> when
-	 * 	the breakpoint is removed from the breakpoint manager without
-	 *	being deleted
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 * @since 2.0
-	 */
-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta);
-	
-	/**
-	 * Notifies this listener that an attribute of the given breakpoint has
-	 * changed, as described by the delta.
-	 *
-	 * @param breakpoint the changed breakpoint
-	 * @param delta the marker delta that describes the changes
-	 *  with the marker associated with the given breakpoint, or
-	 *  <code>null</code> when the breakpoint change does not generate
-	 *  a marker delta
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 * @since 2.0
-	 */
-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
deleted file mode 100644
index cf4b1e3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * The breakpoint manager manages the collection of breakpoints
- * in the workspace. A breakpoint suspends the execution of a
- * program being debugged. The kinds of breakpoints supported by each
- * debug architecture and the information required to create those
- * breakpoints is defined by each debug architecture.
- * Breakpoint creation is a client responsibility.
- * <p>
- * Clients interested in breakpoint change notification may
- * register with the breakpoint manager - see
- * <code>IBreakpointListener</code> and <code>IBreakpointsListener</code>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.IBreakpointListener
- * @see org.eclipse.debug.core.IBreakpointsListener
- */
-public interface IBreakpointManager {
-	/**
-	 * Adds the given breakpoint to the collection of registered breakpoints
-	 * in the workspace and notifies all registered listeners. This has no effect
-	 * if the given breakpoint is already registered.
-	 *
-	 * @param breakpoint the breakpoint to add
-	 *
-	 * @exception DebugException if adding fails. Reasons include:<ul>
-	 * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute
-	 * 	is not set on the breakpoint marker.</li>
-	 * <li>A <code>CoreException</code> occurred while verifying the <code>MODEL_IDENTIFIER</code>
-	 *	attribute.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException;
-	
-	/**
-	 * Adds the given breakpoints to the collection of registered breakpoints
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on breakpoints that are already registered.
-	 *
-	 * @param breakpoints the breakpoints to add
-	 *
-	 * @exception DebugException if adding fails. Reasons include:<ul>
-	 * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute
-	 * 	is not set on a breakpoint marker.</li>
-	 * <li>A <code>CoreException</code> occurred while verifying a <code>MODEL_IDENTIFIER</code>
-	 *	attribute.</li>
-	 * </ul>
-	 * @since 2.1
-	 */
-	public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException;	
-	
-	/**
-	 * Returns the breakpoint associated with the given marker or
-	 * <code>null</code> if no such breakpoint exists
-	 * 
-	 * @param marker the marker
-	 * @return the breakpoint associated with the marker
-	 * 	or <code>null</code> if none exists
-	 * @since 2.0
-	 */
-	public IBreakpoint getBreakpoint(IMarker marker);	
-	
-	/**
-	 * Returns a collection of all registered breakpoints.
-	 * Returns an empty array if no breakpoints are registered.
-	 *
-	 * @return an array of breakpoints
-	 * @since 2.0
-	 */
-	public IBreakpoint[] getBreakpoints();
-	
-	/**
-	 * Returns whether there are any registered breakpoints.
-	 * 
-	 * @return whether there are any registered breakpoints
-	 * @since 2.0
-	 */
-	public boolean hasBreakpoints();
-	
-	/**
-	 * Returns a collection of all breakpoints registered for the
-	 * given debug model. Answers an empty array if no breakpoints are registered
-	 * for the given debug model.
-	 *
-	 * @param modelIdentifier identifier of a debug model plug-in
-	 * @return an array of breakpoints
-	 * @since 2.0
-	 */
-	public IBreakpoint[] getBreakpoints(String modelIdentifier);
-		
-	/**
-	 * Returns whether the given breakpoint is currently
-	 * registered with this breakpoint manager.
-	 *
-	 * @return whether the breakpoint is registered
-	 * @since 2.0
-	 */
-	public boolean isRegistered(IBreakpoint breakpoint);
-	
-	/**
-	 * Notifies all registered listeners that the given
-	 * breakpoint has changed. Has no effect if the given
-	 * breakpoint is not currently registered.
-	 * 
-	 * This method is intended to be used when a breakpoint
-	 * attribute is changed that does not alter the breakpoint's
-	 * underlying marker, that is, when notification will not occur
-	 * via the marker delta mechanism.
-	 * 
-	 * @param breakpoint the breakpoint that has changed.
-	 * @since 2.0
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint);
-	
-	/**
-	 * Removes the given breakpoint from the breakpoint manager, deletes
-	 * the marker associated with the breakpoint if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect if the given breakpoint is not currently
-	 * registered.
-	 *
-	 * @param breakpoint the breakpoint to remove
-	 * @param delete whether to delete the marker associated with the
-	 *  breakpoint
-	 * @exception CoreException if an exception occurs while deleting the
-	 * 	underlying marker.
-	 * @since 2.0
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException;
-	
-	/**
-	 * Removes the given breakpoints from the breakpoint manager, deletes
-	 * the markers associated with the breakpoints if the <code>delete</code> flag
-	 * is <code>true</code>, and notifies all registered
-	 * listeners. Has no effect on breakpoints not currently
-	 * registered.
-	 *
-	 * @param breakpoints the breakpoints to remove
-	 * @param delete whether to delete the markers associated with the
-	 *  breakpoints
-	 * @exception CoreException if an exception occurs while deleting an
-	 * 	underlying marker.
-	 * @since 2.1
-	 */
-	public void removeBreakpoints(IBreakpoint[] breakpoints, boolean delete) throws CoreException;	
-
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addBreakpointListener(IBreakpointListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered breakpoint listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener);
-	
-	/**
-	 * 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);
-	
-}
-
-
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 0ad6127..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A 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 7879b01..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * A breakpoints listener is notified of breakpoint additions,
- * removals, and changes. Listeners register and deregister with the
- * breakpoint manager.
- * <p>
- * This interface is analagous to <code>IBreakpointListener</code> except
- * notifications are batched for more than one breakpoint when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IBreakpointManager
- * @since 2.1
- */
-
-public interface IBreakpointsListener {
-
-	/**
-	 * Notifies this listener that the given breakpoints have been added
-	 * to the breakpoint manager.
-	 *
-	 * @param breakpoints the added breakpoints
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints);
-	/**
-	 * Notifies this listener that the given breakpoints have been removed
-	 * from the breakpoint manager.
-	 * If a breakpoint has been removed because it has been deleted,
-	 * the associated marker delta is also provided.
-	 *
-	 * @param breakpoints the removed breakpoints
-	 * @param deltas the associated marker deltas. Entries may be
-	 *  <code>null</code> when a breakpoint is removed from the breakpoint
-	 *  manager without being deleted
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas);
-	
-	/**
-	 * Notifies this listener that the given breakpoints have
-	 * changed, as described by the corresponding deltas.
-	 *
-	 * @param breakpoints the changed breakpoints
-	 * @param deltas the marker deltas that describe the changes
-	 *  with the markers associated with the given breakpoints. Entries
-	 *  may be <code>null</code> when a breakpoint change does not generate
-	 *  a marker delta
-	 *
-	 * @see org.eclipse.core.resources.IMarkerDelta
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
deleted file mode 100644
index 8654fa1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * An event filter allows clients to intercept debug events.
- * Event filters are registered with the debug plug-in.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin
- * @since 2.0
- */
-public interface IDebugEventFilter {
-
-	/**
-	 * Filters the given set of debug events, and returns the set of debug
-	 * events that should be fired to registered listeners - <code>null</code>
-	 * or an empty collection if no debug events should be fired.
-	 * <p>
-	 * When multiple event filters are registered, events are passed through
-	 * all filters. That is, the events returned from the first filter are
-	 * passed through the second filter, and so on.
-	 * </p>
-	 * 
-	 * @return  the set of debug events to fire
-	 */
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
deleted file mode 100644
index 7b56fed..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A debug event set listener registers with the debug plug-in
- * to receive event notification from programs being run or debugged.
- * <p>
- * When more than one event is reported, each event has occurred at the
- * same location in a target program. For example, a breakpoint may
- * reside at the same location at which a step request completes. In 
- * this case the breakpoint event and step end event are reported together
- * in the same event set.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugEvent
- * @since 2.0
- */
-public interface IDebugEventSetListener {
-	/**
-	 * Notifies this listener of the given debug events.
-	 * All of the events in the given event collection occurred
-	 * at the same location the program be run or debugged.
-	 *
-	 * @param events the debug events
-	 */
-	public void handleDebugEvents(DebugEvent[] events);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
deleted file mode 100644
index 13a1e91..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and deregister with the
- * expression manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IExpressionManager
- * @since 2.0
- */
-
-public interface IExpressionListener {
-
-	/**
-	 * Notifies this listener that the given expression has been added
-	 * to the expression manager.
-	 *
-	 * @param expression the added expression
-	 */
-	public void expressionAdded(IExpression expression);
-	/**
-	 * Notifies this listener that the given expression has been removed
-	 * from the expression manager.
-	 *
-	 * @param expression the removed expression
-	 */
-	public void expressionRemoved(IExpression expression);
-	
-	/**
-	 * Notifies this listener that the given expression has
-	 * changed.
-	 *
-	 * @param expression the changed expression
-	 */
-	public void expressionChanged(IExpression expression);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
deleted file mode 100644
index 669d63f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-
-/**
- * The expression manager manages the collection of registered
- * expressions in the workspace. An expression is a snippet of code
- * that can be evaluated to produce a value. Expression creation
- * and evaluation are client responsibilities.
- * <p>
- * Clients interested in expression change notification may
- * register with the expression manager - see
- * <code>IExpressionListener</code> and <code>IExpressionsListener</code>.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.model.IExpression
- * @see org.eclipse.debug.core.IExpressionListener
- * @see org.eclipse.debug.core.IExpressionsListener
- * @since 2.0
- */
-public interface IExpressionManager {
-	/**
-	 * Adds the given expression to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. This has no effect
-	 * if the given expression is already registered.
-	 *
-	 * @param expression the expression to add
-	 */
-	public void addExpression(IExpression expression);
-	
-	/**
-	 * Adds the given expressions to the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions already registered.
-	 *
-	 * @param expressions the expressions to add
-	 * @since 2.1
-	 */
-	public void addExpressions(IExpression[] expressions);
-	
-	/**
-	 * Creates and returns a new watch expression with the
-	 * given text. The returned expression is <b>not</b> added to
-	 * this manager.
-	 * 
-	 * @param expressionText the text for the new expression
-	 * @since 3.0
-	 */
-	public IWatchExpression newWatchExpression(String expressionText);
-		
-	/**
-	 * Returns a collection of all registered expressions, 
-	 * possibly empty.
-	 *
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions();
-	
-	/**
-	 * Returns whether there are any registered expressions
-	 * 
-	 * @return whether there are any registered expressions
-	 */
-	public boolean hasExpressions();
-	
-	/**
-	 * Returns a collection of all expressions registered for the
-	 * given debug model,possibly empty.
-	 *
-	 * @param modelIdentifier identifier of a debug model plug-in
-	 * @return an array of expressions
-	 */
-	public IExpression[] getExpressions(String modelIdentifier);
-		
-	/**
-	 * Removes the given expression from the expression manager,
-	 * and notifies all registered listeners. Has no effect if the
-	 * given expression is not currently registered.
-	 *
-	 * @param expression the expression to remove
-	 */
-	public void removeExpression(IExpression expression);
-	
-	/**
-	 * Removes the given expressions from the collection of registered expressions
-	 * in the workspace and notifies all registered listeners. Has no effect
-	 * on expressions not already registered.
-	 *
-	 * @param expressions the expressions to remove
-	 * @since 2.1
-	 */
-	public void removeExpressions(IExpression[] expressions);		
-
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addExpressionListener(IExpressionListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 */
-	public void removeExpressionListener(IExpressionListener listener);
-	
-	/**
-	 * Adds the given listener to the collection of registered expression listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 * @since 2.1
-	 */
-	public void addExpressionListener(IExpressionsListener listener);
-
-	/**
-	 * Removes the given listener from the collection of registered expression listeners.
-	 * Has no effect if an identical listener is not already registered.
-	 *
-	 * @param listener the listener to remove	
-	 * @since 2.1
-	 */
-	public void removeExpressionListener(IExpressionsListener listener);
-	
-	/**
-	 * Returns a new watch expression delegate for the given debug
-	 * model or <code>null</code> if no delegate is available.
-	 * 
-	 * @param id the unique identifier of a debug model for which a
-	 *  watch expression delegate has been contributed
-	 * @return a watch expression delegate associated with the given model
-	 * 		or <code>null</code> if none
-	 * @since 3.0
-	 * @see IWatchExpressionDelegate
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String id);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
deleted file mode 100644
index d1039fa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * An expression listener is notified of expression additions,
- * removals, and changes. Listeners register and deregister with the
- * expression manager.
- * <p>
- * This interface is analagous to <code>IExpressionListener</code>, except
- * notifications are batched for more than when expression when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IExpressionManager
- * @since 2.1
- */
-
-public interface IExpressionsListener {
-
-	/**
-	 * Notifies this listener that the given expressions have been added
-	 * to the expression manager.
-	 *
-	 * @param expressions the added expressions
-	 */
-	public void expressionsAdded(IExpression[] expressions);
-	/**
-	 * Notifies this listener that the given expressions has been removed
-	 * from the expression manager.
-	 *
-	 * @param expressions the removed expressions
-	 */
-	public void expressionsRemoved(IExpression[] expressions);
-	
-	/**
-	 * Notifies this listener that the given expressions have
-	 * changed.
-	 *
-	 * @param expressions the changed expressions
-	 */
-	public void expressionsChanged(IExpression[] expressions);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
deleted file mode 100644
index d7b8f4f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * should create instances of this interface by using the implementation
- * provided by the class <code>Launch</code>.
- * </p>
- * @see Launch
- */
-public interface ILaunch extends ITerminate, IAdaptable {
-	/**
-	 * Returns the children of this launch - a collection
-	 * of one or more debug targets and processes, possibly empty.
-	 *
-	 * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>),
-	 * 	or an empty array
-	 */
-	public Object[] getChildren();
-	/**
-	 * Returns the primary (first) debug target associated with this launch, or <code>null</code>
-	 * if no debug target is associated with this launch. All debug targets 
-	 * associated with this launch may be retrieved by
-	 * <code>getDebugTargets()</code>.
-	 *
-	 * @return the primary debug target associated with this launch, or <code>null</code>
-	 */
-	public IDebugTarget getDebugTarget();
-
-	/**
-	 * Returns the processes that were launched,
-	 * or an empty collection if no processes were launched.
-	 *
-	 * @return array of processes
-	 */
-	public IProcess[] getProcesses();
-	
-	/**
-	 * Returns all the debug targets associated with this launch,
-	 * or an empty collection if no debug targets are associated
-	 * with this launch. The primary debug target is the first
-	 * in the collection (if any).
-	 *
-	 * @return array of debug targets
-	 * @since 2.0
-	 */
-	public IDebugTarget[] getDebugTargets();
-	
-	/**
-	 * Adds the given debug target to this launch. Has no effect
-	 * if the given debug target is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to add to this launch
-	 * @since 2.0
-	 */
-	public void addDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Removes the given debug target from this launch. Has no effect
-	 * if the given debug target is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param target debug target to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeDebugTarget(IDebugTarget target);	
-	
-	/**
-	 * Adds the given process to this launch. Has no effect
-	 * if the given process is already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to add to this launch
-	 * @since 2.0
-	 */
-	public void addProcess(IProcess process);		
-	
-	/**
-	 * Removes the given process from this launch. Has no effect
-	 * if the given process is not already associated with this
-	 * launch. Registered listeners are notified that this launch
-	 * has changed.
-	 *
-	 * @param process the process to remove from this launch
-	 * @since 2.0
-	 */
-	public void removeProcess(IProcess process);			
-		
-	/**
-	 * Returns the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @return the source locator
-	 */
-	public ISourceLocator getSourceLocator();
-	
-	/**
-	 * Sets the source locator to use for locating source elements for
-	 * the debug target associated with this launch, or <code>null</code>
-	 * if source lookup is not supported.
-	 *
-	 * @param sourceLocator source locator or <code>null</code>
-	 * @since 2.0
-	 */
-	public void setSourceLocator(ISourceLocator sourceLocator);
-		
-	/**
-	 * Returns the mode of this launch - one of the mode constants defined by
-	 * the launch manager.
-	 *
-	 * @return the launch mode
-	 * @see ILaunchManager
-	 */
-	public String getLaunchMode();
-	
-	/**
-	 * Returns the configuration that was launched, or <code>null</code>
-	 * if no configuration was launched.
-	 * 
-	 * @return the launched configuration or <code>null</code>
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Sets the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @param value the attribute value
-	 * @since 2.0
-	 */
-	public void setAttribute(String key, String value);
-	
-	/**
-	 * Returns the value of a client defined attribute.
-	 *
-	 * @param key the attribute key
-	 * @return value the attribute value, or <code>null</code> if undefined
-	 * @since 2.0
-	 */
-	public String getAttribute(String key);	
-	
-	/**
-	 * Returns whether this launch contains at least one process
-	 * or debug target.
-	 * 
-	 * @return whether this launch contains at least one process
-	 * or debug target
-	 * @since 2.0
-	 */
-	public boolean hasChildren();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
deleted file mode 100644
index d51acdc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * A launch configuration describes how to launch an application.
- * Each launch configuration is an instance of a type of launch
- * configuration as described by a launch configuration type 
- * extension. Each launch configuration has a launch configuration
- * delegate which performs the actual launching of a
- * configuration.
- * <p>
- * A launch configuration may be shared in a repository via
- * standard VCM mechanisms, or may be stored locally, essentially
- * making the launch configuration private for a single user.
- * Thus, a launch configuration may stored as a file in the
- * workspace (shared), or as a file in the debug plug-in's state
- * location.
- * </p>
- * A launch configuration is a handle to its underlying storage.
- * </p>
- * <p>
- * A launch configuration is modified by obtaining a working copy
- * of a launch configuration, modifying the working copy, and then
- * saving the working copy.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfigurationType
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
- * @see ILaunchConfigurationWorkingCopy
- * @since 2.0
- */
-public interface ILaunchConfiguration extends IAdaptable {
-	
-	/**
-	 * The file extension for launch configuration files
-	 * (value <code>"launch"</code>).
-	 */
-	public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing an identifier of
-	 * a persistable source locator extension. When this attribute is
-	 * specified, a new source locator will be created automatically and
-	 * associated with the launch for this configuration.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_ID = DebugPlugin.getUniqueIdentifier() + ".source_locator_id"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute storing a memento of a 
-	 * source locator. When this attribute is specified in
-	 * conjunction with a source locator id, the source locator
-	 * created for a launch will be initialized with this memento.
-	 * When not specified, but a source locator id is specified,
-	 * the source locator will be initialized to default values.
-	 * 
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator
-	 */
-	public static final String ATTR_SOURCE_LOCATOR_MEMENTO = DebugPlugin.getUniqueIdentifier() + ".source_locator_memento"; //$NON-NLS-1$
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * Equivalent to calling <code>launch(String, IProgressMontitor, boolean)</code>
-	 * with a <code>build</code> flag of <code>false</code>.
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancellable progress monitor is provided by the Job
-	 *  framework.
-	 * @return the resulting launch
-	 * @exception CoreException if this method fails. Reasons include:<ul>
-	 * <li>unable to instantiate the underlying launch configuration delegate</li>
-	 * <li>the launch fails (in the delegate)</code>
-	 * </ul>
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Launches this configuration in the specified mode by delegating to
-	 * this configuration's launch configuration delegate, and returns the
-	 * resulting launch.
-	 * <p>
-	 * If this configuration's launch delegate implements
-	 * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will
-	 * be consulted to provide a launch object for the launch,
-	 * perform pre-launch checks, and build before the launch.
-	 * If <code>build</code> is <code>true</code> and the associated launch
-	 * delegate does not implement <code>ILaunchConfigurationDelegate2</code>
-	 * an incremental workspace build will be performed before the launch
-	 * by the debug platform.
-	 * The resulting launch object is registered with the launch manager
-	 * before passing it to this configuration's delegate launch method, for
-	 * contributions (debug targets and processes).
-	 * </p>
-	 * <p>
-	 * If the delegate contributes a source locator to the launch, that
-	 * source locator is used. Otherwise an appropriate source locator is
-	 * contributed to the launch  based on the values of
-	 * <code>ATTR_SOURCE_LOCATOR_ID</code> and
-	 * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is cancelled (via
-	 * the given progress monitor), the launch is removed from the launch
-	 * manager. The launch is returned whether cancelled or not. Invoking this
-	 * method causes the underlying launch configuration delegate to be
-	 * instantiated (if not already).
-	 * </p>
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>. Since 3.0, this
-	 *  parameter is ignored. A cancellable progress monitor is provided by the Job
-	 *  framework.
-	 * @param build whether the workspace should be built before the launch
-	 * @return resulting launch
-	 * @throws CoreException if an exception occurrs during the launch sequence
-	 * @since 3.0
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException;
-	
-	/**
-	 * Returns whether this launch configuration supports the
-	 * specified mode.
-	 * 
-	 * @param mode a mode in which a configuration can be launched, one of
-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or
-	 *  <code>DEBUG_MODE</code>.
-	 * @return whether this launch configuration supports the
-	 *  specified mode
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve this launch configuration's type.</li>
-	 * </ul>
-	 */
-	public boolean supportsMode(String mode) throws CoreException;
-	
-	/**
-	 * Returns the name of this launch configuration.
-	 * 
-	 * @return the name of this launch configuration
-	 */
-	public String getName();
-		
-	/**
-	 * Returns the location of this launch configuration as a
-	 * path.
-	 * 
-	 * @return the location of this launch configuration as a
-	 *  path
-	 */
-	public IPath getLocation();
-	
-	/**
-	 * Returns whether this launch configuration's underlying
-	 * storage exists.
-	 * 
-	 * @return whether this launch configuration's underlying
-	 *  storage exists
-	 */
-	public boolean exists();
-	
-	/**
-	 * Returns the integer-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have an integer value</li>
-	 * </ul>
-	 */
-	public int getAttribute(String attributeName, int defaultValue) throws CoreException;
-	/**
-	 * Returns the string-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a String value</li>
-	 * </ul>
-	 */
-	public String getAttribute(String attributeName, String defaultValue) throws CoreException;
-	/**
-	 * Returns the boolean-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a boolean value</li>
-	 * </ul>
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException;
-	/**
-	 * Returns the <code>java.util.List</code>-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a List value</li>
-	 * </ul>
-	 */
-	public List getAttribute(String attributeName, List defaultValue) throws CoreException;
-	/**
-	 * Returns the <code>java.util.Map</code>-valued attribute with the given name.  
-	 * Returns the given default value if the attribute is undefined.
-	 *
-	 * @param attributeName the name of the attribute
-	 * @param defaultValue the value to use if no value is found
-	 * @return the value or the default value if no value was found.
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while retrieving the attribute from
-	 *  underlying storage.</li>
-	 * <li>An attribute with the given name exists, but does not
-	 *  have a Map value</li>
-	 * </ul>
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException;
-		
-	/**
-	 * Returns the file this launch configuration is stored
-	 * in, or <code>null</code> if this configuration is stored
-	 * locally with the workspace.
-	 * 
-	 * @return the file this launch configuration is stored
-	 *  in, or <code>null</code> if this configuration is stored
-	 *  locally with the workspace
-	 */
-	public IFile getFile();
-	
-	/**
-	 * Returns the type of this launch configuration.
-	 * 
-	 * @return the type of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationType
-	 */
-	public ILaunchConfigurationType getType() throws CoreException;
-		
-	/**
-	 * Returns whether this launch configuration is stored
-	 * locally with the workspace.
-	 * 
-	 * @return whether this launch configuration is stored
-	 *  locally with the workspace
-	 */
-	public boolean isLocal();
-	
-	/**
-	 * Returns a working copy of this launch configuration.
-	 * Changes to the working copy will be applied to this
-	 * launch configuration when saved. The working copy will
-	 * refer to this launch configuration as its original
-	 * launch configuration.
-	 * 
-	 * @return a working copy of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while initializing the contents of the
-	 * working copy from this configuration's underlying storage.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException;		
-	
-	/**
-	 * Returns a copy of this launch configuration, as a
-	 * working copy, with the specified name. The new
-	 * working copy does not refer back to this configuration
-	 * as its original launch configuration (the working copy
-	 * will return <code>null</code> for <code>getOriginal()</code>).
-	 * When the working copy is saved it will not effect this
-	 * launch configuration.
-	 * 
-	 * @param name the name of the copy
-	 * @return a copy of this launch configuration
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while initializing the contents of the
-	 * working copy from this configuration's underlying storage.</li>
-	 * </ul>
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException;	
-	
-	/**
-	 * Returns whether this launch configuration is a working
-	 * copy. Launch configurations which return <code>true</code>
-	 * to this method can be safely cast to 
-	 * <code>org.eclipse.debug.core.ILaunchConfigurationWorkingCopy</code>
-	 * 
-	 * @return whether this launch configuration is a working
-	 *  copy
-	 */
-	public boolean isWorkingCopy();
-	
-	/**
-	 * Deletes this launch configuration. This configuration's underlying
-	 * storage is deleted. Has no effect if this configuration
-	 * does not exist.
-	 * 
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>An exception occurs while deleting this configuration's
-	 *  underlying storage.</li>
-	 * </ul>
-	 */
-	public void delete() throws CoreException;
-	
-	/**
-	 * Returns a memento for this launch configuration, or <code>null</code>
-	 * if unable to generate a memento for this configuration. A memento
-	 * can be used to re-create a launch configuration, via the
-	 * launch manager.
-	 * 
-	 * @return a memento for this configuration
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 * @exception CoreException if an exception occurs generating this
-	 *  launch configuration's memento 
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Returns whether the contents of this launch configuration are 
-	 * equal to the contents of the given launch configuration.
-	 * 
-	 * @return whether the contents of this launch configuration are equal to the contents
-	 * of the specified launch configuration.
-	 */
-	public boolean contentsEqual(ILaunchConfiguration configuration);
-	
-	/**
-	 * Returns this launch configuration's type's category, or <code>null</code>
-	 * if unspecified.
-	 * 
-	 * @return this launch configuration's type's category, or <code>null</code>
-	 * @exception CoreException if this method fails. Reasons include:
-	 * <ul>
-	 * <li>Unable to retrieve or instantiate this launch configuration's type.</li>
-	 * </ul>
-	 * @since 2.1
-	 */
-	public String getCategory() throws CoreException;	
-	
-	/**
-	 * Returns a map containing the attributes in this launch configuration.
-	 * Returns an empty map if this configuration has no attributes.
-	 *
-	 * @return a map of attribute keys and values
-	 * @exception CoreException unable to generate/retrieve an attribute map
-	 * @since 2.1
-	 */
-	public Map getAttributes() throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
deleted file mode 100644
index 371b0c0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-/**
- * Notified when a launch configuration is created,
- * deleted, or changed.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @since 2.0
- */
-public interface ILaunchConfigurationListener {
-	
-	/**
-	 * The given launch configuration has been created.
-	 * 
-	 * @param configuration the newly created launch configuration
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has changed in some way.
-	 * The configuration may be a working copy.
-	 * 
-	 * @param configuration the launch configuration that has
-	 *  changed
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration);
-	
-	/**
-	 * The given launch configuration has been deleted.
-	 * 
-	 * @param configuration the deleted launch configuration
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration);	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
deleted file mode 100644
index 12f70e3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-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;
- *   &lt;/launchConfigurationType&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch configuration
- *  type.</li>
- * <li><code>delegate</code> specifies the fully qualified name of the java class
- *   that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration
- *   instances of this type will delegate to instances of this class
- *   to perform launching.</li>
- * <li><code>modes</code> specifies a comma separated list of the modes this
- *    type of launch configuration suports - <code>"run"</code> and/or <code>"debug"</code>.</li>
- * <li><code>name</code> specifies a human readable name for this type
- *    of launch configuration.</li>
- * <li><code>category</code> is an optional attribute that specifies a category
- * for this launch configuration type. Categories are client defined. This
- * attribute was added in the 2.1 release.</li>
- * </ul>
- * </p>
- * TODO: add new attributes - sourcePathComputerId and sourceLocatorId
- * <p>
- * The <code>category</code> attribute has been added in release 2.1, such that other
- * tools may re-use the launch configuration framework for purposes other than
- * the standard running and debugging of programs under developement. Such that
- * clients may access arbitrary attribtes specified in launch configuration type
- * extension definitions, the method <code>getAttribute</code> has also been
- * added. Launch configurations that are to be recognized as standard run/debug
- * launch configurations should not specify the <code>category</code> attribute.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationType extends IAdaptable {
-		
-	/**
-	 * Returns whether this type of launch configuration supports
-	 * the specified mode.
-	 * 
-	 * @param mode a mode in which a configuration can be launched, one of
-	 *  the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or
-	 *  <code>DEBUG_MODE</code>.
-	 * @return whether this kind of launch configuration supports the
-	 *  specified mode
-	 */
-	public boolean supportsMode(String mode);
-	
-	/**
-	 * Returns the name of this type of launch configuration.
-	 * 
-	 * @return the name of this type of launch configuration
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the unique identifier for this type of launch configuration
-	 * 
-	 * @return the unique identifier for this type of launch configuration
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns whether this launch configuration type is public.  Public configuration
-	 * types are available for use by the user, for example, the user can create new
-	 * configurations based on public types through the UI.  Private types are not
-	 * accessbile in this way, but are still available through the methods on 
-	 * <code>ILaunchManager</code>.
-	 * 
-	 * @return whether this launch configuration type is public.
-	 */
-	public boolean isPublic();
-	
-	/**
-	 * Returns a new launch configuration working copy of this type,
-	 * that resides in the specified container, with the given name.
-	 * When <code>container</code> is </code>null</code>, the configuration
-	 * will reside locally in the metadata area.
-	 * Note: a launch configuration is not actually created until the working copy is saved.
-	 * 
-	 * @param container the container in which the new configuration will
-	 *  reside, or <code>null</code> if the configuration should reside
-	 *  locally with the metadata.
-	 * @param name name for the launch configuration
-	 * @return a new launch configuration working copy instance of this type
-	 * @exception CoreException if an instance of this type
-	 *  of launch configuration could not be created for any
-	 *  reason
-	 */
-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException;
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type, for <code>run</code> mode.
-	 * The first time this method is called, the delegate is instantiated.
-	 * 
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @deprecated use <code>getDelegate(String)</code> to specify mode
-	 */	
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException;
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type, for the specified mode. The first time
-	 * this method is called for a mode, the delegate is instantiated.
-	 * Launch delegates may be contributed to a launch configuration type
-	 * via the extension point <code>org.eclipse.debug.core.launchDelegates</code>
-	 * 
-	 * @param mode launch mode
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @since 3.0
-	 */	
-	public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException;
-	
-	/**
-	 * Returns this launch configuration type's category, or <code>null</code>
-	 * if unspecified. This corresponds to the category attribute specified in
-	 * the extension definition.
-	 * 
-	 * @return this launch configuration type's category, or <code>null</code>
-	 * @since 2.1
-	 */
-	public String getCategory();
-	
-	/**
-	 * Returns the attribute with the given name, as specified by this launch
-	 * configuration type's extension definition, or <code>null</code> if
-	 * unspecified.
-	 * 
-	 * @param attributeName attribute name
-	 * @return the specified extension attribute, or <code>null</code>
-	 * @since 2.1
-	 */
-	public String getAttribute(String attributeName);	
-	
-	/**
-	 * Returns the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified. A source path computer can be
-	 * registered with a launch configuration type in plug-in XML via the
-	 * <code>sourcePathComputerId</code> attribute.
-	 * 
-	 * @return the source path computer registered with this launch configuration
-	 * type or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer();
-	
-	/**
-	 * Returns the identifier of the persistable source locator registered with
-	 * this launch configurations type, or <code>null</code> if unspecified.
-	 * Launch configuration types optionally specify this attribue
-	 * in their plug-in XML via the <code>sourceLocatorId</code> attribute.  
-	 *  
-	 * @return the identifier of the persistable source locator registered with
-	 *  this launch configurations type, or <code>null</code> if unspecified
-	 * @since 3.0
-	 */
-	public String getSourceLocatorId();
-	
-	/**
-	 * Returns the identifier of the plug-in that contributes this launch configuration type.
-	 * 
-	 * @return the identifier of the plug-in that contributes this launch configuration type
-	 * @since 3.0
-	 */
-	public String getPluginIdentifier();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
deleted file mode 100644
index 0fe69bb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * An editable copy of a launch configuration. Attributes of a
- * launch configuration are modified by modifying the attributes
- * of a working copy, and then saving the working copy.
- * <p>
- * This interface is not intended to be implemented by clients. Clients
- * that define a launch configuration delegate extension implement the
- * <code>ILaunchConfigurationDelegate</code> interface.
- * </p>
- * @see ILaunchConfiguration
- * @see ILaunchConfigurationType
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate
- * @since 2.0
- */
-public interface ILaunchConfigurationWorkingCopy extends ILaunchConfiguration, IAdaptable {
-	
-	/**
-	 * Returns whether this configuration has been modified
-	 * since it was last saved or created.
-	 * 
-	 * @return whether this configuration has been modified
-	 *  since it was last saved or created
-	 */
-	public boolean isDirty();
-	
-	/**
-	 * Saves this working copy to its underlying file and returns
-	 * a handle to the resulting launch configuration.
-	 * Has no effect if this configuration does not need saving.
-	 * Creates the underlying file if not yet created.
-	 * 
-	 * @exception CoreException if an exception occurs while 
-	 *  writing this configuration to its underlying file.
-	 */
-	public ILaunchConfiguration doSave() throws CoreException;
-			
-	/**
-	 * Sets the integer-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, int value);
-	
-	/**
-	 * Sets the String-valued attribute with the given name.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, String value);
-	
-	/**
-	 * Sets the <code>java.util.List</code>-valued attribute with the given name.
-	 * The specified List <em>must</em> contain only String-valued entries.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, List value);
-	
-	/**
-	 * Sets the <code>java.util.Map</code>-valued attribute with the given name.
-	 * The specified Map <em>must</em> contain only String keys and String values.
-	 * If the value is <code>null</code>, the attribute is removed from
-	 * this launch configuration.
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value, or <code>null</code> if the attribute is to be undefined
-	 */
-	public void setAttribute(String attributeName, Map value);
-	
-	/**
-	 * Sets the boolean-valued attribute with the given name.  
-	 *
-	 * @param attributeName the name of the attribute, cannot be <code>null</code>
-	 * @param value the value
-	 */
-	public void setAttribute(String attributeName, boolean value);	
-	
-	/**
-	 * Returns the original launch configuration this working copy
-	 * was created from, or <code>null</code> if this is a new
-	 * working copy created from a launch configuration type.
-	 * 
-	 * @return the original launch configuration, or <code>null</code>
-	 */
-	public ILaunchConfiguration getOriginal();
-	
-	/**
-	 * Renames this launch configuration to the specified name.
-	 * The new name cannot be <code>null</code>. Has no effect if the name
-	 * is the same as the current name. If this working copy is based
-	 * on an existing launch configuration, this will cause
-	 * the underlying launch configuration file to be renamed when
-	 * this working copy is saved.
-	 * 
-	 * @param name the new name for this configuration 
-	 */
-	public void rename(String name);	
-	
-	/**
-	 * Sets the container this launch configuration will be stored
-	 * in when saved. When set to <code>null</code>, this configuration
-	 * will be stored locally with the workspace. The specified
-	 * container must exist, if specified.
-	 * <p>
-	 * If this configuration is changed from local to non-local,
-	 * a file will be created in the specified container when
-	 * saved. The local file associated with this configuration
-	 * will be deleted.
-	 * </p>
-	 * <p>
-	 * If this configuration is changed from non-local to local,
-	 * a file will be created locally when saved.
-	 * The original file associated with this configuration in
-	 * the workspace will be deleted.
-	 * </p>
-	 * 
-	 * @param container the container in which to store this
-	 *  launch configuration, or <code>null</code> if this
-	 *  configuration is to be stored locally
-	 */
-	public void setContainer(IContainer container);	
-	
-	/**
-	 * Sets the attributes of this launch configuration to be the ones contained
-	 * in the given map. The values must be an instance of one of the following
-	 * classes: <code>String</code>, <code>Integer</code>, or
-	 * <code>Boolean</code>, <code>List</code>, <code>Map</code>. Attributes
-	 * previously set on this launch configuration but not included in the given
-	 * map are considered to be removals. Setting the given map to be
-	 * <code>null</code> is equivalent to removing all attributes.
-	 *
-	 * @param attributes a map of attribute names to attribute values.
-	 *  Attribute names are not allowed to be <code>null</code>
-	 * @since 2.1
-	 */
-	public void setAttributes(Map attributes);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
deleted file mode 100644
index 5faa720..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A launch listener is notified of launches as they
- * are added and removed from the launch manager. Also,
- * when a process or debug target is added to a launch,
- * listeners are notified of a change.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchesListener
- */
-public interface ILaunchListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launch has been removed.
-	 *
-	 * @param launch the removed launch
-	 * @since 2.0
-	 */
-	public void launchRemoved(ILaunch launch);
-	/**
-	 * Notifies this listener that the specified launch
-	 * has been added.
-	 * 
-	 * @param launch the newly added launch
-	 * @since 2.0
-	 */
-	public void launchAdded(ILaunch launch);	
-	/**
-	 * Notifies this listener that the specified launch
-	 * has changed. For example, a process or debug target
-	 * has been added to the launch.
-	 * 
-	 * @param launch the changed launch
-	 * @since 2.0
-	 */
-	public void launchChanged(ILaunch launch);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
deleted file mode 100644
index feb5286..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * The launch manager manages the set of registered launches, maintaining
- * a collection of active processes and debug targets. Clients interested
- * in launch notification may register with the launch manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @see ILaunch
- * @see ILaunchListener
- */
-public interface ILaunchManager {
-	/**
-	 * A launch in a normal, non-debug mode(value <code>"run"</code>).
-	 */
-	public static final String RUN_MODE= "run"; //$NON-NLS-1$
-	/**
-	 * A launch in a special debug mode (value <code>"debug"</code>).
-	 */
-	public static final String DEBUG_MODE= "debug"; //$NON-NLS-1$
-	/**
-	 * A launch in a special profile mode (value <code>"profile"</code>).
-	 * @since 3.0
-	 */
-	public static final String PROFILE_MODE= "profile"; //$NON-NLS-1$	
-	
-	/**
-	 * Launch configuration attribute name. The value is a map of environment
-	 * variables passed into Runtime.exec(...) when a launch configuration is launched.
-	 * Default value is <code>null</code> which indicates the default environment
-	 * should be used. 
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".environmentVariables"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute name. The value is a boolean value specifying
-	 * whether the environment variables in a launch configuration
-	 * should be appended to the native environment (i.e. when <code>true</code>),
-	 * or if they should replace the environment (i.e. <code>false</code>). The
-	 * default value is <code>true</code>.
-	 * 
-	 * @since 3.0 
-	 */
-	public static final String ATTR_APPEND_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".appendEnvironmentVariables"; //$NON-NLS-1$	
-	
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registerd.
-	 *
-	 * @param listener the listener to register
-	 */
-	public void addLaunchListener(ILaunchListener listener);
-	/**
-	 * Adds the given listener to the collection of registered launch listeners.
-	 * Has no effect if an identical listener is already registerd.
-	 *
-	 * @param listener the listener to register
-	 * @since 2.1
-	 */
-	public void addLaunchListener(ILaunchesListener listener);	
-	/**
-	 * Removes the specified launch and notifies listeners.
-	 * Has no effect if an identical launch is not already
-	 * registered.
-	 *
-	 * @param launch the launch to remove
-	 * @since 2.0
-	 */
-	public void removeLaunch(ILaunch launch);	
-	/**
-	 * Removes the specified launch objects and notifies listeners.
-	 * Has no effect on identical launch objects that are not already
-	 * registered.
-	 *
-	 * @param launches the launch objects to remove
-	 * @since 2.1
-	 */
-	public void removeLaunches(ILaunch[] launches);		
-	/**
-	 * Returns the collection of debug targets currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of debug targets
-	 */
-	public IDebugTarget[] getDebugTargets();
-	/**
-	 * Returns the collection of launches currently registered
-	 * with this launch manager.
-	 * 
-	 * @return an array of launches
-	 */
-	public ILaunch[] getLaunches();
-	/**
-	 * Returns the collection of processes currently registered with this
-	 * launch manager.
-	 *
-	 * @return an array of processes
-	 */
-	public IProcess[] getProcesses();
-	/**
-	 * Adds the specified launch and notifies listeners. Has no
-	 * effect if an identical launch is already registered.
-	 * 
-	 * @param launch the launch to add
-	 * @since 2.0
-	 */
-	public void addLaunch(ILaunch launch);	
-	/**
-	 * Adds the specified launch objects and notifies listeners. Has no
-	 * effect on identical launch objects already registered.
-	 * 
-	 * @param launches the launch objects to add
-	 * @since 2.1
-	 */
-	public void addLaunches(ILaunch[] launches);		
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registerd.
-	 *
-	 * @param listener the listener to deregister
-	 */
-	public void removeLaunchListener(ILaunchListener listener);
-	/**
-	 * Removes the given listener from the collection of registered launch listeners.
-	 * Has no effect if an identical listener is not already registerd.
-	 *
-	 * @param listener the listener to deregister
-	 * @since 2.1
-	 */
-	public void removeLaunchListener(ILaunchesListener listener);	
-	/**
-	 * Returns all launch configurations defined in the workspace.
-	 * 
-	 * @return all launch configurations defined in the workspace
-	 * @exception CoreException if an exception occurs retrieving configurations
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations() throws CoreException;
-	
-	/**
-	 * Returns all launch configurations of the specified type defined in the workspace
-	 * 
-	 * @param type a launch configuration type
-	 * @return all launch configurations of the specified type defined in the workspace
-	 * @exception CoreException if an error occurs while retreiving
-	 *  a launch configuration
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException;
-	
-	/**
-	 * Returns a handle to the launch configuration contained
-	 * in the specified file. The file is not verified to exist
-	 * or contain a launch configuration.
-	 * 
-	 * @param file launch configuration file
-	 * @return a handle to the launch configuration contained
-	 *  in the specified file
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(IFile file);
-	
-	/**
-	 * Returns a handle to the launch configuration specified by
-	 * the given memento. The configuration may not exist.
-	 * 
-	 * @return a handle to the launch configuration specified by
-	 *  the given memento
-	 * @exception CoreException if the given memento is invalid or
-	 *  an exception occurs parsing the memento
-	 * @see ILaunchConfiguration#getMemento()
-	 * @since 2.0
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException;
-	
-	/**
-	 * Returns all defined launch configuration type extensions
-	 * 
-	 * @return all defined launch configuration type extensions
-	 * @since 2.0
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes();
-	
-	/**
-	 * Returns the launch configuration type extension with the specified
-	 * id, or <code>null</code> if it does not exist.
-	 * 
-	 * @param id unique identifier for a launch configuration type extension
-	 * @return the launch configuration type extension with the specified
-	 * id, or <code>null</code> if it does not exist
-	 * @since 2.0
-	 */
-	public ILaunchConfigurationType getLaunchConfigurationType(String id);
-	
-	/**
-	 * Adds the given launch configuration listener to the list
-	 * of listeners notified when a launch configuration is
-	 * added, removed, or changed. Has no effect if the given listener
-	 * is already registered.
-	 * 
-	 * @param listener launch configuration listener
-	 * @since 2.0
-	 */
-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener);
-	
-	/**
-	 * Removes the given launch configuration listener from the list
-	 * of listeners notified when a launch configuration is
-	 * added, removed, or changed. Has no effect if the given listener
-	 * is not already registered.
-	 * 
-	 * @param listener launch configuration listener
-	 * @since 2.0
-	 */
-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener);	
-	
-	/**
-	 * Return <code>true</code> if there is a launch configuration with the specified name, 
-	 * <code>false</code> otherwise.
-	 * 
-	 * @param name the name of the launch configuration whose existence is being checked
-	 * @exception CoreException if unable to retrieve existing launch configuration names
-	 * @since 2.0
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) throws CoreException;
-
-	/**
-	 * Return a String that can be used as the name of a launch configuration.  The name
-	 * is guaranteed to be unique (no existing launch configurations will have this name).
-	 * The name that is returned uses the <code>namePrefix</code> as a starting point.  If 
-	 * there is no existing launch configuration with this name, then <code>namePrefix</code>
-	 * is returned.  Otherwise, the value returned consists of the specified prefix plus
-	 * some suffix that guarantees uniqueness.
-	 * 
-	 * @param namePrefix the String that the returned name must begin with
-	 * @since 2.0
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String namePrefix);
-
-	/**
-	 * Creates and returns a new source locator of the specified
-	 * type.
-	 * 
-	 * @param identifier the identifier associated with a 
-	 *  persistable source locator extension
-	 * @return a source locator
-	 * @exception CoreException if an exception occurs creating
-	 *  the source locator
-	 * @since 2.0
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException;
-	
-	/**
-	 * When a launch configuration is created or moved, registered launch
-	 * configuration listeners (see <code>ILaunchConfigurationListener</code>)
-	 * are notified of an add notification for the new configuration. If the
-	 * notification is the result of a move this method will return a handle to
-	 * the launch configuration that the added launch configuration was moved
-	 * from. This method returns <code>null</code> if the added launch
-	 * configuration was not the result of a rename or move. This information is
-	 * only available during the add notification call back
-	 * <code>launchConfigurationAdded</code>.
-	 * <p>
-	 * Renaming a configuration is considered the same as moving a
-	 * configuration.
-	 * </p>
-	 * 
-	 * @param addedConfiguration a launch configuration for which an add
-	 * notification is being broadcast
-	 * @return the launch configuration that the added launch configuration was
-	 * moved from, or <code>null</code> if the add notification is not the
-	 * result of a move
-	 * @since 2.1
-	 */
-	public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration);
-	
-	/**
-	 * When a launch configuration is deleted or moved, registered launch
-	 * configuration listeners (see <code>ILaunchConfigurationListener</code>)
-	 * are notified of a remove notification for launch configuration that has
-	 * been deleted. If the notification is the result of a move this method
-	 * will return a handle to the launch configuration that the removed launch
-	 * configuration was moved to. This method returns <code>null</code> if the
-	 * removed launch configuration was not the result of a rename or move. This
-	 * information is only available during the add notification call back
-	 * <code>launchConfigurationRemoved</code>.
-	 * <p>
-	 * Renaming a configuration is considered the same as moving a
-	 * configuration.
-	 * </p>
-	 *
-	 * @param removedConfiguration a launch configuration for which a
-	 * remove notification is being broadcast
-	 * @return the launch configuration that the removed launch configuration
-	 * was moved to, or <code>null</code> if the add notification is not the
-	 * result of a move
-	 * @since 2.1
-	 */
-	public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration);
-
-	/**
-	 * Returns all registered launch modes.
-	 * 
-	 * @return all registered launch modes
-	 * @since 3.0
-	 */
-	public ILaunchMode[] getLaunchModes();
-	
-	/**
-	 * Returns the launch mode registered with the given mode identifier,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param mode mode identifier
-	 * @return launch mode or <code>null</code>
-	 * @since 3.0
-	 */
-	public ILaunchMode getLaunchMode(String mode);	
-	
-	/** 
-	 * Returns an array of environment variables to be used when
-	 * launching the given configuration or <code>null</code> if unspecified.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 * @since 3.0
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns a source path computer to compute a default source lookup path for
-	 * the given launch configuration, or <code>null</code> if a source path
-	 * computer has not been registered for the associated launch configuration
-	 * type.
-	 *  
-	 * @param configuration a launch configuration
-	 * @return a source path computer registered for the associated launch
-	 *  configurations type, or <code>null</code> if unspecified
-	 * @throws CoreException if an exception occurs while instantiating a source
-	 *  path computer
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException;
-	
-	/**
-	 * Returns the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id source path computer identifier
-	 * @return the source path computer extension registered with the given
-	 * unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id);
-
-	/**
-	 * Returns the native system environment variables as a map of
-	 * variable names and values (Strings). On WIN32,
-	 * all keys (variable names) are returned in uppercase. Note
-	 * that WIN32's environment is not case sensitive.
-	 * 
-	 * @return the native system environment variables
-	 * @since 3.0
-	 */	
-	public Map getNativeEnvironment();
-	
-	/**
-	 * Returns all registered source container type extensions.
-	 * 
-	 * @return all registered source container type extensions
-	 * @since 3.0
-	 */
-	public ISourceContainerType[] getSourceContainerTypes();
-	
-	/**
-	 * Returns the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none.
-	 * 
-	 * @param id unique identifier of a source container type extension
-	 * @return the source container type extension registered with the
-	 * given unique identifier, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public ISourceContainerType getSourceContainerType(String id);
-	
-}
-
-
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 265d8d3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * A launch mode. The debug platform contributes launch modes
- * for run, debug, and profile. Clients may contribute additional launch
- * modes in plug-in XML via the <code>launchModes</code> extension point.
- * <p>
- * Following is an example launch mode contribution for profiling. A launch
- * mode has an unique identifer specified by the <code>mode</code> attribute
- * and a human readable label specified by the <code>label</code> attribute.
- * <pre>
- *  &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
- *   &lt;launchMode
- *    mode=&quot;profile&quot;
- *    label=&quot;Profile&quot;&gt;
- *   &lt;/launchMode&gt;
- *  &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchMode {
-	
-	/**
-	 * Returns the unique identifier for this launch mode.
-	 * 
-	 * @return the unique identifier for this launch mode
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns a human readable label for this launch mode.
-	 * 
-	 * @return a human readable label for this launch mode
-	 */
-	public String getLabel();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
deleted file mode 100644
index 1e5b981..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-/**
- * A launches listener is notified of launches as they
- * are added and removed from the launch manager. Also,
- * when a process or debug target is added to a launch,
- * listeners are notified of a change.
- * <p>
- * This interface is analagous to <code>ILaunchListerner</code>, except
- * notifications are batched to include more than one launch object
- * when possible.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.ILaunchManager
- * @since 2.1
- */
-public interface ILaunchesListener {	
-	/**
-	 * Notifies this listener that the specified
-	 * launches have been removed.
-	 *
-	 * @param launches the removed launch objects
-	 */
-	public void launchesRemoved(ILaunch[] launches);
-	/**
-	 * Notifies this listener that the specified launches
-	 * have been added.
-	 * 
-	 * @param launches the newly added launch objects
-	 */
-	public void launchesAdded(ILaunch[] launches);	
-	/**
-	 * Notifies this listener that the specified launches
-	 * have changed. For example, a process or debug target
-	 * has been added to a launch.
-	 * 
-	 * @param launches the changed launch object
-	 */
-	public void launchesChanged(ILaunch[] launches);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
deleted file mode 100644
index 38dfc09..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-/**
- * 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/ILogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
deleted file mode 100644
index 415854a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate;
-
-/**
- * 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>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate
- */
-public interface ILogicalStructureType extends ILogicalStructureTypeDelegate{
-	
-	/**
-	 * Returns a simple description of the logical structure provided by this
-	 * structure type.
-	 * 
-	 * @return a simple description of the logical structure provided by this
-	 * structure type
-	 */
-	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/IProcessFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
deleted file mode 100644
index 008f965..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-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>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>
- * @since 3.0
- */
-
-public interface IProcessFactory {
-	
-	/**
-	 * Creates and returns a new process representing the given
-	 * <code>java.lang.Process</code>. A streams proxy is created
-	 * for the I/O streams in the system process. The process
-	 * is added to the given launch, and the process is initialized
-	 * with the given attribute map.
-	 *
-	 * @param launch the launch the process is contained in
-	 * @param process the system process to wrap
-	 * @param label the label assigned to the process
-	 * @param attributes initial values for the attribute map
-	 * @return the process
-	 * @see IProcess
-	 */
-	public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
deleted file mode 100644
index fd7af0b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A status handler registers to handle a specific status - error
- * or otherwise. Provides a mechanism for separating core (headless)
- * function from UI interaction. The debug plug-in provides a
- * status handlers extension point, against which handlers can
- * register for specific status codes - identified by plug-in
- * identifier and plug-in specific status code. The interaction between
- * an object requiring a status handler (source), and the status handler
- * is defined by the source and handler.
- * <p>
- * For example, a launch configuration delegate might encounter a timeout
- * while launching an application. In this case the delegate could abort
- * or, via the use of a status handler, prompt the user to continue. This
- * allows the launcher to be implemented in a plug-in that does not require
- * UI support, and allows another (UI) plug-in to register a handler.
- * </p>
- * <p>
- * A status handler extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a status handler extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
- *   &lt;statusHandler 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleStatusHandler"
- *      plugin="com.example.ExamplePluginId"
- *      code="123"&gt;
- *   &lt;/statusHandler&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this status handler.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IStatusHandler</code>.</li>
- * <li><code>plugin</code> plug-in identifier that corresponds to the
- *   plug-in of the status this handler is registered for (i.e.
- *   <code>IStatus.getPlugin()</code>).</li>
- * <li><code>code</code> specifies the status code this handler
- *   is registered for.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see DebugPlugin#getStatusHandler(IStatus)
- * @since 2.0
- */
-
-public interface IStatusHandler {
-
-	/**
-	 * Notifies this status handler that the given status has been
-	 * generated by the specified source object and requires resolution.
-	 * 
-	 * @param status the status to handle
-	 * @param source the object delegating to this status handler
-	 *   the given status
-	 * @return an object representing the resolution of the status
-	 * @exception CoreException if unable to resolve the status
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
deleted file mode 100644
index c9bd1b7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-
-/**
- * A stream listener is notified of changes
- * to a stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStreamMonitor
- */
-public interface IStreamListener {
-	/**
-	 * Notifies this listener that text has been appended to
-	 * the given stream monitor.
-	 *
-	 * @param text the appended text
-	 * @param monitor the stream monitor to which text was appended
-	 */
-	public void streamAppended(String text, IStreamMonitor monitor);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
deleted file mode 100644
index d8f039c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.LaunchManager;
-
-/**
- * A launch is the result of launching a debug session
- * and/or one or more system processes. This class provides
- * a public implementation of <code>ILaunch</code> for client
- * use.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class.
- * Many of the methods in this class that are part of the <code>ILaunch</code> interface 
- * are final. Clients that subclass this class are not intended to change the behavior
- * or implementation of the provided methods. Subclassing is only intended
- * to add additional information to a specific launch. For example, a client that
- * implements a launch object representing a Java launch might store a classpath
- * with the launch.
- * </p>
- * @see ILaunch
- * @see ILaunchManager
- */
-
-public class Launch extends PlatformObject implements ILaunch, IDisconnect, ILaunchListener, ILaunchConfigurationListener, IDebugEventSetListener {
-	
-	/**
-	 * The debug targets associated with this
-	 * launch (the primary target is the first one
-	 * in this collection), or empty if
-	 * there are no debug targets.
-	 */
-	private List fTargets= new ArrayList();
-
-	/**
-	 * The configuration that was launched, or null.
-	 */
-	private ILaunchConfiguration fConfiguration= null;
-
-	/**
-	 * The system processes associated with
-	 * this launch, or empty if none.
-	 */
-	private List fProcesses= new ArrayList();
-
-	/**
-	 * The source locator to use in the debug session
-	 * or <code>null</code> if not supported.
-	 */
-	private ISourceLocator fLocator= null;
-
-	/**
-	 * The mode this launch was launched in.
-	 */
-	private String fMode;
-	
-	/**
-	 * Table of client defined attributes
-	 */
-	private HashMap fAttributes;	
-	
-	/**
-	 * Flag indiating that change notification should
-	 * be suppressed. <code>true</code> until this
-	 * launch has been initialzied.
-	 */
-	private boolean fSuppressChange = true;
-		
-	/**
-	 * Constructs a launch with the specified attributes.
-	 *
-	 * @param launchConfiguration the configuration that was launched
-	 * @param mode the mode of this launch - run or debug (constants
-	 *  defined by <code>ILaunchManager</code>)
-	 * @param locator the source locator to use for this debug session, or
-	 * 	<code>null</code> if not supported
-	 */
-	public Launch(ILaunchConfiguration launchConfiguration, String mode, ISourceLocator locator) {		
-		setLaunchConfiguration(launchConfiguration);
-		setSourceLocator(locator);
-		setLaunchMode(mode);
-		fSuppressChange = false;
-		getLaunchManager().addLaunchListener(this);
-		getLaunchManager().addLaunchConfigurationListener(this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public final boolean canTerminate() {
-		List processes = getProcesses0();
-		for (int i = 0; i < processes.size(); i++) {
-			IProcess process = (IProcess)processes.get(i);
-			if (process.canTerminate()) {
-				return true;
-			}
-		}
-		List targets = getDebugTargets0();
-		for (int i = 0; i < targets.size(); i++) {
-			IDebugTarget target = (IDebugTarget)targets.get(i);
-			if (target.canTerminate() || target.canDisconnect()) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @see ILaunch#getChildren()
-	 */
-	public final Object[] getChildren() {
-		ArrayList children = new ArrayList(getDebugTargets0());
-		children.addAll(getProcesses0());
-		return children.toArray();
-	}
-
-	/**
-	 * @see ILaunch#getDebugTarget()
-	 */
-	public final IDebugTarget getDebugTarget() {
-		if (!getDebugTargets0().isEmpty()) {
-			return (IDebugTarget)getDebugTargets0().get(0);
-		}
-		return null;
-	}
-		
-	/**
-	 * Sets the configuration that was launched
-	 * 
-	 * @param configuration the configuration that was launched
-	 */
-	private void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfiguration = configuration;
-	}	
-
-	/**
-	 * @see ILaunch#getProcesses()
-	 */
-	public final IProcess[] getProcesses() {
-		return (IProcess[])getProcesses0().toArray(new IProcess[getProcesses0().size()]);
-	}
-	
-	/**
-	 * Returns the processes associated with this
-	 * launch, in its internal form - a list.
-	 * 
-	 * @return list of processes
-	 */
-	protected List getProcesses0() {
-		return fProcesses;
-	}	
-	
-	/**
-	 * @see ILaunch#getSourceLocator()
-	 */
-	public final ISourceLocator getSourceLocator() {
-		return fLocator;
-	}
-	
-	/**
-	 * @see ILaunch#setSourceLocator(ISourceLocator)
-	 */
-	public final void setSourceLocator(ISourceLocator sourceLocator) {
-		fLocator = sourceLocator;
-	}	
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public final boolean isTerminated() {
-		if (getProcesses0().isEmpty() && getDebugTargets0().isEmpty()) {
-			return false;
-		}
-
-		Iterator processes = getProcesses0().iterator();
-		while (processes.hasNext()) {
-			IProcess process = (IProcess)processes.next();
-			if (!process.isTerminated()) {
-				return false;
-			}
-		}
-		
-		Iterator targets = getDebugTargets0().iterator();
-		while (targets.hasNext()) {
-			IDebugTarget target = (IDebugTarget)targets.next();
-			if (!(target.isTerminated() || target.isDisconnected())) {
-				return false;
-			}
-		}
-		
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public final void terminate() throws DebugException {
-		MultiStatus status= 
-			new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.getString("Launch.terminate_failed"), null); //$NON-NLS-1$
-		
-		// terminate the system processes
-		IProcess[] processes = getProcesses();
-		for (int i = 0; i < processes.length; i++) {
-			IProcess process = processes[i];
-			if (process.canTerminate()) {
-				try {
-					process.terminate();
-				} catch (DebugException e) {
-					status.merge(e.getStatus());
-				}
-			}
-		}
-		
-		// terminate or disconnect debug target if it is still alive
-		IDebugTarget[] targets = getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			IDebugTarget target= targets[i];
-			if (target != null) {
-				if (target.canTerminate()) {
-					try {
-						target.terminate();
-					} catch (DebugException e) {
-						status.merge(e.getStatus());
-					}
-				} else {
-					if (target.canDisconnect()) {
-						try {
-							target.disconnect();
-						} catch (DebugException de) {
-							status.merge(de.getStatus());
-						}
-					}
-				}
-			}
-		}
-		if (status.isOK()) {
-			return;
-		}
-		IStatus[] children= status.getChildren();
-		if (children.length == 1) {
-			throw new DebugException(children[0]);
-		} 
-		throw new DebugException(status);
-	}
-
-	/**
-	 * @see ILaunch#getLaunchMode()
-	 */
-	public final String getLaunchMode() {
-		return fMode;
-	}
-	
-	/**
-	 * Sets the mode in which this launch was 
-	 * launched.
-	 * 
-	 * @param mode the mode in which this launch
-	 *  was launched - one of the constants defined
-	 *  by <code>ILaunchManager</code>.
-	 */
-	private void setLaunchMode(String mode) {
-		fMode = mode;
-	}
-	
-	/**
-	 * @see ILaunch#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfiguration;
-	}
-
-	/**
-	 * @see ILaunch#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		fAttributes.put(key, value);		
-	}
-
-	/**
-	 * @see ILaunch#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-
-	/**
-	 * @see ILaunch#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		return (IDebugTarget[])fTargets.toArray(new IDebugTarget[fTargets.size()]);
-	}
-	
-	/**
-	 * Returns the debug targets associated with this
-	 * launch, in its internal form - a list
-	 * 
-	 * @return list of debug targets
-	 */
-	protected List getDebugTargets0() {
-		return fTargets;
-	}	
-
-	/**
-	 * @see ILaunch#addDebugTarget(IDebugTarget)
-	 */
-	public final void addDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (!getDebugTargets0().contains(target)) {
-				getDebugTargets0().add(target);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeDebugTarget(IDebugTarget)
-	 */
-	public final void removeDebugTarget(IDebugTarget target) {
-		if (target != null) {
-			if (getDebugTargets0().remove(target)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * @see ILaunch#addProcess(IProcess)
-	 */
-	public final void addProcess(IProcess process) {
-		if (process != null) {
-			if (!getProcesses0().contains(process)) {
-				getProcesses0().add(process);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunch#removeProcess(IProcess)
-	 */
-	public final void removeProcess(IProcess process) {
-		if (process != null) {
-			if (getProcesses0().remove(process)) {
-				fireChanged();
-			}
-		}
-	}	
-	
-	/**
-	 * Adds the given processes to this launch.
-	 * 
-	 * @param processes processes to add
-	 */
-	protected void addProcesses(IProcess[] processes) {
-		if (processes != null) {
-			for (int i = 0; i < processes.length; i++) {
-				addProcess(processes[i]);
-				fireChanged();
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners that this launch has changed.
-	 * Has no effect of this launch has not yet been
-	 * properly created/initialized.
-	 */
-	protected void fireChanged() {
-		if (!fSuppressChange) {
-			((LaunchManager)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);
-		}
-	}
-	
-	/**
-	 * @see ILaunch#hasChildren()
-	 */
-	public boolean hasChildren() {
-		return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
-	public boolean canDisconnect() {
-		if (getDebugTargets0().size() == 1) {
-			return getDebugTarget().canDisconnect();
-		}
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
-	public void disconnect() throws DebugException {
-		if (getDebugTargets0().size() == 1) {
-			getDebugTarget().disconnect();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
-	public boolean isDisconnected() {
-		if (getDebugTargets0().size() == 1) {
-			getDebugTarget().isDisconnected();
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch)) {
-			getLaunchManager().removeLaunchListener(this);
-			getLaunchManager().removeLaunchConfigurationListener(this);
-			DebugPlugin.getDefault().removeDebugEventListener(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())) {
-			setLaunchConfiguration(configuration);
-			fireChanged();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-	}
-
-	/* (non-Javadoc)
-	 * 
-	 * Update the launch configuration associated with this launch if the
-	 * underlying configuration is deleted.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		if (configuration.equals(getLaunchConfiguration())) {
-			if (getLaunchManager().getMovedTo(configuration) == null) {
-				setLaunchConfiguration(null);
-				fireChanged();
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.TERMINATE) {
-				Object object = event.getSource();
-				ILaunch launch = null;
-				if (object instanceof IProcess) {
-					launch = ((IProcess)object).getLaunch();
-				} else if (object instanceof IDebugTarget) {
-					launch = ((IDebugTarget)object).getLaunch();
-				}
-				if (this.equals(launch)) {
-					if (isTerminated()) {
-						fireTerminate();
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
deleted file mode 100644
index e6e0881..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Abstract implementation of a breakpoint. This class is
- * intended to be subclassed by implementations
- * of breakpoints.
- * 
- * @see IBreakpoint
- * @since 2.0
- */
-
-public abstract class Breakpoint extends PlatformObject implements IBreakpoint {
-	
-	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 {
-		return getMarker().getAttribute(REGISTERED, false);
-	}	
-	
-	/**
-	 * @see IBreakpoint#setRegistered(boolean)
-	 */
-	public void setRegistered(boolean registered) throws CoreException {
-		if (isRegistered() != registered) {
-			setAttribute(REGISTERED, registered);
-			IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();
-			if (registered) {
-				mgr.addBreakpoint(this);
-			} else {
-				mgr.removeBreakpoint(this, false);
-			}
-		}
-	}	
-
-	/**
-	 * @see IBreakpoint#delete()
-	 */
-	public void delete() throws CoreException {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(this, false);
-		getMarker().delete();
-	}
-
-	/**
-	 * @see IBreakpoint#getMarker()
-	 */
-	public IMarker getMarker() {
-		return fMarker;
-	}
-
-	/**
-	 * @see IBreakpoint#isPersisted()
-	 */
-	public boolean isPersisted() throws CoreException {
-		return getMarker().getAttribute(PERSISTED, true);
-	}
-
-	/**
-	 * @see IBreakpoint#setPersisted(boolean)
-	 */
-	public void setPersisted(boolean persisted) throws CoreException {
-		if (isPersisted() != persisted) {
-			setAttributes(new String[] {PERSISTED, IMarker.TRANSIENT}, new Object[] {new Boolean(persisted), new Boolean(!persisted)});
-		}
-	}
-	
-	/**
-	 * Convenience method to set the given boolean attribute of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributeName attribute name
-	 * @param value attribute value
-	 * @exception CoreException is setting the attribute fails
-	 * @see IMarker#setAttribute(java.lang.String, boolean)
-	 */
-	protected void setAttribute(final String attributeName, final boolean value) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttribute(attributeName, value);
-				}
-			};
-			
-		workspace.run(runnable, null, 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, null, 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, null, 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, null, 0, null);
-	}
-
-	/**
-	 * Convenience method to set the attributes of
-	 * this breakpoint's underlying marker in a workspace
-	 * runnable. Setting marker attributes in a workspace runnable
-	 * prevents deadlock.
-	 * 
-	 * @param attributes attribute map
-	 * @exception CoreException is setting the attributes fails
-	 * @see IMarker#setAttributes(java.util.Map)
-	 */
-	protected void setAttributes(final Map attributes) throws CoreException{
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					ensureMarker().setAttributes(attributes);
-				}
-			};
-			
-		workspace.run(runnable, null, 0, null);
-	}
-
-	/**
-	 * Returns the marker associated with this breakpoint.
-	 * 
-	 * @return breakpoint marker
-	 * @exception DebugException if no marker is associated with 
-	 *  this breakpoint or the associated marker does not exist
-	 */
-	protected IMarker ensureMarker() throws DebugException {
-		IMarker m = getMarker();
-		if (m == null || !m.exists()) {
-			throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED,
-				DebugCoreMessages.getString("Breakpoint.no_associated_marker"), null)); //$NON-NLS-1$
-		}
-		return m;
-	}
-	
-	/**
-	 * Returns whether this breakpoint has an associated marker that exists.
-	 * 
-	 * @return returns whether this breakpoint has an associated marker that exists
-	 * @since 2.1
-	 */
-	protected boolean markerExists() {
-		IMarker m = getMarker();
-		return (m != null && m.exists());
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
deleted file mode 100644
index b9bd796..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A breakpoint is capable of suspending the execution of a
- * program at a specific location when a program is running
- * in debug mode. Each breakpoint has an associated marker which
- * stores and persists all attributes associated with a breakpoint.
- * <p>
- * A breakpoint is defined in two parts:
- * <ol>
- * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li>
- * <li>By a marker definition that corresponds to the above breakpoint extension</li>
- * </ol>
- * <p>
- * For example, following is a definition of corresponding breakpoint
- * and breakpoint marker definitions. Note that the <code>markerType</code>
- * attribute defined by the breakpoint extension corresponds to the 
- * type of the marker definition.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.breakpoints"&gt;
- *   &lt;breakpoint 
- *      id="com.example.Breakpoint"
- *      class="com.example.Breakpoint"
- *      markerType="com.example.BreakpointMarker"&gt;
- *   &lt;/breakpoint&gt;
- * &lt;/extension&gt;
- * &lt;extension point="org.eclipse.core.resources.markers"&gt;
- *   &lt;marker 
- *      id="com.example.BreakpointMarker"
- *      super type="org.eclipse.debug.core.breakpointMarker"
- *      attribute name ="exampleAttribute"&gt;
- *   &lt;/marker&gt;
- * &lt;/extension&gt;
- * </pre>
- * <p>
- * The breakpoint manager instantiates persisted breakpoints by
- * traversing all markers that are a subtype of
- * <code>"org.eclipse.debug.core.breakpointMarker"</code>, and 
- * instantiating the class defined by the <code>class</code> attribute
- * on the associated breakpoint extension. The method <code>setMarker</code>
- * is then called to associate a marker with the breakpoint.
- * </p>
- * <p>
- * Breakpoints may or may not be registered with the breakpoint manager, and
- * are persisted and restored as such. Since marker definitions only allow
- * all or none of a specific marker type to be persisted, breakpoints define
- * a <code>PERSISTED</code> attribute for selective persistence of breakpoints
- * of the same type.
- * </p>
- * 
- * @since 2.0
- */
-
-public interface IBreakpoint extends IAdaptable {
-	
-	/**
-	 * Root breakpoint marker type	
-	 * (value <code>"org.eclipse.debug.core.breakpoint"</code>).
-	 */
-	public static final String BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".breakpointMarker"; //$NON-NLS-1$
-	
-	/**
-	 * Line breakpoint marker type
-	 * (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>).
-	 */
-	public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".lineBreakpointMarker"; //$NON-NLS-1$
-			
-	/**
-	 * Enabled breakpoint marker attribute (value <code>"org.eclipse.debug.core.enabled"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to the
-	 * enabled state of a breakpoint.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$
-	
-	/**
-	 * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).
-	 * The attribute is a <code>String</code> corresponding to the
-	 * identifier of the debug model a breakpoint is associated with.
-	 */
-	public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$
-	
-	/**
-	 * Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint has been registered with the breakpoint manager.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String REGISTERED= "org.eclipse.debug.core.registered"; //$NON-NLS-1$	
-	
-	/**
-	 * Persisted breakpoint marker attribute (value <code>"org.eclipse.debug.core.persisted"</code>).
-	 * The attribute is a <code>boolean</code> corresponding to
-	 * whether a breakpoint is to be persisted accross workspace
-	 * invocations.
-	 *
-	 * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
-	 */
-	public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$		
-	
-	/**
-	 * Deletes this breakpoint's underlying marker, and removes
-	 * this breakpoint from the breakpoint manager.
-	 *
-	 * @exception CoreException if unable to delete this breakpoint's
-	 *  underlying marker
-	 */
-	public void delete() throws CoreException;
-	
-	/**
-	 * Returns the marker associated with this breakpoint, or
-	 * <code>null</code> if no marker is associated with this breakpoint.
-	 * 
-	 * @return associated marker, or <code>null</code> if there is
-	 * 	no associated marker.
-	 */
-	public IMarker getMarker();
-	/**
-	 * Sets the marker associated with this breakpoint. This method is
-	 * called once at breakpoint creation.
-	 * 
-	 * @param marker the marker to associate with this breakpoint
-	 * @exception CoreException if an error occurs accessing the marker
-	 */
-	public void setMarker(IMarker marker) throws CoreException;
-	/**
-	 * Returns the identifier of the debug model this breakpoint is
-	 * associated with.
-	 * 
-	 * @return the identifier of the debug model this breakpoint is
-	 * 	associated with
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns whether this breakpoint is enabled
-	 * 
-	 * @return whether this breakpoint is enabled
-	 * @exception CoreException if unable to access the associated
-	 *  attribute from this breakpoint's underlying marker
-	 */
-	public boolean isEnabled() throws CoreException;
-	/**
-	 * Sets the enabled state of this breakpoint. This has no effect
-	 * if the current enabled state is the same as specified by the
-	 * enabled parameter.
-	 * 
-	 * @param enabled  whether this breakpoint should be enabled
-	 * @exception CoreException if unable to set the associated attribute on
-	 *  this breakpoint's underlying marker.
-	 */
-	public void setEnabled(boolean enabled) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is currently registered with
-	 * the breakpoint manager.
-	 * 
-	 * @return whether this breakpoint is currently registered with
-	 *  the breakpoint manager
-	 * @exception CoreException if unable to access the associated 
-	 *  attribute on this breakpoint's underlying marker
-	 */
-	public boolean isRegistered() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is currently registered with the
-	 * breakpoint manager. 
-	 * 
-	 * @param registered whether this breakpoint is registered with the
-	 *   breakpoint manager
-	 * @exception CoreException if unable to set the associated attribute
-	 *  on this breakpoint's underlying marker.
-	 */
-	public void setRegistered(boolean registered) throws CoreException;
-	
-	/**
-	 * Returns whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Since marker definitions only allow all/none of a specific type
-	 * of marker to be persisted (rather than selected markers of a
-	 * specific type), breakpoints define this functionality.
-	 * 
-	 * @return whether this breakpoint is to be persisted
-	 * @exception CoreException if unable to access the associated attribute
-	 *  on this breakpoint's underlying marker
-	 */
-	public boolean isPersisted() throws CoreException;
-	
-	/**
-	 * Sets whether this breakpoint is to be persisted across
-	 * workspace invocations, or when a project is closed and re-opened.
-	 * Has no effect if this breakpoint's marker definition is defined as not
-	 * persisted. Sets the underlying <code>TRANSIENT</code> attribute on this
-	 * breakpoint's marker to <code>true</code>.
-	 * 
-	 * @param 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 de85d11..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-
-/**
- * A debug element represents an artifact in a program being
- * debugged.
- * <p>
- * Some methods on debug elements require communication
- * with the target program. Such methods may throw a <code>DebugException</code>
- * with a status code of <code>TARGET_REQUEST_FAILED</code>
- * when unable to complete a request due to a failure on the target.
- * Methods that require communication with the target program or require
- * the target to be in a specific state (for example, suspended), are declared
- * as such.
- * </p>
- * <p>
- * Debug elements are language independent. However, language specific
- * features can be made available via the adapter mechanism provided by
- * <code>IAdaptable</code>, or by extending the debug element interfaces.
- * A debug model is responsible for declaring any special adapters 
- * its debug elements implement.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IDebugElement extends IAdaptable {
-	
-	/**
-	 * Returns the unique identifier of the plug-in
-	 * this debug element originated from.
-	 *
-	 * @return the plug-in identifier
-	 */
-	public String getModelIdentifier();
-	/**
-	 * Returns the debug target this element is contained in.
-	 * 
-	 * @return the debug target this element is contained in
-	 */
-	public IDebugTarget getDebugTarget();
-	/**
-	 * Returns the launch this element is contained in.
-	 * 
-	 * @return the launch this element is contained in
-	 */
-	public ILaunch getLaunch();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
deleted file mode 100644
index d3291a8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A 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 d1e8db1..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.IBreakpointListener;
-
-/**
- * A debug target is a debuggable execution context. For example, a debug target
- * may represent a debuggable process or a virtual machine. A debug target is the root
- * of the debug element hierarchy. A debug target contains threads. Minimally, a debug
- * target supports the following:
- * <ul>
- * <li>terminate
- * <li>suspend/resume
- * <li>breakpoints
- * <li>disconnect
- * </ul>
- * <p>
- * Generally, launching a debug session results in the creation of a
- * debug target. Launching is a client responsibility, as is debug target
- * creation.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ITerminate
- * @see ISuspendResume
- * @see IBreakpointListener
- * @see IDisconnect
- * @see IMemoryBlockRetrieval
- * @see org.eclipse.debug.core.ILaunch
- */
-public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume, IBreakpointListener, IDisconnect, IMemoryBlockRetrieval {
-	/**
-	 * Returns the system process associated with this debug target.
-	 * 
-	 * @return the system process associated with this debug target
-	 */
-	public IProcess getProcess();
-	/**
-	 * Returns the threads contained in this debug target. An
-	 * empty collection is returned if this debug target contains
-	 * no threads.
-	 * 
-	 * @return a collection of threads
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 * @since 2.0
-	 */
-	public IThread[] getThreads() throws DebugException;
-	
-	/**
-	 * Returns whether this debug target currently contains any threads.
-	 * 
-	 * @return whether this debug target currently contains any threads
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 * @since 2.0
-	 */
-	public boolean hasThreads() throws DebugException;
-	
-	/**
-	 * Returns the name of this debug target. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this target's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li></ul>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns whether this target can install the given breakpoint. 
-	 * 
-	 * @return whether this target can install the given breakpoint
-	 */
-	public boolean supportsBreakpoint(IBreakpoint breakpoint);
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
deleted file mode 100644
index f4eaf1a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The ability to end a debug session with a target program
- * and allow the target to continue running.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IDebugTarget
- */
-public interface IDisconnect {
-	/**
-	 * Returns whether this element can currently disconnect.
-	 * 
-	 * @return whether this element can currently disconnect
-	 */
-	public boolean canDisconnect();
-	/**
-	 * Disconnects this element from its target. Generally, disconnecting
-	 * ends a debug session with a debug target, but allows the target
-	 * program to continue running.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void disconnect() throws DebugException;
-	/**
-	 * Returns whether this element is disconnected.
-	 *
-	 * @return whether this element is disconnected
-	 */
-	public boolean isDisconnected();
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
deleted file mode 100644
index 108588c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 7f2acbf..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-/**
- * An expression is a snippet of code that can be evaluated
- * to produce a value. When and how an 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 d5f3cf0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to 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 3999f63..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-
-/**
- * A stream monitor who's contents can be flushed. As well, a client may
- * turn buffering on/off in a flushable stream monitor.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-public interface IFlushableStreamMonitor extends IStreamMonitor {
-
-	/**
-	 * Empties the contents of this stream monitor's underlying buffer.
-	 */
-	public void flushContents();
-	
-	/**
-	 * Sets whether the contents of this monitor's underlying stream should be
-	 * buffered. When <code>false</code>, contents appended to this stream monitor
-	 * are not stored in a buffer, and are thus not available from
-	 * <code>getContents()</code>. Registered listeners are notified of appended
-	 * text, and must buffer the contents if desired.
-	 * 
-	 * @param buffer whether the contents of this monitor's underlying stream
-	 * should be buffered
-	 */
-	public void setBuffered(boolean buffer);
-	
-	/**
-	 * Returns whether the contents of this monitor's underlying stream is
-	 * buffered.
-	 * 
-	 * @return whether the contents of this monitor's underlying stream is
-	 * buffered
-	 */
-	public boolean isBuffered();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
deleted file mode 100644
index 6ae70a9..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 7075565..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A launch configuration delegate performs launching for a
- * specific type of launch configuration. A launch configuration
- * delegate is defined by the <code>delegate</code> attribute
- * of a <code>launchConfigurationType</code> extension.
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationDelegate {
-	
-	/**
-	 * Launches the given configuration in the specified mode, contributing
-	 * debug targets and/or processes to the given launch object. The
-	 * launch object has already been registered with the launch manager.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode the mode in which to launch, one of the mode constants
-	 *  defined by <code>ILaunchManager</code> -
-	 *  <code>RUN_MODE</code> or <code>DEBUG_MODE</code>.
-	 * @param monitor progress monitor, or <code>null</code>
-	 * @param launch the launch object to contribute processes and debug
-	 *  targets to
-	 * @exception CoreException if launching fails 
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
deleted file mode 100644
index 3491a40..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Optional enhancements to the launch configuration delegate interface.
- * Allows launch delegates to abort a launch, build relevant projects in
- * the workspace before a launch, and create the launch object to be used
- * in a launch.
- * <p>
- * Clients implementing <code>ILaunchConfigurationDelegate</code> may also
- * implement this interface.
- * </p>
- * @since 3.0
- */
-public interface ILaunchConfigurationDelegate2 extends ILaunchConfigurationDelegate {
-	
-	/**
-	 * Returns a launch object to use when launching the given launch
-	 * configuration in the given mode, or <code>null</code> if a new default
-	 * launch object should be created by the debug platform. If a launch object
-	 * is returned, its launch mode must match that of the mode specified in
-	 * this method call.
-	 *  
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @return a launch object or <code>null</code>
-	 * @throws CoreException if unable to launch
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException;
-	
-	/**
-	 * Optionally performs any required building before launching the given
-	 * configuration in the specified mode, and returns whether the debug platform
-	 * should perform an incremental workspace build before the launch continues.
-	 * If <code>false</code> is returned the launch will proceed without further
-	 * building, and if <code>true</code> is returned an incremental build will
-	 * be performed on the workspace before launching.
-	 * <p>
-	 * This method is only called if the launch is invoked with flag indicating
-	 * building should take place before the launch. This is done via the    
-	 * method
-	 * <code>ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)</code>.
-	 * </p> 
-	 * @param configuration the configuration being launched
-	 * @param mode the mode the configuration is being launched in
-	 * @param monitor progress monitor
-	 * @return whether the debug platform should perform an incremental workspace
-	 *  build before the launch
-	 * @throws CoreException if an exception occurrs while building
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called after
-	 * <code>preLaunchCheck()</code> and <code>buildForLaunch()</code> providing
-	 * a final chance for this launch delegate to abort a launch if required.
-	 * For example, a delegate could cancel a launch if it discovered compilation
-	 * errors that would prevent the launch from succeeding.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs during final checks
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns whether a launch should proceed. This method is called first
-	 * in the launch sequence providing an opportunity for this launch delegate
-	 * to abort the launch.
-	 * 
-	 * @param configuration configuration being lanuched
-	 * @param mode launch mode
-	 * @param monitor progress monitor
-	 * @return whether the launch should proceed
-	 * @throws CoreException if an exception occurs while performing pre launch checks
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
deleted file mode 100644
index 0f53692..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A breakpoint that can be located at a specific line of source code.
- */
-public interface ILineBreakpoint extends IBreakpoint {
-
-/**
- * Returns the line number in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not
- * present.
- *
- * @return this breakpoint's line number, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.LINE_NUMBER</code> marker attribute
- */
-public int getLineNumber() throws CoreException;
-/**
- * Returns starting source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char start value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_START</code> marker attribute
- */
-public int getCharStart() throws CoreException;
-/**
- * Returns ending source index in the original source that corresponds
- * to the location of this breakpoint, or -1 if the attribute is not present.
- *
- * @return this breakpoint's char end value, or -1 if unknown
- * @exception CoreException if a <code>CoreException</code> is thrown
- * 	while accessing the underlying <code>IMarker.CHAR_END</code> marker attribute
- */
-public int getCharEnd() throws CoreException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
deleted file mode 100644
index 63eb722..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A delegate that provides a value represengting the logical structure of a raw
- * implementation value from a debug model. Associated with a logical structure
- * type extension.
- * <p>
- * Clients contributing logical structure types should implement this
- * interface.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.ILogicalStructureType
- */
-public interface ILogicalStructureTypeDelegate {
-	
-	/**
-	 * Returns whether this structure type can provide a logical structure for 
-	 * the given value.
-	 * 
-	 * @param value value for which a logial structure is being requested
-	 * @return whether this structure type can provide a logical structure for 
-	 * the given value
-	 */
-	public boolean providesLogicalStructure(IValue value);
-	
-	/**
-	 * Returns a value representing a logical structure of the given value.
-	 * 
-	 * @param value value for which a logical structure is being requested
-	 * @return value representing logical structure
-	 * @throws CoreException if an exception occurrs generating a logical
-	 *  structure
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
deleted file mode 100644
index 54d248c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A contiguous segment of memory in an execution context.
- * A memory block is represented by a starting memory address
- * and a length. Not all debug architectures support the retrieval
- * of memory blocks.
- * 
- * @see IMemoryBlockRetrieval
- * @since 2.0
- */
-public interface IMemoryBlock extends IDebugElement {
-	
-	/**
-	 * Returns the start address of this memory block.
-	 * 
-	 * @return the start address of this memory block
-	 */
-	public long getStartAddress();
-	
-	/**
-	 * Returns the length of this memory block in bytes.
-	 * 
-	 * @return the length of this memory block in bytes
-	 */	
-	public long getLength();
-	
-	/**
-	 * Returns the values of the bytes currently contained
-	 * in this this memory block.
-	 * 
-	 * @return the values of the bytes currently contained
-	 *  in this this memory block
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */	
-	public byte[] getBytes() throws DebugException;
-	
-	/**
-	 * Returns whether this memory block supports value modification
-	 * 
-	 * @return whether this memory block supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Sets the value of the bytes in this memory block at the specified
-	 * offset within this memory block to the spcified bytes.
-	 * The offset is zero based.
-	 * 
-	 * @param offset the offset at which to set the new values
-	 * @param bytes the new values
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This memory block does not support value modification</li>
-	 * <li>The specified offset is greater than or equal to the length
-	 *   of this memory block, or the number of bytes specified goes
-	 *   beyond the end of this memory block (index of out of range)</li>
-	 * </ul>
-	 */
-	public void setValue(long offset, byte[] bytes) throws DebugException;
-	
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
deleted file mode 100644
index 3efcb1a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * Supports the retrieval of arbitrary blocks of memory.
- * 
- * @see IMemoryBlock
- * @since 2.0
- */
-public interface IMemoryBlockRetrieval {
-	
-	/**
-	 * Returns whether this debug target supports the retrieval
-	 * of memory blocks.
-	 * 
-	 * @return whether this debug target supports the retrieval
-	 *  of memory blocks
-	 */
-	public boolean supportsStorageRetrieval();
-	
-	/**
-	 * Returns a memory block that starts at the specified
-	 * memory address, with the specified length.
-	 * 
-	 * @param startAddress starting address
-	 * @param length length of the memory block in bytes
-	 * @return a memory block that starts at the specified
-	 *  memory address, with the specified length
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * <li>This debug target does not support memory block retrieval</li>
-	 * <li>The specified address and length are not within valid
-	 *  ranges</li>
-	 * </ul>
-	 */
-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException;
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
deleted file mode 100644
index 83f651d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source locator that can be persisted and restored,
- * to be used with a specfic launch configuration.
- * The debug plug-in defines a source locator extension
- * point for persistable source locators.
- * <p>
- * A source locator extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a source locator extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;
- *   &lt;sourceLocator 
- *      id="com.example.ExampleIdentifier"
- *      class="com.example.ExampleSourceLocator"
- *      name="Example Source Locator"&gt;
- *   &lt;/sourceLocator&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this source locator.</li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements <code>IPersistableSourceLocator</code>.</li>
- * <li><code>name</code> a human readable name, describing the type of
- *   this source locator.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see IStackFrame 
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @since 2.0
- */
-public interface IPersistableSourceLocator extends ISourceLocator {
-	
-	/**
-	 * Returns a memento that can be used to reconstruct
-	 * this source locator
-	 * 
-	 * @return a memento that can be used to reconstruct
-	 *  this source locator
-	 * @exception CoreException if unable to construct a memento
-	 */
-	public String getMemento() throws CoreException;
-	
-	/**
-	 * Initializes this source locator based on the given
-	 * memento.
-	 * 
-	 * @param memento a memento to initialize this source locator
-	 * @exception CoreException on failure to initialize 
-	 */
-	public void initializeFromMemento(String memento) throws CoreException;
-	
-	/**
-	 * Initializes this source locator to perform default
-	 * source lookup for the given launch configuration.
-	 * 
-	 * @param configuration launch configuration this source locator
-	 *  will be performing souce lookup for
-	 * @exception CoreException on failure to initialize
-	 */
-	public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException;
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
deleted file mode 100644
index 8621b99..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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 6a2161b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register is a special kind of variable that is contained
- * in a register group. Each register has a name and a value.
- * Not all debug architectures provide access to registers.
- * 
- * @since 2.0
- */
-public interface IRegister extends IVariable {
-	
-	/**
-	 * Returns the register group this register is contained in.
-	 * 
-	 * @return the register group this register is contained in
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegisterGroup getRegisterGroup() throws DebugException; 
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
deleted file mode 100644
index 8c54c03..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A register group is a group of registers that are
- * assigned to a stack frame. Some debug architectures
- * provide access to registers, and registers are often
- * grouped logically. For example, a floating point
- * register group. 
- * 
- * @since 2.0
- */
-public interface IRegisterGroup extends IDebugElement {
-	
-
-	/**
-	 * Returns the name of this register group.
-	 * 
-	 * @return this register group's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the registers in this register group.
-	 * 
-	 * @return the registers in this register group
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IRegister[] getRegisters() throws DebugException;
-	
-	/**
-	 * Returns whether this register group currently contains any registers.
-	 * 
-	 * @return whether this register group currently contains any registers
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean hasRegisters() throws DebugException;	
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
deleted file mode 100644
index 64de705..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.model.IStackFrame;
-
-/**
- * A source locator locates source elements for stack frames. A launch (optionally)
- * specifies a source locator which is
- * used to locate source for that debug session. If a launch does not
- * provide a source locator, source cannot be displayed.
- * Abstraction of source lookup allows clients to hide implementation
- * details of source location and representation.
- * <p>
- * Generally, an implementor of a debug model will also implement launch configuration types,
- * delegates, and source locators that work together as a whole. That is, the implementation
- * of a source locator will have knowledge of how to locate a source element
- * for a stack frame. For example, a Java stack frame could define API which
- * specifies a source file name. A Java source locator would use this information
- * to locate the associated file in the workspace.
- * </p>
- * <p>
- * Source is displayed by the debug UI plug-in. The debug UI uses a source locator
- * to resolve an object representing the source for a stack frame, and then uses
- * a debug model presentation to determine the editor and editor input to use to
- * display the actual source in an editor.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.ILaunch
- * @see org.eclipse.debug.core.model.IStackFrame 
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- */
-public interface ISourceLocator {
-	
-	/**
-	 * Returns a source element that corresponds to the given stack frame, or
-	 * <code>null</code> if a source element could not be located. The object returned
-	 * by this method will be used by the debug UI plug-in to display source.
-	 * The debug UI uses the debug model presentation associated
-	 * with the given stack frame's debug model to translate a source object into an
-	 * {editor input, editor id} pair in which to display source.
-	 * <p>
-	 * For example, a java source locator could return an object representing a
-	 * compilation unit or class file. The java debug model presentation would
-	 * then be responsible for providing an editor input and editor id for each
-	 * compilation unit and class file such that the debug UI could display source.
-	 * </p>
-	 *
-	 * @param stackFrame the stack frame for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(IStackFrame stackFrame);
-
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
deleted file mode 100644
index 430c58d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A stack frame represents an execution context in a suspended thread.
- * A stack frame contains variables representing visible locals and arguments at
- * the current execution location. Minimally, a stack frame supports
- * the following:
- * <ul>
- * <li>suspend/resume (convenience to resume this stack frame's thread)
- * <li>stepping
- * <li>termination (convenience to terminate this stack frame's thread or debug target)
- * </ul>
- * <p>
- * A debug model implementation may choose to re-use or discard
- * stack frames on iterative thread suspensions. Clients
- * cannot assume that stack frames are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * A debug model implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if stack frames are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list. 
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IStep
- * @see ISuspendResume
- * @see ITerminate
- */
-public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate {
-	/**
-	 * Returns the thread this stack frame is contained in.
-	 * 
-	 * @return thread
-	 * @since 2.0
-	 */
-	public IThread getThread();
-	/**
-	 * Returns the visible variables in this stack frame. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return collection of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame currently contains any visible variables.
-	 * 
-	 * @return whether this stack frame currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;
-		
-	/**
-	 * Returns the line number of the instruction pointer in 
-	 * this stack frame that corresponds to a line in an associated source
-	 * element, or <code>-1</code> if line number information
-	 * is unavailable.
-	 *
-	 * @return line number of instruction pointer in this stack frame, or 
-	 * <code>-1</code> if line number information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public int getLineNumber() throws DebugException;
-	
-	/**
-	 * Returns the index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the first character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharStart() throws DebugException;
-	
-	/**
-	 * Returns the index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable.
-	 * <p>
-	 * If a debug model supports expression level stepping, the start/end
-	 * character ranges are used to highlight the expression within a line
-	 * that is being executed.
-	 * </p>
-	 * @return index of the last character in the associated source
-	 * element that corresponds to the current location of the instruction pointer
-	 * in this stack frame, or <code>-1</code> if the information is unavailable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public int getCharEnd() throws DebugException;	
-		
-	/**
-	 * Returns the name of this stack frame. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this frame's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 */
-	public String getName() throws DebugException;
-	
-	/**
-	 * Returns the register groups assigned to this stack frame,
-	 * or an empty collection if no register groups are assigned
-	 * to this stack frame.
-	 * 
-	 * @return the register groups assigned to this stack frame
-	 *  or an empty collection if no register groups are assigned
-	 *  to this stack frame
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IRegisterGroup[] getRegisterGroups() throws DebugException;
-	
-	/**
-	 * Returns whether this stack frame contains any register groups.
-	 * 
-	 * @return whether this stack frame contains any visible register groups
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasRegisterGroups() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
deleted file mode 100644
index 587f58b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.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 204ccec..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * Support for step filters for a debug target. A debug target
- * that supports step filters should implement this interface.
- * Step filters can be toggled on/off for a debug target via
- * this interface. When a step method is called (see
- * <code>IStep</code>), the step implementation must respect
- * the state of the step filters as defined by this interface.
- * This allows step filters to be toggled on/off for
- * all stepping operations (in, over, return).
- * <p>
- * Step filter management is debug model specific - this interface
- * is used only to turn them on/off.
- * </p>
- * <p>
- * In 2.1, the <code>IFilteredStep</code> interface was used
- * to implement step filtering. The <code>IFilteredStep</code>
- * interface is now deprecated, and this inteface should be used
- * in its place to allow filters to be applied to any step
- * function.
- * </p>
- * <p>
- * Clients may implement this interface. Debug targets that support
- * step filters should implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStep
- * @since 3.0
- */
-public interface IStepFilters {
-	
-	/**
-	 * Returns whether this debug target supports step filters.
-	 *
-	 * @return whether this debug target supports step filters
-	 */
-	public boolean supportsStepFilters();
-	
-	/**
-	 * Returns whether step filters are currently enabled in this
-	 * debug target.
-	 * 
-	 * @return whether step filters are currently enabled in this
-	 * debug target
-	 */
-	public boolean isStepFiltersEnabled();
-	
-	/**
-	 * Sets whether step filters are enabled in this debug target.
-	 * 
-	 * @param enabled whether step filters are enabled in this debug target
-	 */
-	public void setStepFiltersEnabled(boolean enabled);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
deleted file mode 100644
index 5051a80..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.IStreamListener;
-
-/**
- * A stream monitor manages the contents of the stream a process
- * is writing to, and notifies registered listeners of changes in
- * the stream.
- * <p>
- * Clients may implement this interface. Generally, a client that
- * provides an implementation of the <code>IStreamsProxy</code>
- * interface must also provide an implementation of this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IStreamsProxy
- * @see org.eclipse.debug.core.model.IFlushableStreamMonitor
- */
-public interface IStreamMonitor {
-	/**
-	 * Adds the given listener to this stream monitor's registered listeners.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener the listener to add
-	 */
-	public void addListener(IStreamListener listener);
-	/**
-	 * Returns the entire current contents of the stream. An empty
-	 * String is returned if the stream is empty.
-	 *
-	 * @return the stream contents as a <code>String</code>
-	 */
-	public String getContents();
-	/**
-	 * Removes the given listener from this stream monitor's registered listeners.
-	 * Has no effect if the listener is not already registered.
-	 *
-	 * @param listener the listener to remove
-	 */
-	public void removeListener(IStreamListener listener);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
deleted file mode 100644
index b2f53f7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import java.io.IOException;
-
-/**
- * A streams proxy acts as proxy between the streams of a
- * process and interested clients. This abstraction allows
- * implementations of <code>IProcess</code> to handle I/O related
- * to the standard input, output, and error streams associated
- * with a process.
- * <p>
- * Clients implementing the <code>IProcess</code> interface must also
- * provide an implementation of this interface.
- * </p>
- * @see IProcess
- */
-public interface IStreamsProxy {
-	/**
-	 * Returns a monitor for the error stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the error stream of the
-	 * associated process.
-	 *
-	 * @return an error stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getErrorStreamMonitor();
-	/**
-	 * Returns a monitor for the output stream of this proxy's process,
-	 * or <code>null</code> if not supported.
-	 * The monitor is connected to the output stream of the
-	 * associated process.
-	 *
-	 * @return an output stream monitor, or <code>null</code> if none
-	 */
-	public IStreamMonitor getOutputStreamMonitor();
-	/**
-	 * Writes the given text to the output stream connected to the
-	 * standard input stream of this proxy's process.
-	 *
-	 * @param input the text to be written
-	 * @exception IOException when an error occurs writing to the 
-	 *		underlying <code>OutputStream</code>.
-	 *
-	 */
-	public void write(String input) throws IOException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
deleted file mode 100644
index e45952c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to suspend and resume a thread
- * or debug target.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ISuspendResume {
-	/**
-	 * Returns whether this element can currently be resumed.
-	 *
-	 * @return whether this element can currently be resumed
-	 */
-	public boolean canResume();
-	/**
-	 * Returns whether this element can currently be suspended.
-	 *
-	 * @return whether this element can currently be suspended
-	 */
-	public boolean canSuspend();
-	/**
-	 * Returns whether this element is currently suspended.
-	 *
-	 * @return whether this element is currently suspended
-	 */
-	public boolean isSuspended();
-	/**
-	 * Causes this element to resume its execution, generating a <code>RESUME</code> event. 
-	 * Has no effect on an element that is not suspended. This call is non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void resume() throws DebugException;
-	/**
-	 * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event.
-	 * Has no effect on an already suspended element.
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void suspend() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
deleted file mode 100644
index bf8a445..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to terminate an execution
- * context - for example, a thread, debug target or process.
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface ITerminate {
-	/**
-	 * Returns whether this element can be terminated.
-	 *
-	 * @return whether this element can be terminated
-	 */
-	public boolean canTerminate();
-	/**
-	 * Returns whether this element is terminated.
-	 *
-	 * @return whether this element is terminated
-	 */
-	public boolean isTerminated();
-	/**
-	 * Causes this element to terminate, generating a <code>TERMINATE</code> event.  
-	 * Implementations may be blocking or non-blocking.
-	 *
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void terminate() throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
deleted file mode 100644
index a737419..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A thread is a sequential flow of execution in a debug target.
- * A thread contains stack frames.  Stack frames are only available when the
- * thread is suspended, and are returned in top-down order.
- * Minimally, a thread supports the following:
- * <ul>
- * <li>suspend/resume
- * <li>stepping
- * <li>terminate
- * </ul>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISuspendResume
- * @see IStep
- * @see ITerminate
- * @see IStackFrame
- */
-
-public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminate {
-	/**
-	 * Returns the stack frames contained in this thread. An
-	 * empty collection is returned if this thread contains
-	 * no stack frames, or is not currently suspended. Stack frames
-	 * are returned in top down order.
-	 * 
-	 * @return a collection of stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IStackFrame[] getStackFrames() throws DebugException;
-	
-	/**
-	 * Returns whether this thread currently contains any stack
-	 * frames.
-	 * 
-	 * @return whether this thread currently contains any stack frames
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasStackFrames() throws DebugException;
-	
-	/**
-	 * Returns the priority of this thread. The meaning of this
-	 * number is operating-system dependent.
-	 *
-	 * @return thread priority
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public int getPriority() throws DebugException;
-	/** 
-	 * Returns the top stack frame or <code>null</code> if there is
-	 * currently no top stack frame.
-	 *
-	 * @return the top stack frame, or <code>null</code> if none
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IStackFrame getTopStackFrame() throws DebugException;
-	/**
-	 * Returns the name of this thread. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this thread's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;
-
-	/**
-	 * Returns the breakpoints that caused this thread to suspend,
-	 * or an empty collection if this thread is not suspended or
-	 * was not suspended by a breakpoint. Usually a single breakpoint
-	 * will be returned, but this collection can contain more than
-	 * one breakpoint if two breakpoints are at the same location in
-	 * a program.
-	 *
-	 * @return the collection of breakpoints that caused this thread to suspend
-	 */
-	public IBreakpoint[] getBreakpoints();	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
deleted file mode 100644
index ef16707..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A value represents the value of a variable.
- * A value representing a complex data structure contains variables.
- * <p>
- * An implementation may choose to re-use or discard
- * values on iterative thread suspensions. Clients
- * cannot assume that values are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * An implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if variables are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list or tree.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-
-
-public interface IValue extends IDebugElement {
-	
-	/**
-	 * Returns a description of the type of data this value contains
-	 * or references.
-	 * 
-	 * @return the name of this value's reference type
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getReferenceTypeName() throws DebugException;
-	
-	/**
-	 * Returns this value as a <code>String</code>.
-	 *
-	 * @return a String representation of this value
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getValueString() throws DebugException;
-		
-	/**
-	 * Returns whether this value is currently allocated.
-	 * <p>
-	 * For example, if this value represents
-	 * an object that has been garbage collected, <code>false</code> is returned.
-	 * </p>
-	 * @return whether this value is currently allocated
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public boolean isAllocated() throws DebugException;
-	/**
-	 * Returns the visible variables in this value. An empty
-	 * collection is returned if there are no visible variables.
-	 * 
-	 * @return an array of visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public IVariable[] getVariables() throws DebugException;
-	
-	/**
-	 * Returns whether this value currently contains any visible variables.
-	 * 
-	 * @return whether this value currently contains any visible variables
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the debug target.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean hasVariables() throws DebugException;	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
deleted file mode 100644
index d04c5eb..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * Provides the ability to modify the value of a variable in
- * a target.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IVariable
- */
-public interface IValueModification {
-
-	/**
-	 * Attempts to set the value of this variable to the
-	 * value of the given expression.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public void setValue(String expression) throws DebugException;
-	
-	/**
-	 * Sets the value of this variable to the given value.
-	 *
-	 * @param value a new value
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public void setValue(IValue value) throws DebugException;	
-	
-	/**
-	 * Returns whether this variable supports value modification.
-	 *
-	 * @return whether this variable supports value modification
-	 */
-	public boolean supportsValueModification();
-	
-	/**
-	 * Returns whether the given expression is valid to be used in
-	 * setting a new value for this variable.
-	 *
-	 * @param expression an expression to generate a new value
-	 * @return whether the expression is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 */
-	public boolean verifyValue(String expression) throws DebugException;
-	
-	/**
-	 * Returns whether the given value can be used as
-	 * a new value for this variable.
-	 *
-	 * @param value a new value
-	 * @return whether the value is valid
-	 * @exception DebugException on failure. Reasons include:<ul>
-	 * <li>TARGET_REQUEST_FAILED - The request failed in the target
-	 * <li>NOT_SUPPORTED - The capability is not supported by the target
-	 * </ul>
-	 * @since 2.0
-	 */
-	public boolean verifyValue(IValue value) throws DebugException;
-}
-
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
deleted file mode 100644
index b67cbdc..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
- 
-import org.eclipse.debug.core.DebugException;
-
-/**
- * A variable represents a visible data structure in a stack frame
- * or value.
- * Each variable has a value which may in turn contain more variables.
- * A variable may support value modification.
- * <p>
- * An implementation may choose to re-use or discard
- * variables on iterative thread suspensions. Clients
- * cannot assume that variables are identical or equal across
- * iterative thread suspensions and must check for equality on iterative
- * suspensions if they wish to re-use the objects.
- * </p>
- * <p>
- * An implementation that preserves equality
- * across iterative suspensions may display more desirable behavior in
- * some clients. For example, if variables are preserved
- * while stepping, a UI client would be able to update the UI incrementally,
- * rather than collapse and redraw the entire list or tree.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IValue
- * @see IStackFrame
- * @see IValueModification
- */
-public interface IVariable extends IDebugElement, IValueModification {
-	/**
-	 * Returns the value of this variable.
-	 * 
-	 * @return this variable's value
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public IValue getValue() throws DebugException;
-	/**
-	 * Returns the name of this variable. Name format is debug model
-	 * specific, and should be specified by a debug model.
-	 *
-	 * @return this variable's name
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getName() throws DebugException;	
-	/**
-	 * Returns a description of the type of data this variable is
-	 * declared to reference. Note that the declared type of a
-	 * variable and the concrete type of its value are not neccessarily
-	 * the same.
-	 *
-	 * @return the declared type of this variable
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the VM.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getReferenceTypeName() throws DebugException;
-	
-	/** 
-	 * Returns whether this variable's value has changed since the last suspend event. 
-	 * Implementations may choose whether the last suspend event is the last suspend 
-	 * event in this variable's debug target, or within the thread(s) in which this variable 
-	 * is visible. 
-	 * <p>
-	 * Implementations that choose not to implement this function should always
-	 * return <code>false</code>.
-	 * </p>
-	 * 
-	 * @return whether this variable's value has changed since the last suspend event 
-	 * @exception DebugException if an exception occurs determining if this variable's 
-	 *   value has changed since the last suspend event 
-	 */ 
-	public boolean hasValueChanged() throws DebugException; 
-
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
deleted file mode 100644
index dbc9892..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-/**
- * A watch expression is an expression that is evaluated in the context
- * of a specific stack frame, thread, debug target, process, or launch.
- * Generally, a watch expression is a snippet of code that is evaluated
- * each time a debug target suspends, or when a user provides a context
- * for an evaluation by selecting a debug target or thread. An expression
- * updates its value when it is provided with a context in which it
- * can perform an evaluation. 
- * <p>
- * Clients are not intended to implement this interface. An implementation
- * is provided by the debug platform. Clients that support watch expressions
- * should contribute and implement a watch exrepssion delegate. Watch
- * expressions can be created via the <code>IExpressionManager</code>.
- * </p>
- * @see org.eclipse.debug.core.model.IWatchExpressionDelegate
- * @see org.eclipse.debug.core.IExpressionManager
- * @since 3.0
- */
-public interface IWatchExpression extends IErrorReportingExpression {
-	
-	/**
-	 * Updates this watch expression's value based on the current evaluation
-	 * context. This watch expression fires a debug change event when the
-	 * evaluation is complete. A watch expression can be asked to
-	 * evaluate even when it is disabled. Note that implementations should
-	 * generally be asynchronous to avoid blocking the calling thread. 
-	 */
-	public void evaluate();
-	/**
-	 * Sets the context for this watch expression, or <code>null</code> if none.
-	 * If the given context is valid for this expression, this expression may
-	 * update its value. When the value update is complete, a debug change event is
-	 * fired. When <code>null</code> is specified as a context, this expression
-	 * may choose to retain its previous value.
-	 * <p>
-	 * The context is usually one of (but not limited to):
-	 * <ul>
-	 * <li>a debug target (<code>IDebugTarget</code>)</li>
-	 * <li>a thread (<code>IThread</code>)</li>
-	 * <li>a stack frame (<code>IStackFrame</code>)</li>
-	 * </ul>
-	 * </p>
-	 *  
-	 * @param context context in which to update this expression's value, or
-	 * 	<code>null</code> if none
-	 */
-	public void setExpressionContext(IDebugElement context);
-	/**
-	 * Sets this watch expression's snippet of code. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param expressionText the snippet which will be evaluated
-	 */
-	public void setExpressionText(String expressionText);
-	/**
-	 * Returns whether the result of this watch expression is pending.
-	 * An expression is pending if an evaluation has been requested, but
-	 * the value has not yet been returned.
-	 * 
-	 * @return whether this expression's result is pending
-	 */
-	public boolean isPending();
-	/**
-	 * Returns whether this expression is enabled. An enabled expression will
-	 * update its value. A disabled expression will not.
-	 * 
-	 * @return whether this expression is enabled
-	 */
-	public boolean isEnabled();
-	/**
-	 * Sets this expression's enabled state. This method
-	 * causes the new snippet to be evaluated immediately in
-	 * the expression's last context.
-	 * 
-	 * @param enabled whether this expression should be enabled
-	 */
-	public void setEnabled(boolean enabled);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
deleted file mode 100644
index 30a669a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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 8b1baa0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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 c1f35aa..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import org.eclipse.debug.core.DebugException;
-
-/**
- * The 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.
- * 
- * @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/LaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
deleted file mode 100644
index 8e4bc84..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * Default implementation of a launch configuration delegate. Provides
- * convenience methods for computing the build order of projects,
- * building projects, and searching for errors in the workspace. The
- * default pre-launch check prompts the user to launch in debug mode
- * if breakpoints are present in the workspace. 
- * <p>
- * Clients implementing launch configration delegates should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class LaunchConfigurationDelegate implements ILaunchConfigurationDelegate2 {
-	
-	/**
-	 * Status code for which a UI prompter is registered.
-	 */
-	protected static final IStatus promptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if they
-	 * want to launch in debug mode when breakpoints are present.
-	 */
-	protected static final IStatus switchToDebugPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 201, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	/**
-	 * Status code for which a prompter is registered to ask the user if the
-	 * want to continue launch despite existing compile errors
-	 */
-	protected static final IStatus complileErrorPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 202, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		IProject[] projects = getBuildOrder(configuration, mode);
-		if (projects == null) {
-			return true;
-		} 
-		buildProjects(projects, monitor);
-		return false;
-	}
-	
-	/**
-	 * Returns the projects to build before launching the given launch configuration
-	 * or <code>null</code> if the entire workspace should be built incrementally.
-	 * Subclasses should override as required.
-	 * 
-	 * @param configuration the configuration being launched
-	 * @param mode launch mode
-	 * @return projects to build, in build order, or <code>null</code>
-	 * @throws CoreException if an exception occurrs
-	 */
-	protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-	
-	/**
-	 * Returns the set of projects to use when searching for errors or <code>null</code> 
-	 * if no search is to be done.  
-	 * 
-	 * @param projects the list of projects to sort into build order
-	 * @return a list of projects.
-	 */
-	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.getString("LaunchConfigurationDelegate.6")); //$NON-NLS-1$
-		for (int i = 0; i < projects.length; i++) {
-			monitor.subTask(DebugCoreMessages.getString("LaunchConfigurationDelegate.7") + projects[i].getName()); //$NON-NLS-1$
-			if (existsProblems(projects[i])) {
-				IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-				if (prompter != null) {
-					continueLaunch = ((Boolean) prompter.handleStatus(complileErrorPromptStatus, configuration)).booleanValue();
-					break;
-				}
-			}	
-		}	
-			
-		return continueLaunch;
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * If launching in run mode, and the configuration supports debug mode, check
-	 * if there are any breakpoints in the workspace, and ask the user if they'd
-	 * rather launch in debug mode.
-	 * 
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		if (mode.equals(ILaunchManager.RUN_MODE)  && configuration.supportsMode(ILaunchManager.DEBUG_MODE)) {
-			IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-			if (!breakpointManager.isEnabled()) {
-				// no need to check breakpoints individually.
-				return true; 
-			}
-			IBreakpoint[] breakpoints = breakpointManager.getBreakpoints();
-			for (int i = 0; i < breakpoints.length; i++) {
-				if (breakpoints[i].isEnabled()) {
-					IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
-					if (prompter != null) {
-						boolean lauchInDebugModeInstead = ((Boolean)prompter.handleStatus(switchToDebugPromptStatus, configuration)).booleanValue();
-						if (lauchInDebugModeInstead) { 
-							return false; //kill this launch
-						} 
-					}
-					// if no user prompt, or user says to continue (no need to check other breakpoints)
-					return true;
-				}
-			}
-		}	
-		// no enabled breakpoints... continue launch
-		return true;
-	}
-	
-	/**
-	 * Returns an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * and all of their referenced projects.
-	 *  
-	 * @param baseProjects a collection of projetcs
-	 * @return an array of projects in their suggested build order
-	 * containing all of the projects specified by <code>baseProjects</code>
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected IProject[] computeReferencedBuildOrder(IProject[] baseProjects) throws CoreException {
-		HashSet unorderedProjects = new HashSet();
-		for(int i = 0; i< baseProjects.length; i++) {
-			unorderedProjects.add(baseProjects[i]);
-			addReferencedProjects(baseProjects[i], unorderedProjects);
-		}
-		IProject[] projectSet = (IProject[]) unorderedProjects.toArray(new IProject[unorderedProjects.size()]);
-		return computeBuildOrder(projectSet);
-	}
-	
-	
-	/**
-	 * Adds all projects referenced by <code>project</code> to the given
-	 * set.
-	 * 
-	 * @param project project
-	 * @param references set to which referenced projects are added
-	 * @throws CoreException if an error occurs while computing referenced
-	 *  projects
-	 */
-	protected void addReferencedProjects(IProject project, Set references) throws CoreException{
-		if (project.isOpen()) {
-			IProject[] projects = project.getReferencedProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject refProject= projects[i];
-				if (refProject.exists() && !references.contains(refProject)) {
-					references.add(refProject);
-					addReferencedProjects(refProject, references);
-				}
-			}		
-		}
-	}
-	
-	/**  
-	 * Returns a list of projects in their suggested build order from the
-	 * given unordered list of projects.
-	 * 
-	 * @param projects the list of projects to sort into build order
-	 * @return a new array containing all projects from <code>projects</code> sorted
-	 *   according to their build order.
-	 */
-	protected IProject[] computeBuildOrder(IProject[] projects) { 
-		String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription().getBuildOrder();
-		if (orderedNames != null) {
-			List orderedProjects = new ArrayList(projects.length);
-			//Projects may not be in the build order but should be built if selected
-			List unorderedProjects = Arrays.asList(projects);
-			
-			for (int i = 0; i < orderedNames.length; i++) {
-				String projectName = orderedNames[i];
-				for (Iterator iterator = unorderedProjects.iterator(); iterator.hasNext(); ) {
-					IProject project = (IProject)iterator.next();
-					if (project.getName().equals(projectName)) {
-						orderedProjects.add(project);
-						iterator.remove();
-						break;
-					}
-				}
-			}
-			//Add anything not specified before we return
-			orderedProjects.addAll(unorderedProjects);
-			return (IProject[]) orderedProjects.toArray(new IProject[orderedProjects.size()]);
-		}
-		
-		// Computing build order returned null, try the project prerequisite order
-		IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace().computeProjectOrder(projects);
-		return po.projects;
-	}	
-	
-	/**
-	 * Returns whether the given project contains any problem markers of the
-	 * specified severity.
-	 * 
-	 * @param proj the project to search
-	 * @return whether the given project contains any problems that should
-	 *  stop it from launching
-	 * @throws CoreException if an error occurs while searching for
-	 *  problem markers
-	 */
-	protected boolean existsProblems(IProject proj) throws CoreException {
-		IMarker[] markers = proj.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
-		if (markers.length > 0) {
-			for (int i = 0; i < markers.length; i++) {
-				if (isLaunchProblem(markers[i])) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given problem should potentially abort the launch.
-	 * By default if the problem has an error severity, the problem is considered
-	 * a potential launch problem. Subclasses may override to specialize error
-	 * detection.
-	 * 
-	 * @param problemMarker candidate problem
-	 * @return whether the given problem should potentially abort the launch
-	 * @throws CoreException if any exceptions occurr while accessing marker attributes
-	 */
-	protected boolean isLaunchProblem(IMarker problemMarker) throws CoreException {
-		return ((Integer)problemMarker.getAttribute(IMarker.SEVERITY)).intValue() >= IMarker.SEVERITY_ERROR;
-	}
-	
-	/**
-	 * Performs an incremental build on each of the given projects.
-	 * 
-	 * @param projects projects to build
-	 * @param monitor progress monitor
-	 * @throws CoreException if an exception occurrs while building
-	 */
-	protected void buildProjects(IProject[] projects, IProgressMonitor monitor) throws CoreException {
-		for (int i = 0; i < projects.length; i++ ) {
-			projects[i].build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
deleted file mode 100644
index c43f355..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * Abstract implementation of a line breakpoint. This class is
- * intended to be subclassed by debug model specific implementations
- * of line breakpoints.
- * 
- * @see ILineBreakpoint
- */
-
-public abstract class LineBreakpoint extends Breakpoint implements ILineBreakpoint {
-	
-
-	/**
-	 * @see ILineBreakpoint#getLineNumber()
-	 */
-	public int getLineNumber() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.LINE_NUMBER, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharStart()
-	 */
-	public int getCharStart() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_START, -1);
-		}
-		return -1;
-	}
-
-	/**
-	 * @see ILineBreakpoint#getCharEnd()
-	 */
-	public int getCharEnd() throws CoreException {
-		IMarker m = getMarker();
-		if (m != null) {
-			return m.getAttribute(IMarker.CHAR_END, -1);
-		}
-		return -1;
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
deleted file mode 100644
index 13b9c40..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-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.Job;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.StreamsProxy;
-
-
-/**
- * Standard implementation of an <code>IProcess</code> that wrappers a system
- * process (<code>java.lang.Process</code>).
- * <p>
- * Clients may subclass this class. Clients that need to replace the implementation
- * of a streams proxy associatd with an <code>IProcess</code> should subclass this
- * class. Generally clients should not instantiate this class directly, but should
- * instead call <code>DebugPlugin.newProcess(...)</code>, which can delegate to an 
- * <code>IProcessFactory</code> if one is referenced by the associated launch configuration.
- * </p>
- * @see org.eclipse.debug.core.model.IProcess
- * @see org.eclipse.debug.core.IProcessFactory
- * @since 3.0
- */
-public class RuntimeProcess extends PlatformObject implements IProcess {
-
-	private static final int MAX_WAIT_FOR_DEATH_ATTEMPTS = 10;
-	private static final int TIME_TO_WAIT_FOR_THREAD_DEATH = 500; // ms
-	
-	/**
-	 * The launch this process is contained in
-	 */
-	private ILaunch fLaunch;
-	
-	/**
-	 * The system process represented by this <code>IProcess</code>
-	 */
-	private Process fProcess;
-	
-	/**
-	 * This process's exit value
-	 */
-	private int fExitValue;
-	
-	/**
-	 * The monitor which listens for this runtime process' system process
-	 * to terminate.
-	 */
-	private ProcessMonitorJob 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;
-
-	/**
-	 * Constructs a RuntimeProcess on the given system process
-	 * with the given name, adding this process to the given
-	 * launch.
-	 * 
-	 * @param launch the launch this process will be parented by
-	 * @param process underlyig system process
-	 * @param name the label used for this process
-	 * @param attributes map of attributes used to initialize the attributes
-	 *   of this process, or <code>null</code> if none
-	 */
-	public RuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
-		setLaunch(launch);
-		initializeAttributes(attributes);
-		fProcess= process;
-		fName= name;
-		fTerminated= true;
-		try {
-			process.exitValue();
-		} catch (IllegalThreadStateException e) {
-			fTerminated= false;
-		}
-		fStreamsProxy= createStreamsProxy();
-		fMonitor = new ProcessMonitorJob(this);
-		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()) {
-			fProcess.destroy();
-			if (fStreamsProxy instanceof StreamsProxy) {
-				((StreamsProxy)fStreamsProxy).kill();
-			}
-			int attempts = 0;
-			while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {
-				try {
-					if (fProcess != null) {
-						fExitValue = fProcess.exitValue(); // throws exception if process not exited
-					}
-					return;
-				} catch (IllegalThreadStateException ie) {
-				}
-				try {
-					Thread.sleep(TIME_TO_WAIT_FOR_THREAD_DEATH);
-				} catch (InterruptedException e) {
-				}
-				attempts++;
-			}
-			// clean-up
-			if (fMonitor != null) {
-				fMonitor.killJob();
-				fMonitor = null;
-			}
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("RuntimeProcess.terminate_failed"), null);		 //$NON-NLS-1$
-			throw new DebugException(status);
-		}
-	}
-
-	/**
-	 * Notification that the system process associated with this process
-	 * has terminated.
-	 */
-	protected void terminated() {
-		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() {
-		return fStreamsProxy;
-	}
-	
-	/**
-	 * Returns the streams proxy associated with this process.
-	 * 
-	 * @return streams proxy
-	 */
-	protected IStreamsProxy createStreamsProxy() {
-		return new StreamsProxy(getSystemProcess());
-	}
-	
-	/**
-	 * Fires a creation event.
-	 */
-	protected void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-
-	/**
-	 * Fires the given debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	protected void fireEvent(DebugEvent event) {
-		DebugPlugin manager= DebugPlugin.getDefault();
-		if (manager != null) {
-			manager.fireDebugEventSet(new DebugEvent[]{event});
-		}
-	}
-
-	/**
-	 * Fires a terminate event.
-	 */
-	protected void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}
-
-	/**
-	 * Fires a change event.
-	 */	
-	protected void fireChangeEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE));
-	}
-
-	/**
-	 * @see IProcess#setAttribute(String, String)
-	 */
-	public void setAttribute(String key, String value) {
-		if (fAttributes == null) {
-			fAttributes = new HashMap(5);
-		}
-		Object origVal = fAttributes.get(key);
-		if (origVal != null && origVal.equals(value)) {
-			return; //nothing changed.
-		}
-		
-		fAttributes.put(key, value);
-		fireChangeEvent();
-	}
-	
-	/**
-	 * @see IProcess#getAttribute(String)
-	 */
-	public String getAttribute(String key) {
-		if (fAttributes == null) {
-			return null;
-		}
-		return (String)fAttributes.get(key);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IProcess.class)) {
-			return this;
-		}
-		if (adapter.equals(IDebugTarget.class)) {
-			ILaunch launch = getLaunch();
-			IDebugTarget[] targets = launch.getDebugTargets();
-			for (int i = 0; i < targets.length; i++) {
-				if (this.equals(targets[i].getProcess())) {
-					return targets[i];
-				}
-			}
-			return null;
-		}
-		return super.getAdapter(adapter);
-	}
-	/**
-	 * @see IProcess#getExitValue()
-	 */
-	public int getExitValue() throws DebugException {
-		if (isTerminated()) {
-			return fExitValue;
-		} 
-		throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.getString("RuntimeProcess.Exit_value_not_available_until_process_terminates._1"), null)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Monitors a system process, waiting for it to terminate, and
-	 * then notifies the associated runtime process.
-	 */
-	class ProcessMonitorJob extends Job {
-		/**
-		 * The underlying <code>java.lang.Process</code> being monitored.
-		 */
-		protected Process fOSProcess;	
-		/**
-		 * The <code>IProcess</code> which will be informed when this
-		 * monitor detects that the underlying process has terminated.
-		 */
-		protected RuntimeProcess fRuntimeProcess;
-
-		/**
-		 * The <code>Thread</code> which is monitoring the underlying process.
-		 */
-		protected Thread fThread;
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus run(IProgressMonitor monitor) {
-			fThread = Thread.currentThread();
-			while (fOSProcess != null) {
-				try {
-					fOSProcess.waitFor();
-				} catch (InterruptedException ie) {
-					// clear interrupted state
-					Thread.interrupted();
-				} finally {
-					fOSProcess = null;
-					fRuntimeProcess.terminated();
-				}
-			}
-			fThread = null;
-			return Status.OK_STATUS;
-		}
-
-		/**
-		 * Creates a new process monitor and starts monitoring the process
-		 * for termination.
-		 */
-		public ProcessMonitorJob(RuntimeProcess process) {
-			super(DebugCoreMessages.getString("ProcessMonitorJob.0")); //$NON-NLS-1$
-			setPriority(Job.INTERACTIVE);
-			setSystem(true);
-			fRuntimeProcess= process;
-			fOSProcess= process.getSystemProcess();
-			schedule();
-		}
-
-		/**
-		 * Kills the monitoring thread.
-		 * 
-		 * This method is to be useful for dealing with the error
-		 * case of an underlying process which has not informed this
-		 * monitor of its termination.
-		 */
-		protected void killJob() {
-			if (fThread == null) {
-				cancel();
-			} else {
-				fThread.interrupt();
-			}
-		}
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 236b565..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for debug model elements, source lookup, and launching.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces known as the &quot;debug model&quot; 
-  which support an extensible set of debug architectures and languages. The debug 
-  model is a set of interfaces representing common artifacts in debuggable programs. 
-  The debug plug-in itself does not provide any implementations of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Debug Model</h4>
-
-<p>A client implements a debug model by
-providing an implementation of the interfaces defined in this package. (There is no explicit
-extension point that represents a debug model). Each debug model provides one or more
-launch configuration types capable of initiating a debug session.</p>
-
-<p>The common elements defined by the debug model are: 
-
-<ul>
-  <li>Debug Target - A debug target represents a debuggable program - for example, a virtual
-    machine or a process.</li>
-  <li>Thread - A debug target may contain one or more threads.</li>
-  <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>
-  <li>Variable - A stack frame may contain variables.</li>
-  <li>Value - Each variable has an associated value, and a value may contain more variables (to
-  	represent complex data structures and objects).</li>
-  <li>Register Group - A stack frame may (optionally) be associated with one or more register
-    groups.</li>
-  <li>Register - A register group contains one or more registers.</li>
-  <li>Memory Blocks - A debug target may (optionally) support the retrieval of
-    arbitrary contiguous segments of memory.</li>
-  <li>Breakpoint - Breakpoints suspend the execution of a program.</li>
-  <li>Expression -  An expression is a snippet of code that can be evaluated to
-  	produce a value.</li>
-</ul>
-
-<p>A debug model implementation is responsible for firing debug events. A debug event
-corresponds to an event in a program being debugged - for example the creation or
-termination of a thread.</p>
-
-<h4>Breakpoints</h4>
-
-<p>Breakpoints are used to suspend the execution of a program being debugged. There are
-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count
-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug
-architecture, and the information required to create those breakpoints
-is dictated by each debug architecture. The debug platform supports an extensible
-set of breakpoint via the breakpoints extension point.</p>
-
-<p>The debug platform provides a breakpoint manager that maintains the collection 
-  of all registered breakpoints. Clients add and remove breakpoints via this manager. 
-  Breakpoints are implemented by instances of <b>IBreakpoint</b>. 
-  Each breakpoint object has an associated marker, which provides persistence 
-  and presentation in editors. The debug platform defines a generic breakpoint 
-  and line breakpoint, as well as their corresponding marker definitions. Breakpoint 
-  creation is a client responsibility - that is, defining the attributes of a 
-  breakpoint and the resource to associate a breakpoint marker with.</p>
-
-<h5>Persistence</h5>
-
-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined 
-  with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints 
-  are restored at workspace startup time by the breakpoint manager - that is, 
-  breakpoint objects are created for all persisted markers which are a subtype 
-  of the root breakpoint marker and are added to the breakpoint manager. To allow 
-  for selective persistence of breakpoints (of the same kind), the <b>IBreakpoint</b> 
-  interface and root breakpoint implementation defines a &quot;persisted&quot; 
-  attribute. If this value is set to false, the breakpoint will not be persisted 
-  across workspace invocations.</p>
-
-<h5>Change Notification</h5>
-
-<p>As breakpoint markers are modified (created, removed, and changed), resource deltas
-are created by the platform. The breakpoint manager translates pertinent resource deltas
-into breakpoint change notifications (breakpoint added/removed/changed messages). Interested
-listeners may register with the breakpoint manager. The breakpoint manager only fires change
-notifications for registered breakpoints. This simplifies breakpoint processing for clients,
-as resource delta traversal and analysis is not required. Debug targets that support breakpoints
-should register for breakpoint change notifications.</p>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
deleted file mode 100644
index d1a8b99..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for launching programs, breakpoint management, expression management,
-and debug events.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support facilities common among 
-  many debug architectures: launching programs, breakpoint management, expression 
-  management, and debug events. An extensible set of debug architectures and languages 
-  are supported by the definition of a &quot;debug model&quot; - a set of interfaces 
-  representing common artifacts in debuggable programs, which are defined in <b>org.eclipse.debug.core.model</b>. 
-  The debug plug-in itself does not provide any implementations of a debug model. 
-  It is intended that third parties providing an integrated set of development 
-  tools for a specific language will also implement a debug model for that language, 
-  using an underlying debug architecture of their choice. For example, Java development 
-  tooling provides an implementation of a debug model based on the standard Java 
-  Platform Debug Architecture (JPDA).</p>
-
-<h4>The Managers</h4>
-
-<p>The debug platform defines and provides an implementation of the following managers:
-<ul>
- <li>Launch Manager - The launch manager maintains the set of registered launches - that is,
- 	a collection of programs that have been launched in debuggable or non-debuggable (run) mode.
- 	Each launch maintains its associated debug targets and system processes. A launch that
- 	represents a debuggable program may specify an associated source locator used to locate
- 	source elements associated with stack frames for a particular debug session. Clients must
- 	provide implementations of source locators, which are generally tied to the manner in which
- 	a program is launched.</li>
- <li>Breakpoint Manager - The breakpoint manager maintains, persists, and restores the collection
-    of all registered breakpoints in the workspace. As well, it provides change notification for
-    breakpoints.</li>
- <li>Expression Manager - The expression manager maintains a collection of registered expressions.
-    Expressions are not automatically persisted, but a client could persist its own expressions
-    if required.</li>
-</ul>
-<p></p>
-
-<h4>Launch Configurations</h4>
-
-<p>A launch configuration is a persistable description of how to launch an application.
- Each launch configuration is an instance of a type of launch configuration - for example,
- a Java Application. The debug plug-in defines a launch configuration type extension point
- such that clients may define launch configurations specific to their debug architecture.
- A launch configuration is simply a set of attributes describing how to launch a program.
- The actual launching of an application is performed
- by an associated implementation of a launch configuration delegate, which is specifed by each launch configuration
- type extension.</p>
-<p>A launch configuration may be stored as a file in the worksapce (and shared in a repository via
- standard team mechanisms), or may be stored locally, essentially making the launch configuration
- private for a single user.</p>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
deleted file mode 100644
index 2b8223e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
+++ /dev/null
@@ -1,701 +0,0 @@
- /*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Directs source lookup among a collection of source lookup participants,
- * and a common collection of source containers.
- * Each source lookup participant is a source locator itself, which allows
- * more than one source locator to participate in source lookup for a
- * launch. Each source lookup participant searches for source in the source
- * containers managed by this director, and each participant is notified
- * of changes in the source containers (i.e. when the set of source
- * containers changes).
- * <p>
- * When a source director is intilaized, it adds it self as a launch listener,
- * and automatically disposes itself when its associated launch is removed
- * from the launch manager. If a source director is instantiated by a client
- * that is not part of a launch, that client is responsible for disposing
- * the source director.
- * </p>
- * <p>
- * This class is yet experimental.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ISourceLocator
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant
- */
-public abstract class AbstractSourceLookupDirector implements ISourceLookupDirector, ILaunchConfigurationListener, ILaunchListener {
-	
-	// source locator type identifire
-	protected String fId;
-	//ISourceLocatorParticipants that are listening for container changes
-	protected ArrayList fParticipants = new ArrayList();
-	//list of current source containers
-	protected ISourceContainer[] fSourceContainers = null;
-	//the launch config associated with this director
-	protected ILaunchConfiguration fConfig; 
-	//whether duplicates should be searched for or not
-	protected boolean fDuplicates = false;
-	// source path computer, or null if default
-	protected ISourcePathComputer fComputer = null;
-	/**
-	 * Cache of resolved source elements when duplicates exist.
-	 * Keys are the duplicates, values are the source element to use.
-	 */
-	protected Map fResolvedElements = null;
-	
-	protected static final IStatus fPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	protected static final IStatus fResolveDuplicatesStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 205, "", null);  //$NON-NLS-1$//$NON-NLS-2$
-	
-	// XML nodes & attributes for persistence
-	protected static final String DIRECTOR_ROOT_NODE = "sourceLookupDirector"; //$NON-NLS-1$
-	protected static final String CONTAINERS_NODE = "sourceContainers"; //$NON-NLS-1$
-	protected static final String DUPLICATES_ATTR = "duplicates"; //$NON-NLS-1$
-	protected static final String CONTAINER_NODE = "container"; //$NON-NLS-1$
-	protected static final String CONTAINER_TYPE_ATTR = "typeId"; //$NON-NLS-1$
-	protected static final String CONTAINER_MEMENTO_ATTR = "memento"; //$NON-NLS-1$
-	  
-	class SourceLookupQuery implements ISafeRunnable {
-		
-		private List fSourceElements = new ArrayList();
-		private Object fElement = null;
-		
-		SourceLookupQuery(Object element) {
-			fElement = element;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			MultiStatus multiStatus = null;
-			CoreException single = null;
-			for(int i=0; i < fParticipants.size(); i++) {
-				Object[] sourceArray;
-				try {
-					sourceArray = ((ISourceLookupParticipant)fParticipants.get(i)).findSourceElements(fElement);
-					if (sourceArray !=null && sourceArray.length > 0) {
-						if (isFindDuplicates()) {
-							for(int j=0; j<sourceArray.length; j++)
-								if(!checkDuplicate(sourceArray[j], fSourceElements))
-									fSourceElements.add(sourceArray[j]);
-						} else {
-							fSourceElements.add(sourceArray[0]);
-							return;
-						}
-					}
-				} catch (CoreException e) {
-					if (single == null) {
-						single = e;
-					} else if (multiStatus == null) {
-						multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.getString("AbstractSourceLookupDirector.19"), null); //$NON-NLS-1$
-						multiStatus.add(e.getStatus());
-					} else {
-						multiStatus.add(e.getStatus());
-					}
-				}
-			}	
-			if (fSourceElements.isEmpty()) {
-				// throw exception if there was one
-				if (multiStatus != null) {
-					throw new CoreException(multiStatus);
-				} else if (single != null) {
-					throw single;
-				}
-			}
-		}
-		
-		public List getSourceElements() {
-			return fSourceElements;
-		}
-
-		public void dispose() {
-			fElement = null;
-			fSourceElements = null;
-		}
-		
-	}
-	
-	/**
-	 * Constructs source lookup director
-	 */
-	public AbstractSourceLookupDirector() {
-	}
-	
-	/**
-	 * Sets the type identifier for this source locator's type
-	 *  
-	 * @param id corresponds to source locator type identifier for a
-	 *  persistable source locator 
-	 */
-	public void setId(String id) {
-		fId = id;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.IPersistableSourceLocator2#dispose()
-	 */
-	public void dispose() {
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchConfigurationListener(this);
-		launchManager.removeLaunchListener(this);
-		Iterator iterator = fParticipants.iterator();
-		while (iterator.hasNext()) {
-			ISourceLookupParticipant participant = (ISourceLookupParticipant) iterator.next();
-			//director may also be a participant
-			if(participant != this)
-				participant.dispose();
-		}
-		fParticipants.clear();
-		if (fSourceContainers != null) {
-			for (int i = 0; i < fSourceContainers.length; i++) {
-				fSourceContainers[i].dispose();
-			}
-		}
-		fSourceContainers = null;
-		fResolvedElements = null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Constructs source containers from a list of container mementos.
-	 * 
-	 * @param list the list of nodes to be parsed
-	 * @exception CoreException if parsing encounters an error
-	 * @return a list of source containers
-	 */
-	private List parseSourceContainers(NodeList list) throws CoreException {
-		List containers = new ArrayList();
-		for (int i=0; i < list.getLength(); i++) {
-			if(!(list.item(i).getNodeType() == Node.ELEMENT_NODE))
- 				continue;
-			Element element = (Element)list.item(i);
-			String typeId = element.getAttribute(CONTAINER_TYPE_ATTR);
-			if (typeId == null || typeId.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.getString("AbstractSourceLookupDirector.11"), null); //$NON-NLS-1$
-			}
-			ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
-			if(type == null) {
-				abort(MessageFormat.format(SourceLookupMessages.getString("AbstractSourceLookupDirector.12"), new String[]{typeId}), null); //$NON-NLS-1$
-			}			
-			String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
-			if (memento == null || memento.equals("")) {	 //$NON-NLS-1$
-				abort(SourceLookupMessages.getString("AbstractSourceLookupDirector.13"), null); //$NON-NLS-1$
-			}
-			ISourceContainer container = type.createSourceContainer(memento);
-			containers.add(container);
-		}	
-		return containers;
-	}
-	
-	/**
-	 * Registers the given source lookup participant. Has no effect if an identical
-	 * participant is already registered. Paticipants receive notification
-	 * when the source containers associated with this source director change. 
-	 * 
-	 * @param participant the particiapant to register
-	 */
-	private void addSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (!fParticipants.contains(participant)) {
-			fParticipants.add(participant);
-			participant.init(this);
-		}	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupDirector#getSourceContainers()
-	 */
-	public 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.internal.core.sourcelookup.ISourceLookupDirector#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {			
-		return fDuplicates;			
-	}
-	
-	/**
-	 * Sets whether source containers should be searched exhaustively for
-	 * applicable source elements or if only the first match should be located.
-	 * 
-	 * @param duplicates whether source containers should be searched exhaustively for
-	 *  applicable source elements or if only the first match should be located
-	 */
-	public void setFindDuplicates(boolean duplicates) {			
-		fDuplicates = duplicates;			
-	}	
-	
-	/**
-	 * Removes the given participant from the list of registered partipants.
-	 * Has no effect if an identical participant is not already registered.
-	 * 
-	 * @param participant the participant to remove
-	 */
-	private void removeSourceLookupParticipant(ISourceLookupParticipant participant) {
-		if (fParticipants.remove(participant)) {
-			participant.dispose();
-		}
-	}	
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Updates source containers in repsonse to changes in underlying launch
-	 * configuration. Only responds to changes in non-working copies.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		if (fConfig == null || configuration.isWorkingCopy()) {
-			return;
-		}
-		if(fConfig.equals(configuration)) {
-			try{
-				String locatorMemento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO,(String)null);
-				if (locatorMemento == null) {
-					initializeDefaults(configuration);
-				} else {
-					initializeFromMemento(locatorMemento, configuration);
-				}
-			} catch (CoreException e){
-			}
-		}
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IPersistableSourceLocator#getMemento()
-	 */
-	public 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 {
-		dispose();
-		Element rootElement = DebugPlugin.parseDocument(memento);		
-		if (!rootElement.getNodeName().equalsIgnoreCase(DIRECTOR_ROOT_NODE)) { 
-			abort(SourceLookupMessages.getString("AbstractSourceLookupDirector.14"), null); //$NON-NLS-1$
-		}
-		NodeList list = rootElement.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				if(entry.getNodeName().equalsIgnoreCase(CONTAINERS_NODE)){
-					setFindDuplicates("true".equals(entry.getAttribute(DUPLICATES_ATTR))); //$NON-NLS-1$
-					NodeList children = entry.getChildNodes();
-					List containers = parseSourceContainers(children);
-					setSourceContainers((ISourceContainer[]) containers.toArray(new ISourceContainer[containers.size()]));
-				}
-			}
-		}
-		initializeParticipants();
-	}
-	
-	/**
-	 * Sets the source containers used by this source lookup
-	 * director.
-	 * 
-	 * @param containers source containers to search
-	 */
-	public void setSourceContainers(ISourceContainer[] containers) {
-		ISourceContainer[] old = getSourceContainers();
-		for (int i = 0; i < old.length; i++) {
-			old[i].dispose();
-		}
-		fSourceContainers = containers;
-		for (int i = 0; i < containers.length; i++) {
-			ISourceContainer container = containers[i];
-			container.init(this);
-		}
-		// clear resolved duplicates
-		fResolvedElements = null;
-		// notify participants
-		ISourceLookupParticipant[] participants = getParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			ISourceLookupParticipant participant = participants[i];
-			participant.sourceContainersChanged(this);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(org.eclipse.debug.core.model.IStackFrame)
-	 * Would be better to accept Object so this can be used for breakpoints and other objects.
-	 */
-	public Object getSourceElement(IStackFrame stackFrame) {
-		return getSourceElement((Object)stackFrame);
-	}
-	
-	/**
-	 * Performs a source lookup query for the given element
-	 * returning the source elements associated with the element.
-	 * 
-	 * @param element stack frame
-	 * @return list of associated source elements
-	 */
-	protected List doSourceLookup(Object element) {
-		SourceLookupQuery query = new SourceLookupQuery(element);
-		Platform.run(query);
-		List sources = query.getSourceElements();
-		query.dispose();
-		return sources;
-	}
-	
-	/**
-	 * Returns the source element to associate with the given element.
-	 * This method is called when more than one source element has been found
-	 * for an element, and allows the source director to select a single
-	 * source element to associate with the element.
-	 * <p>
-	 * Subclasses should override this method as appropriate. For example,
-	 * to prompt the user to choose a source element.
-	 * </p>
-	 * @param element the debug artifact for which source is being searched for
-	 * @param sources the source elements found for the given element
-	 * @return a single source element for the given element
-	 */
-	public Object resolveSourceElement(Object element, List sources) {
-		// check the duplicates cache first
-		Iterator duplicates = sources.iterator();
-		while (duplicates.hasNext()) {
-			Object dup = duplicates.next();
-			Object resolved = getCachedElement(dup);
-			if (resolved != null) {
-				return resolved;
-			}
-		}
-		// consult a status handler
-		IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(fPromptStatus);
-		if (prompter != null) {
-			try {
-				Object result = prompter.handleStatus(fResolveDuplicatesStatus, new Object[]{element, sources});
-				if (result != null) {
-					cacheResolvedElement(sources, result);
-					return result;
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return sources.get(0);
-	}
-
-	/**
-	 * Checks if the object being added to the list of sources is a duplicate of what's already in the list
-	 * @param sourceToAdd the new source file to be added 
-	 * @param sources the list that the source will be compared against
-	 * @return true if it is already in the list, false if it is a new object
-	 */
-	private boolean checkDuplicate(Object sourceToAdd, List sources){
-		if(sources.size() == 0)
-			return false;
-		Iterator iterator = sources.iterator();
-		while(iterator.hasNext())
-			if(iterator.next().equals(sourceToAdd))
-				return true;
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.IPersistableSourceLookupDirector#initializeFromMemento(java.lang.String, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException {
-		setLaunchConfiguration(configuration);
-		initializeFromMemento(memento);
-	}
-
-	/* (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.internal.core.sourcelookup.ISourceLookupDirector#getLaunchConfiguration()
-	 */
-	public ILaunchConfiguration getLaunchConfiguration() {
-		return fConfig;
-	}
-	
-	/**
-	 * Sets the launch configuration associated with this source lookup
-	 * director. If the given configuration is a working copy, this director
-	 * will respond to changes the working copy. If the given configuration
-	 * is a persisted launch configration, this director will respond to changes
-	 * in the persisted launch configuration.
-	 * 
-	 * @param configuration launch configuration to associate with this
-	 *  source lookup director, or <code>null</code> if none
-	 */
-	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfig = configuration;
-		ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchConfigurationListener(this);
-		launchManager.addLaunchListener(this);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		if (this.equals(launch.getSourceLocator())) {
-			dispose();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupDirector#getParticipants()
-	 */
-	public ISourceLookupParticipant[] getParticipants() {
-		return (ISourceLookupParticipant[]) fParticipants.toArray(new ISourceLookupParticipant[fParticipants.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupDirector#supportsSourceContainerType(org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType)
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type) {
-		return true;
-	}
-	
-	/**
-	 * Caches the resolved source element to use when one of the following
-	 * duplicates is found.
-	 * 
-	 * @param duplicates duplicates source elemnets
-	 * @param sourceElement chosen source element to use in place of the
-	 *  duplicates
-	 */
-	protected void cacheResolvedElement(List duplicates, Object sourceElement) {
-		if (fResolvedElements == null) {
-			fResolvedElements = new HashMap(10);
-		}
-		Iterator iterator = duplicates.iterator();
-		while (iterator.hasNext()) {
-			Object dup = iterator.next();
-			fResolvedElements.put(dup, sourceElement);
-		}
-		
-	}
-	
-	/**
-	 * Returns the cached source element to use when the given duplicate
-	 * is encountered.
-	 * 
-	 * @param duplicate duplicates source element
-	 * @return element to use in the duplicate's place
-	 */
-	protected Object getCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			return fResolvedElements.get(duplicate);
-		}
-		return null;
-	}
-	
-	/**
-	 * Clears any cached source element associated with the given duplicate
-	 * is source elemnet.
-	 * 
-	 * @param duplicate duplicate source element to cache resolved results
-	 *  for
-	 */
-	protected void clearCachedElement(Object duplicate) {
-		if (fResolvedElements != null) {
-			fResolvedElements.remove(duplicate);
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.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.internal.core.sourcelookup.ISourceLookupDirector#addParticipants(org.eclipse.debug.internal.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.internal.core.sourcelookup.ISourceLookupDirector#removeParticipants(org.eclipse.debug.internal.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.internal.core.sourcelookup.ISourceLookupDirector#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		if (fComputer == null && getLaunchConfiguration() != null) {
-			try {
-				return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(getLaunchConfiguration());
-			} catch (CoreException e) {
-			}
-		}
-		return fComputer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setSourcePathComputer(org.eclipse.debug.core.sourcelookup.ISourcePathComputer)
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer) {
-		fComputer = computer;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		SourceLookupQuery query = new SourceLookupQuery(object);
-		Platform.run(query);
-		List sources = query.getSourceElements();
-		query.dispose();
-		return sources.toArray();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceElement(java.lang.Object)
-	 */
-	public Object getSourceElement(Object element) {
-		List sources = doSourceLookup(element);
-		if(sources.size() == 1) {
-			return sources.get(0);
-		} else if(sources.size() > 1) {
-			return resolveSourceElement(element, sources);
-		} else { 
-			return null;
-		}
-	}
-}
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 8e54d11..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * 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.internal.core.sourcelookup.ISourceLookupParticipant#init(org.eclipse.debug.internal.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public void init(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupParticipant#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupParticipant#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		List results = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		String name = getSourceName(object);
-		if (name != null) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i = 0; i < containers.length; i++) {
-				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]};
-						}
-					}
-				}
-			}
-		}
-		if (results == null) {
-			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() {
-		return getDirector().isFindDuplicates();
-	}	
-	
-	/**
-	 * 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() {
-		return getDirector().getSourceContainers();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceLookupParticipant#sourceContainersChanged(org.eclipse.debug.internal.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 2e98632..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.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.
- * 
- * @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 ee146a7..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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>
- * 
- * @see ISourceLookupParticipant
- * @see ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainer extends IAdaptable {
-	
-	/**
-	 * Notifiation this source container has been added to the given
-	 * source lookup director.
-	 * 
-	 * @param director the director this container has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-
-	/**
-	 * Returns a collection of source elements in this container corresponding to the
-	 * given name. Returns an empty collection if no source elements are found.
-	 * This source container's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element. If this is a composite container, the containers contained
-	 * by this container are also searched.
-	 * <p>
-	 * The format of the given name is implementation specific but generally conforms
-	 * to the format of a file name. If a source container does not recognize the
-	 * name format provided, an empty collection should be returned. A source container
-	 * may or may not require names to be fully qualified (i.e. be qualified with directory
-	 * names).
-	 * </p>
-	 * @param name the name of the source element to search for
-	 * @return a collection of source elements corresponding to the given name
-	 * @exception CoreException if an exception occurrs while searching for source elements
-	 */
-	public Object[] findSourceElements(String name) throws CoreException;
-
-	/**
-	 * The name of this source container that can be used for presentation purposes.
-	 * For example, the name of a project.
-	 *  
-	 * @return the name of this source container
-	 */
-	public String getName();
-
-	/**
-	 * Returns the source containers this container is composed of. An empty
-	 * collection is returned if this container is not a composite container.
-	 * For example, a workspace source container may be composed of project source
-	 * containers.
-	 * 
-	 * @return the source containers this container is composed of, possibly
-	 *  an empty collection
-	 * @exception CoreException if unable to retrieve source containers
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException;
-
-	/**
-	 * Returns whether this container is a composite container. A composite
-	 * container is composed of other source containers. For example, a workspace
-	 * source container may be composed of project source containers.
-	 * 
-	 * @return whether this container is a composite container
-	 */ 	
-	public boolean isComposite();
-	
-	/**
-	 * Returns this container's type.
-	 * 
-	 * @return this container's type 
-	 */
-	public ISourceContainerType getType();
-	
-	/**
-	 * Disposes this source container. This method is called when the source
-	 * director associated with this source container is disposed.
-	 */
-	public void dispose();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
deleted file mode 100644
index b788d89..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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>
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate
- * @since 3.0
- */
-public interface ISourceContainerType extends ISourceContainerTypeDelegate {
-
-	/**
-	 * Returns the name of this source container type that can be used for
-	 * presentation purposes. For example, <code>Working Set</code> or
-	 * <code>Project</code>.  The value returned is
-	 * identical to the name specified in plugin.xml by the <code>name</code>
-	 * attribute.
-	 * 
-	 * @return the name of this source container type
-	 */
-	public String getName();
-
-	/**
-	 * Returns the unique identifier associated with this source container type.
-	 * The value returned is identical to the identifier specified in plugin.xml by
-	 * the <code>id</code> attribute.
-	 * 
-	 * @return the unique identifier associated with this source container type
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a short description of this source container type that can be used
-	 * for presenetation purposes, or <code>null</code> if none.
-	 * 
-	 * @return a short description of this source container type, or <code>null</code>
-	 */
-	public String getDescription();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
deleted file mode 100644
index 75ca4a2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source container type delegate represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type delegate is contributed via the
- * <code>sourceContainerTypes</code> extension point.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p> 
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainerTypeDelegate {
-
-	/**
-	 * Creates and returns a new source container of this type
-	 * corresponding to the given memento.
-	 * 
-	 * @param memento a memento for a source conatiner of this source container type
-	 * @return a source container corresponding to the given memento
-	 * @exception CoreException if unable to construct a source container based
-	 *  on the given memento
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException;
-	
-	/**
-	 * Constructs and returns a memento for the given source container. A memento
-	 * can be used to reconstruct a source container.
-	 * 
-	 * @param container The container for which a memento should be created. The
-	 *  container must of this source container type.
-	 * @return a memento for the source container
-	 * @exception CoreException if unable to create a memento
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException;
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
deleted file mode 100644
index 5cc46ab..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source lookup director directs the source lookup process
- * among a set of participants and source containers.
- * <p>
- * Clients may implement this interface. An astract implementation
- * is provided by <code>AbstractSourceLookupDirector</code>, which
- * clients should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupDirector extends IPersistableSourceLocator2 {
-	
-	/**
-	 * Returns the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none.
-	 * 
-	 * @return the launch configuration associated with this source 
-	 * lookup director, or <code>null</code> if none
-	 */
-	public ILaunchConfiguration getLaunchConfiguration();
-	
-	/**
-	 * Returns the source lookup participants currently registered with
-	 * this director, possibly an empty collection.
-	 * 
-	 * @return the source lookup participants currently registered with
-	 * this director, possibly an empty collection
-	 */
-	public ISourceLookupParticipant[] getParticipants();
-	
-	/**
-	 * Returns the source containers currently registered with this 
-	 * director, possibly an empty collection.
-	 * 
-	 * @return the source containers currently registered with this 
-	 * director, possibly an empty collection
-	 */
-	public ISourceContainer[] getSourceContainers();
-	
-	/**
-	 * Sets the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection.
-	 * 
-	 * @param containers the source containers this source lookup director
-	 * should search when looking for source, possibly an empty collection
-	 */
-	public void setSourceContainers(ISourceContainer[] containers);	
-	
-	/**
-	 * Returns whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @return whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public boolean isFindDuplicates();
-	
-	/**
-	 * Sets whether to search exhaustively for all source elements
-	 * with the same name in all registered source containers, or
-	 * whether to stop searching when the first source element matching
-	 * the required name is found.
-	 * 
-	 * @param findDuplicates whether to search exhaustively for all source elements
-	 * with the same name
-	 */
-	public void setFindDuplicates(boolean findDuplicates);	
-	
-	/**
-	 * Notifies this source lookup director that it should initialize
-	 * its set of source lookup participants.
-	 */
-	public void initializeParticipants();
-	
-	/**
-	 * Returns whether this source director supports the given type
-	 * of source location. 
-	 * 
-	 * @param type source container type
-	 * @return whether this source director supports the given type
-	 * of source location
-	 */
-	public boolean supportsSourceContainerType(ISourceContainerType type);
-	
-	/**
-	 * Clears any source lookup results associated with the given
-	 * debug artifact, such that a subsequent lookup will force a new search
-	 * to be performed.
-	 *  
-	 * @param element debug artifact to clear source lookup results for
-	 */
-	public void clearSourceElements(Object element);
-	
-	/**
-	 * Adds the given source lookup participants to this director.
-	 * 
-	 * @param participants participants to add
-	 */
-	public void addParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Removes the given source lookup participants from this director.
-	 * 
-	 * @param participants participants to remove
-	 */
-	public void removeParticipants(ISourceLookupParticipant[] participants);
-	
-	/**
-	 * Returns the identifier of this type of source locator.
-	 * 
-	 * @return the identifier of this type of source locator
-	 */
-	public String getId();
-	
-	/**
-	 * Returns the source path computer to use with this source lookup
-	 * director, possibly <code>null</code>. By default, the source path 
-	 * computer returned is the one associated with this director's launch
-	 * configuration's type. However, the source path computer can be specified
-	 * programmatically by calling <code>setSourcePathComputer(...)</code>.
-	 * 
-	 * @return the source path computer to use with this source lookup
-	 *  director, possibly <code>null</code>
-	 */
-	public ISourcePathComputer getSourcePathComputer();
-	
-	/**
-	 * Sets the source path computer for this source lookup director.
-	 * This method can be used to override the default source path computer
-	 * for a launch configuration type. When <code>null</code> is specified
-	 * the default source path computer will be used (i.e. the one assocaited
-	 * with this director's launch configuration's type).
-	 *  
-	 * @param computer source path computer or <code>null</code>
-	 */
-	public void setSourcePathComputer(ISourcePathComputer computer);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * 
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurrs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;	
-	
-	/**
-	 * Returns a source element that corresponds to the given debug artifact, or
-	 * <code>null</code> if a source element could not be located. This is a
-	 * generalization of <code>getSourceElement(IStackFrame)</code> to allow
-	 * source to be found for other types of elements.
-	 *
-	 * @param element the debug artifact for which to locate source
-	 * @return an object representing a source element. 
-	 */
-	 public Object getSourceElement(Object element);	
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
deleted file mode 100644
index c5edd75..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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 independant, whereas source lookup participants are
- * debug model specific.  
- * <p>
- * Clients may implement this interface. An abstract implementation is
- * provided by <code>AbstractSourceLookupParticipant</code>, which clients
- * should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupParticipant {
-
-	/**
-	 * Notification this participant has been added to the specified
-	 * source lookup director. 
-     *
-	 * @param director the source lookup director that this participant
-	 *  has been added to
-	 */
-	public void init(ISourceLookupDirector director);
-	
-	/**
-	 * Returns a collection of source elements corresponding to the given debug
-	 * artifact (for example, a stack frame or breakpoint). Returns an empty
-	 * collection if no source elements are found.
-	 * This participant's source lookup director specifies if duplicate
-	 * source elements should be searched for, via <code>isFindDuplicates()</code>.
-	 * When <code>false</code> the returned collection should contain at most one
-	 * source element.
-	 * <p>
-	 * If the given debug artifact is not recognized by this participant, an empty
-	 * collection is returned. Otherwise, this participant generates a source name
-	 * from the given artifact and performs a search for associated source elements
-	 * in its source containers.
-	 * </p>
-	 * @param object the debug artifact for which source needs to be found (e.g., stack frame)
-	 * @return a collection of source elements corresponding to the given
-	 *  debug artifact, possibly empty
-	 * @exception CoreException if an exception occurrs while searching for source
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException;
-	
-	/**
-	 * Returns the source file name associated with the given debug artifact that
-	 * source needs to be found for.
-	 * 
-	 * @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
-	 * @throws CoreException if unable to determine a source file name 
-	 */
-	public String getSourceName(Object object) throws CoreException;
-
-	/**
-	 * Disposes this source lookup participant. This method is called when
-	 * the source lookup director assocaited with this participant is 
-	 * disposed.
-	 */
-	public void dispose();
-	
-	/**
-	 * Notification that the source lookup containers in the given source
-	 * lookup director have changed.
-	 * 
-	 * @param director source lookup director that is directing this
-	 * participant
-	 */
-	public void sourceContainersChanged(ISourceLookupDirector director);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
deleted file mode 100644
index 39e7467..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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>
- * @since 3.0
- */
-public interface ISourcePathComputer extends ISourcePathComputerDelegate {
-	
-	/**
-	 * Launch configuration attribute to specify a source path computer
-	 * that should be used for a launch configuration. The value is an identifer
-	 * of a source path computer extension, or unspecified (<code>null</code>), if the
-	 * default source path computer should be used. A default source path computer
-	 * can be associated with a launch configuration type.
-	 */
-	public static final String ATTR_SOURCE_PATH_COMPUTER_ID = DebugPlugin.getUniqueIdentifier() + ".SOURCE_PATH_COMPUTER_ID"; //$NON-NLS-1$
-
-	/**
-	 * Returns the unique identifier for this source path computer.
-	 * 
-	 * @return the unique identifier for this source path computer
-	 */
-	public String getId();
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
deleted file mode 100644
index c65ec91..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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 09c40c3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Common function for source containers.
- * <p>
- * Clients implementing source containers should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainer extends PlatformObject implements ISourceContainer {
-	
-	public static final Object[] EMPTY = new Object[0];
-	
-	private ISourceLookupDirector fDirector;
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * By default, do nothing. Subclasses should override as requried.
-	 * 
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#dispose()
-	 */
-	public void dispose() {
-		fDirector = null;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public ISourceContainer[] getSourceContainers() throws CoreException {
-		return new ISourceContainer[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.internal.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() {
-		return getDirector().isFindDuplicates();
-	}
-	
-	/**
-	 * 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 9d07e21..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Common function for source container type delegates.
- * <p>
- * Clients implementing source container delegates should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainerTypeDelegate implements ISourceContainerTypeDelegate {
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * Creates and returns a new XML document.
-	 * 
-	 * @return a new XML document
-	 * @throws CoreException if unable to create a new document
-	 */
-	protected Document newDocument()throws CoreException {
-		return DebugPlugin.newDocument();
-	}	
-	
-	/**
-	 * Returns the given XML document as a string.
-	 * 
-	 * @param document document to serialize
-	 * @return the given XML document as a string
-	 * @throws CoreException if unable to serialize the document
-	 */
-	protected String serializeDocument(Document document) throws CoreException {
-		return DebugPlugin.serializeDocument(document);
-	}
-
-	/**
-	 * Parses the given XML document, returning its root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 */
-	protected Element parseDocument(String document) throws CoreException {
-		return DebugPlugin.parseDocument(document);
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
deleted file mode 100644
index 1395412..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * Archive source container for an archive in the workspace. Returns instances
- * of <code>ZipEntryStorage</code> as source elemetns.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ArchiveSourceContainer extends ExternalArchiveSourceContainer {
-	
-	private IFile fFile;
-	/**
-	 * 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 file 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) {
-		super(archive.getLocation().toOSString(), detectRootPath);
-		fFile = archive;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.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.internal.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();
-	}
-}
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 87e23ad..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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.internal.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		ISourceContainer[] containers = getSourceContainers();
-		List results = null;
-		CoreException single = null;
-		MultiStatus multiStatus = null;
-		if (isFindDuplicates()) {
-			results = new ArrayList();
-		}
-		for (int i = 0; i < containers.length; i++) {
-			ISourceContainer container = containers[i];
-			try {
-				Object[] objects = container.findSourceElements(name);
-				if (objects.length > 0) {
-					if (isFindDuplicates()) {
-						for (int j = 0; j < objects.length; j++) {
-							results.add(objects[j]);
-						}
-					} else {
-						if (objects.length == 1) {
-							return objects;
-						}
-						return new Object[]{objects[0]};
-					}
-				}
-			} catch (CoreException e) {
-				if (single == null) {
-					single = e;
-				} else if (multiStatus == null) {
-					multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.getString("CompositeSourceContainer.0"), null); //$NON-NLS-1$
-					multiStatus.add(e.getStatus());
-				} else {
-					multiStatus.add(e.getStatus());
-				}
-			}
-		}
-		if (results == null) {
-			if (multiStatus != null) {
-				throw new CoreException(multiStatus);
-			} else if (single != null) {
-				throw single;
-			}
-			return EMPTY;
-		}
-		return results.toArray();
-	}
-	
-	/**
-	 * Creates the source containers in this composite container.
-	 * Subclasses should override this methods.
-	 * 
-	 * @throws CoreException if unable to create the containers
-	 */
-	protected abstract ISourceContainer[] createSourceContainers() throws CoreException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getSourceContainers()
-	 */
-	public 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.internal.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/DefaultSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
deleted file mode 100644
index f3f5c6b..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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 computers 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.internal.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() {	
-		return getDirector().getSourcePathComputer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.getString("DefaultSourceContainer.0"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		ISourcePathComputer sourcePathComputer = getSourcePathComputer();
-		if (sourcePathComputer == null) {
-			return new ISourceContainer[0];
-		}
-		return sourcePathComputer.computeSourceContainers(getLaunchConfiguration(), null);
-	}
-}
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 a6d85e8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A directory in the local file system. Source elements returned
- * from <code>findSourceElements(...)</code> are instances
- * of <code>LocalFileStorage</code>.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-
-public class DirectorySourceContainer extends CompositeSourceContainer {
-	
-	// root directory
-	private File fDirectory;
-	// whether to search subfolders
-	private boolean fSubfolders = false;
-	/**
-	 * Unique identifier for the directory source container type
-	 * (value <code>org.eclipse.debug.core.containerType.directory</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.directory"; //$NON-NLS-1$
-	
-	/**
-	 * Consutructs 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);
-	}
-	
-	/**
-	 * Consutructs 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.internal.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.internal.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (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();
-		File directory = getDirectory();
-		File file = new File(directory, name);
-		if (file.exists() && file.isFile()) {
-			sources.add(new LocalFileStorage(file));
-		}
-		
-		//check subfolders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.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.internal.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 d84f291..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-
-/**
- * An archive in the local file system. Returns instances
- * of <code>ZipEntryStorage</code> as source elemetns.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ExternalArchiveSourceContainer extends AbstractSourceContainer {
-	
-	private boolean fDetectRoot = false;
-	private String fRoot = null;
-	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 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 ExternalArchiveSourceContainer(String archivePath, boolean detectRootPath) {
-		fArchivePath = archivePath;
-		fDetectRoot = detectRootPath;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
-	 */
-	public Object[] findSourceElements(String name) throws CoreException {
-		name = name.replace('\\', '/');
-		ZipFile file = getArchive();
-		if (fDetectRoot) {
-			if (fRoot == null) {
-				detectRoot(file, name);
-			}
-			if (fRoot != null) {
-				if (fRoot.length() > 0) {
-					name = fRoot + name;
-				}
-				ZipEntry entry = file.getEntry(name);
-				if (entry != null) {
-					return new Object[]{new ZipEntryStorage(file, entry)};
-				}
-			}
-		} else {
-			Enumeration entries = file.entries();
-			// try exact match
-			ZipEntry entry = file.getEntry(name);
-			if (entry != null) {
-				// can't be any dups if there is an exact match
-				return new Object[]{new ZipEntryStorage(file, entry)};
-			}
-			// search
-			List matches = null;
-			while (entries.hasMoreElements()) {
-				entry = (ZipEntry)entries.nextElement();
-				if (entry.getName().endsWith(name)) {
-					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;
-	}
-	
-	/**
-	 * Detects the root path in this archive by searching for an entry
-	 * with the given name, as a suffix.
-	 * 
-	 * @param file zip file to search in
-	 * @param name entry to search for
-	 * @exception CoreException if an exception occurrs while detecting the root
-	 */
-	private void detectRoot(ZipFile file, String name) throws CoreException {
-		synchronized (file) {
-			Enumeration entries = file.entries();
-			try {
-				while (entries.hasMoreElements()) {
-					ZipEntry entry = (ZipEntry)entries.nextElement();
-					String entryName = entry.getName();
-					if (entryName.endsWith(name)) {
-						int rootLength = entryName.length() - name.length();
-						if (rootLength > 0) {
-							fRoot = entryName.substring(0, rootLength);
-						} else {
-							fRoot = ""; //$NON-NLS-1$
-						}
-						return;
-					}
-				}
-			} catch (IllegalStateException e) {
-				abort(MessageFormat.format(SourceLookupMessages.getString("ExternalArchiveSourceContainer.1"), new String[] {getName()}), e); //$NON-NLS-1$
-			}
-		}		
-	}
-
-	/**
-	 * Returns the archive to search in.
-	 * 
-	 * @throws CoreException if unable to access the archive
-	 */
-	private ZipFile getArchive() throws CoreException {
-		try {
-			return SourceLookupUtils.getZipFile(fArchivePath);
-		} catch (IOException e) {
-			abort(MessageFormat.format(SourceLookupMessages.getString("ExternalArchiveSourceContainer.2"), new String[]{fArchivePath}), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fArchivePath;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-	
-	/**
-	 * Returns whether the root path in this archive source container
-	 * is to be automatically detected.
-	 *  
-	 * @return whether the root path in this archive source container
-	 * is to be automatically detected
-	 */
-	public boolean isDetectRoot() {
-		return fDetectRoot;
-	}
-	/* (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();
-	}
-}
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 3310f9f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.containers.*;
-
-/**
- * A folder in the workspace.
- * <p>
- * Clients may instantiate this class. This class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class FolderSourceContainer extends ContainerSourceContainer {
-
-	/**
-	 * Unique identifier for the folder source container type
-	 * (value <code>org.eclipse.debug.core.containerType.folder</code>).
-	 */
-	public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.folder";	 //$NON-NLS-1$
-
-
-	/**
-	 * Constructs a source container on the given folder. 
-	 * 
-	 * @param folder the folder to search for source in
-	 * @param subfolders whether to search nested folders
-	 */
-	public FolderSourceContainer(IContainer folder, boolean subfolders) {
-		super(folder, subfolders);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.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 dbdf75f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * Implementation of storage for a local file
- * (<code>java.io.File</code>).
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class LocalFileStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * The file this storage refers to.
-	 */ 
-	private File fFile;
-		
-	/**
-	 * Constructs and returns storage for the given file.
-	 * 
-	 * @param file a local file
-	 */
-	public LocalFileStorage(File file){
-		setFile(file);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return new FileInputStream(getFile());
-		} catch (IOException e){
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.getString("LocalFileStorage.0"), e)); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		try {
-			return new Path(getFile().getCanonicalPath());
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		return getFile().getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the file associated with this storage
-	 * 
-	 * @param file a local file
-	 */
-	private void setFile(File file) {
-		fFile = file;	
-	}
-	
-	/**
-	 * Returns the file asscoiated with this storage
-	 * 
-	 * @return file
-	 */
-	public File getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof LocalFileStorage &&
-			 getFile().equals(((LocalFileStorage)object).getFile());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getFile().hashCode();
-	}	
-}
\ No newline at end of file
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 b03b645..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
+++ /dev/null
@@ -1,107 +0,0 @@
- /*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.containers.*;
-
-/**
- * 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.internal.core.sourcelookup.ISourceContainer#getType()
-	*/
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		if (isSearchReferencedProjects()) {
-			IProject project = getProject();
-			IProject[] projects = project.getReferencedProjects();
-			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], true);
-					container.init(getDirector());
-					all.add(container);
-				}
-			}
-			return (ISourceContainer[]) all.toArray(new ISourceContainer[all.size()]);
-		} 
-		return super.createSourceContainers();
-	}
-}
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 786a55e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.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.internal.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return SourceLookupMessages.getString("WorkspaceSourceContainer.0"); //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof WorkspaceSourceContainer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */	
-	public int hashCode() {
-		return ResourcesPlugin.getWorkspace().hashCode();
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.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 e5ad45a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
- 
-/**
- * Storage implementation for zip entries.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @see IStorage
- * @since 3.0
- */
-public class ZipEntryStorage extends PlatformObject implements IStorage {
-	
-	/**
-	 * Zip file associated with zip entry
-	 */
-	private ZipFile fArchive;
-	
-	/**
-	 * Zip entry
-	 */
-	private ZipEntry fZipEntry;
-	
-	/**
-	 * Constructs a new storage implementation for the
-	 * given zip entry in the specified zip file
-	 * 
-	 * @param archive zip file
-	 * @param entry zip entry
-	 */
-	public ZipEntryStorage(ZipFile archive, ZipEntry entry) {
-		setArchive(archive);
-		setZipEntry(entry);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getContents()
-	 */
-	public InputStream getContents() throws CoreException {
-		try {
-			return getArchive().getInputStream(getZipEntry());
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.getString("ZipEntryStorage.0"), e)); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getFullPath()
-	 */
-	public IPath getFullPath() {
-		return new Path(getArchive().getName()).append(getZipEntry().getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#getName()
-	 */
-	public String getName() {
-		int index = getZipEntry().getName().lastIndexOf('\\');
-		if (index == -1) {
-			index = getZipEntry().getName().lastIndexOf('/');
-		}
-		if (index == -1) {
-			return getZipEntry().getName();
-		} 
-		return getZipEntry().getName().substring(index + 1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IStorage#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/**
-	 * Sets the archive containing the zip entry.
-	 * 
-	 * @param archive a zip file
-	 */
-	private void setArchive(ZipFile archive) {
-		fArchive = archive;
-	}
-	
-	/**
-	 * Returns the archive containing the zip entry.
-	 * 
-	 * @return zip file
-	 */
-	public ZipFile getArchive() {
-		return fArchive;
-	}	
-	
-	/**
-	 * Sets the entry that contains the source.
-	 * 
-	 * @param entry the entry that contains the source
-	 */
-	private void setZipEntry(ZipEntry entry) {
-		fZipEntry = entry;
-	}
-	
-	/**
-	 * Returns the entry that contains the source
-	 * 
-	 * @return zip entry
-	 */
-	public ZipEntry getZipEntry() {
-		return fZipEntry;
-	}		
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {		
-		return object instanceof ZipEntryStorage &&
-			 getArchive().equals(((ZipEntryStorage)object).getArchive()) &&
-			 getZipEntry().getName().equals(((ZipEntryStorage)object).getZipEntry().getName());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getZipEntry().getName().hashCode();
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
deleted file mode 100644
index 2d2b0e8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,949 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-
-/**
- * The breakpoint manager manages all registered breakpoints
- * for the debug plugin. It is instantiated by the debug plugin at startup.
- *
- * @see IBreakpointManager
- */
-public class BreakpointManager implements IBreakpointManager, IResourceChangeListener {
-	
-	/**
-	 * Constants for breakpoint add/remove/change updates
-	 */
-	private final static int ADDED = 0;
-	private final static int REMOVED = 1;
-	private final static int CHANGED = 2;
-	
-	/**
-	 * String constants corresponding to XML extension keys
-	 */
-	private final static String CLASS = "class"; //$NON-NLS-1$
-	
-	/**
-	 * Attribute name for the <code>"markerType"</code> attribute of
-	 * a breakpoint extension.
-	 */
-	private static final String MARKER_TYPE= "markerType";	 //$NON-NLS-1$	
-
-	/**
-	 * A collection of breakpoints registered with this manager.
-	 */
-	private Vector fBreakpoints= null;
-	
-	/**
-	 * Collection of breakpoints being added currently. Used to 
-	 * suppress change notication of "REGISTERED" attribute when
-	 * being added.
-	 */
-	private List fSuppressChange = new ArrayList();
-	
-	/**
-	 * A table of breakpoint extension points, keyed by
-	 * marker type
-	 * key: a marker type
-	 * value: the breakpoint extension which corresponds to that marker type
-	 */
-	private HashMap fBreakpointExtensions;
-	
-	/**
-	 * Collection of markers that associates markers to breakpoints
-	 * key: a marker
-	 * value: the breakpoint which contains that marker
-	 */	
-	private HashMap fMarkersToBreakpoints;
-
-	/**
-	 * Collection of breakpoint listeners.
-	 */
-	private ListenerList fBreakpointListeners= new ListenerList(6);
-		
-	/**
-	 * Collection of (multi) breakpoint listeners.
-	 */
-	private ListenerList fBreakpointsListeners= new ListenerList(6);	
-	
-	/**
-	 * Singleton resource delta visitor which handles marker
-	 * additions, changes, and removals.
-	 */
-	private static BreakpointManagerVisitor fgVisitor;
-	
-	/**
-	 * Whether or not this breakpoint manager is enabled.
-	 */
-	private boolean fEnabled= true;
-	
-	/**
-	 * Collection of breakpoint manager listeners which are
-	 * notified when this manager's enablement changes.
-	 */
-	private ListenerList fBreakpointManagerListeners= new ListenerList(2);
-
-	/**
-	 * Constructs a new breakpoint manager.
-	 */
-	public BreakpointManager() {
-		fMarkersToBreakpoints= new HashMap(10);	
-		fBreakpointExtensions = new HashMap(15);	
-	}
-	
-	/**
-	 * Loads all the breakpoints on the given resource.
-	 * 
-	 * @param resource the resource which contains the breakpoints
-	 */
-	private void loadBreakpoints(IResource resource) throws CoreException {
-		initBreakpointExtensions();
-		IMarker[] markers= getPersistedMarkers(resource);
-		List added = new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			try {
-				IBreakpoint breakpoint = createBreakpoint(marker);
-				if (breakpoint.isRegistered()) {
-					added.add(breakpoint);
-				}
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		addBreakpoints((IBreakpoint[])added.toArray(new IBreakpoint[added.size()]));
-	}
-	
-	/**
-	 * Returns the persisted markers associated with the given resource.
-	 * 
-	 * Delete any invalid breakpoint markers. This is done at startup rather
-	 * than shutdown, since the changes made at shutdown are not persisted as
-	 * the workspace state has already been saved. See bug 7683.
-	 * 
-	 * Since the <code>TRANSIENT</code> marker attribute/feature has been added,
-	 * we no longer have to manully delete non-persisted markers - the platform
-	 * does this for us (at shutdown, transient markers are not saved). However,
-	 * the code is still present to delete non-persisted markers from old
-	 * workspaces.
-	 */
-	protected IMarker[] getPersistedMarkers(IResource resource) throws CoreException {
-		IMarker[] markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-		final List delete = new ArrayList();
-		List persisted= new ArrayList();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker marker= markers[i];
-			// ensure the marker has a valid model identifier attribute
-			// and delete the breakpoint if not
-			String modelId = marker.getAttribute(IBreakpoint.ID, null);
-			if (modelId == null) {
-				// marker with old/invalid format - delete
-				delete.add(marker);
-			} else if (!marker.getAttribute(IBreakpoint.PERSISTED, true)) {
-				// the breakpoint is marked as not to be persisted,
-				// schedule for deletion
-				delete.add(marker);
-			} else {
-				persisted.add(marker);
-			}
-		}
-		// delete any markers that are not to be restored
-		if (!delete.isEmpty()) {
-			IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) throws CoreException {
-					ResourcesPlugin.getWorkspace().deleteMarkers((IMarker[])delete.toArray(new IMarker[delete.size()]));
-				}
-			};
-			new BreakpointManagerJob(wr).schedule();
-		}
-		return (IMarker[])persisted.toArray(new IMarker[persisted.size()]);
-	}
-	
-	/**
-	 * Removes this manager as a resource change listener
-	 * and removes all breakpoint listeners.
-	 */
-	public void shutdown() {
-		getWorkspace().removeResourceChangeListener(this);
-		fBreakpointListeners.removeAll();
-	}
-
-	/**
-	 * Find the defined breakpoint extensions and cache them for use in recreating
-	 * breakpoints from markers.
-	 */
-	private void initBreakpointExtensions() {
-		IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_BREAKPOINTS);
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		for (int i= 0; i < elements.length; i++) {
-			String markerType = elements[i].getAttribute(MARKER_TYPE);
-			String className = elements[i].getAttribute(CLASS);
-			if (markerType == null) {
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.getString("BreakpointManager.Breakpoint_extension_{0}_missing_required_attribute__markerType_1"), new String[]{elements[i].getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} else if (className == null){
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.getString("BreakpointManager.Breakpoint_extension_{0}_missing_required_attribute__class_2"), new String[]{elements[i].getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			} else {
-				fBreakpointExtensions.put(markerType, elements[i]);
-			}
-		}
-	}
-	
-	private void invalidBreakpointExtension(String message) {
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, null);
-		DebugPlugin.log(status);
-	}
-
-	/**
-	 * Convenience method to get the workspace
-	 */
-	private IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * @see IBreakpointManager#getBreakpoint(IMarker)
-	 */
-	public IBreakpoint getBreakpoint(IMarker marker) {
-		// ensure that breakpoints are initialized
-		getBreakpoints0();
-		return (IBreakpoint)fMarkersToBreakpoints.get(marker);
-	}
-
-	/**
-	 * @see IBreakpointManager#getBreakpoints()
-	 */
-	public IBreakpoint[] getBreakpoints() {
-		Vector breakpoints= getBreakpoints0();
-		IBreakpoint[] temp= new IBreakpoint[breakpoints.size()];
-		breakpoints.copyInto(temp);
-		return temp;
-	}
-	
-	/**
-	 * The BreakpointManager waits to load the breakpoints
-	 * of the workspace until a request is made to retrieve the 
-	 * breakpoints.
-	 */
-	private Vector getBreakpoints0() {
-		if (fBreakpoints == null) {
-			initializeBreakpoints();
-		}
-		return fBreakpoints;
-	}	
-	
-	/**
-	 * @see IBreakpointManager#getBreakpoints(String)
-	 */
-	public IBreakpoint[] getBreakpoints(String modelIdentifier) {
-		Vector allBreakpoints= getBreakpoints0();
-		ArrayList temp= new ArrayList(allBreakpoints.size());
-		Iterator breakpoints= allBreakpoints.iterator();
-		while (breakpoints.hasNext()) {
-			IBreakpoint breakpoint= (IBreakpoint) breakpoints.next();
-			String id= breakpoint.getModelIdentifier();
-			if (id != null && id.equals(modelIdentifier)) {
-				temp.add(breakpoint);
-			}
-		}
-		return (IBreakpoint[]) temp.toArray(new IBreakpoint[temp.size()]);
-	}
-
-	/**
-	 * Loads the list of breakpoints from the breakpoint markers in the
-	 * workspace. Start listening to resource deltas.
-	 */
-	private void initializeBreakpoints() {
-		setBreakpoints(new Vector(10));
-		try {
-			loadBreakpoints(getWorkspace().getRoot());
-			getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
-		} catch (CoreException ce) {
-			DebugPlugin.log(ce);
-			setBreakpoints(new Vector(0));
-		} 
-	}
-	
-	/**
-	 * @see IBreakpointManager#isRegistered(IBreakpoint)
-	 */
-	public boolean isRegistered(IBreakpoint breakpoint) {
-		return getBreakpoints0().contains(breakpoint);
-	}
-
-	
-	/**
-	 * @see IBreakpointManager#removeBreakpoint(IBreakpoint, boolean)
-	 */
-	public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException {
-		removeBreakpoints(new IBreakpoint[]{breakpoint}, delete);
-	}
-	
-	/**
-	 * @see IBreakpointManager#removeBreakpoints(IBreakpoint[], boolean)
-	 */
-	public void removeBreakpoints(IBreakpoint[] breakpoints, final boolean delete) throws CoreException {
-		final List remove = new ArrayList(breakpoints.length);
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (getBreakpoints0().contains(breakpoint)) {
-				remove.add(breakpoint);
-			}
-		}
-		if (!remove.isEmpty()) {
-			Iterator iter = remove.iterator();
-			while (iter.hasNext()) {
-				IBreakpoint breakpoint = (IBreakpoint)iter.next();
-				getBreakpoints0().remove(breakpoint);
-				fMarkersToBreakpoints.remove(breakpoint.getMarker());
-			}
-			fireUpdate(remove, null, REMOVED);
-			IWorkspaceRunnable r = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor montitor) throws CoreException {
-					Iterator innerIter = remove.iterator();
-					while (innerIter.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint)innerIter.next();
-						if (delete) {
-							breakpoint.delete();
-						} else {
-							// if the breakpoint is being removed from the manager
-							// because the project is closing, the breakpoint should
-							// remain as registered, otherwise, the breakpoint should
-							// be marked as deregistered
-							IMarker marker = breakpoint.getMarker();
-							if (marker.exists()) {
-								IProject project = breakpoint.getMarker().getResource().getProject();
-								if (project == null || project.isOpen()) {
-									breakpoint.setRegistered(false);
-								}
-							}
-						}
-					}					
-				}
-			};
-			getWorkspace().run(r, null, 0, null);
-		}
-	}	
-	
-	/**
-	 * Create a breakpoint for the given marker. The created breakpoint
-	 * is of the type specified in the breakpoint extension associated
-	 * with the given marker type.
-	 * 
-	 * @return a breakpoint on this marker
-	 * @exception DebugException if breakpoint creation fails. Reasons for 
-	 *  failure include:
-	 * <ol>
-	 * <li>The breakpoint manager cannot determine what kind of breakpoint
-	 *     to instantiate for the given marker type</li>
-	 * <li>A lower level exception occurred while accessing the given marker</li>
-	 * </ol>
-	 */
-	private IBreakpoint createBreakpoint(IMarker marker) throws DebugException {
-		IBreakpoint breakpoint= (IBreakpoint) fMarkersToBreakpoints.get(marker);
-		if (breakpoint != null) {
-			return breakpoint;
-		}
-		try {
-			IConfigurationElement config = (IConfigurationElement)fBreakpointExtensions.get(marker.getType());
-			if (config == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, MessageFormat.format(DebugCoreMessages.getString("BreakpointManager.Missing_breakpoint_definition"), new String[] {marker.getType()}), null)); //$NON-NLS-1$
-			}
-			Object object = config.createExecutableExtension(CLASS);
-			if (object instanceof IBreakpoint) {
-				breakpoint = (IBreakpoint)object;
-				breakpoint.setMarker(marker);
-			} else {
-				invalidBreakpointExtension(MessageFormat.format(DebugCoreMessages.getString("BreakpointManager.Class_{0}_specified_by_breakpoint_extension_{1}_does_not_implement_required_interface_IBreakpoint._3"), new String[]{config.getAttribute(CLASS), config.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-			}
-			return breakpoint;		
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}	
-
-	/**
-	 * @see IBreakpointManager#addBreakpoint(IBreakpoint)
-	 */
-	public void addBreakpoint(IBreakpoint breakpoint) throws CoreException {
-		addBreakpoints(new IBreakpoint[]{breakpoint});
-	}
-	
-	/**
-	 * @see IBreakpointManager#addBreakpoints(IBreakpoint[])
-	 */
-	public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException {
-		List added = new ArrayList(breakpoints.length);
-		final List update = new ArrayList();
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (!getBreakpoints0().contains(breakpoint)) {
-				verifyBreakpoint(breakpoint);
-				if (breakpoint.isRegistered()) {
-					added.add(breakpoint);
-					getBreakpoints0().add(breakpoint);
-					fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
-				} else {
-					// need to update the 'registered' attribute
-					update.add(breakpoint);
-				}
-			}	
-		}
-		fireUpdate(added, null, ADDED);
-		if (!update.isEmpty()) {
-			IWorkspaceRunnable r = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					Iterator iter = update.iterator();
-					while (iter.hasNext()) {
-						IBreakpoint breakpoint = (IBreakpoint)iter.next();
-						getBreakpoints0().add(breakpoint);
-						breakpoint.setRegistered(true);
-						fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);						
-					}
-				}
-			};
-			// Need to suppress change notification, since this is really
-			// an add notification			
-			fSuppressChange.addAll(update);
-			getWorkspace().run(r, null, 0, null);
-			fSuppressChange.removeAll(update);
-			fireUpdate(update, null, ADDED);
-		}			
-	}	
-	
-	/**
-	 * Returns whether change notification is to be suppressed for the given breakpoint.
-	 * Used when adding breakpoints and changing the "REGISTERED" attribute.
-	 * 
-	 * @param breakpoint
-	 * @return boolean whether change notification is suppressed
-	 */
-	protected boolean isChangeSuppressed(IBreakpoint breakpoint) {
-		return fSuppressChange.contains(breakpoint);
-	}
-	
-	/**
-	 * @see IBreakpointManager#fireBreakpointChanged(IBreakpoint)
-	 */
-	public void fireBreakpointChanged(IBreakpoint breakpoint) {
-		if (getBreakpoints0().contains(breakpoint)) {
-			List changed = new ArrayList();
-			changed.add(breakpoint);
-			fireUpdate(changed, null, CHANGED);
-		}
-	}
-
-	/**
-	 * Verifies that the breakpoint marker has the minimal required attributes,
-	 * and throws a debug exception if not.
-	 */
-	private void verifyBreakpoint(IBreakpoint breakpoint) throws DebugException {
-		try {
-			String id= breakpoint.getModelIdentifier();
-			if (id == null) {
-				throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), 
-					DebugException.CONFIGURATION_INVALID, DebugCoreMessages.getString("BreakpointManager.Missing_model_identifier"), null)); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			throw new DebugException(e.getStatus());
-		}
-	}
-
-	/**
-	 * A resource has changed. Traverses the delta for breakpoint changes.
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta= event.getDelta();
-		if (delta != null) {
-			try {
-				if (fgVisitor == null) {
-					fgVisitor= new BreakpointManagerVisitor();
-				}
-				delta.accept(fgVisitor);
-				fgVisitor.update();
-			} catch (CoreException ce) {
-				DebugPlugin.log(ce);
-			}
-		}
-	}
-
-	/**
-	 * Visitor for handling resource deltas
-	 */
-	class BreakpointManagerVisitor implements IResourceDeltaVisitor {
-		/**
-		 * Moved markers
-		 */
-		private List fMoved = new ArrayList();
-		/**
-		 * Removed breakpoints
-		 */
-		private List fRemoved = new ArrayList();
-		/**
-		 * Changed breakpoints and associated marker deltas
-		 */
-		private List fChanged = new ArrayList();
-		private List fChangedDeltas = new ArrayList();
-		
-		/**
-		 * Resets the visitor for a delta traversal - empties
-		 * collections of removed/changed breakpoints.
-		 */
-		protected void reset() {
-			fMoved.clear();
-			fRemoved.clear();
-			fChanged.clear();
-			fChangedDeltas.clear();
-		}
-		
-		/**
-		 * Performs updates on accumlated changes, and fires change notification after
-		 * a traversal. Accumlated updates are reset.
-		 */
-		public void update() {
-			if (!fMoved.isEmpty()) {
-				// delete moved markers
-				IWorkspaceRunnable wRunnable= new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-						getWorkspace().deleteMarkers((IMarker[])fMoved.toArray(new IMarker[fMoved.size()]));
-					}
-				};
-				try {
-					getWorkspace().run(wRunnable, null, 0, null);
-				} catch (CoreException e) {
-				}
-			}
-			if (!fRemoved.isEmpty()) {
-				try {
-					removeBreakpoints((IBreakpoint[])fRemoved.toArray(new IBreakpoint[fRemoved.size()]), false);
-				} catch (CoreException e) {
-					DebugPlugin.log(e);
-				}
-			}
-			if (!fChanged.isEmpty()) {
-				fireUpdate(fChanged, fChangedDeltas, CHANGED);
-			}
-			reset();
-		} 
-				
-		/**
-		 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN) && 0 == (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
-				handleProjectResourceOpenStateChange(delta.getResource());
-				return false;
-			}
-			IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();
-			for (int i= 0; i < markerDeltas.length; i++) {
-				IMarkerDelta markerDelta= markerDeltas[i];
-				if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-					switch (markerDelta.getKind()) {
-						case IResourceDelta.ADDED :
-							handleAddBreakpoint(delta, markerDelta.getMarker());
-							break;
-						case IResourceDelta.REMOVED :
-							handleRemoveBreakpoint(markerDelta.getMarker());
-							break;
-						case IResourceDelta.CHANGED :
-							handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);
-							break;
-					}
-				}
-			}
-
-			return true;
-		}		
-
-		/**
-		 * Wrapper for handling adds
-		 */
-		protected void handleAddBreakpoint(IResourceDelta rDelta, final IMarker marker) {
-			if (0 != (rDelta.getFlags() & IResourceDelta.MOVED_FROM)) {
-				// This breakpoint has actually been moved - already removed
-				// from the Breakpoint manager during the remove callback.
-				// Schedule the marker associated with the new resource for deletion.
-				if (getBreakpoint(marker) == null) {
-					fMoved.add(marker);
-				}
-			} else {
-				// do nothing - we do not add until explicitly added
-			}
-		}
-		
-		/**
-		 * Wrapper for handling removes
-		 */
-		protected void handleRemoveBreakpoint(IMarker marker) {
-			IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null) {
-				fRemoved.add(breakpoint);
-			}
-		}
-
-		/**
-		 * Wrapper for handling changes
-		 */
-		protected void handleChangeBreakpoint(IMarker marker, IMarkerDelta delta) {
-			final IBreakpoint breakpoint= getBreakpoint(marker);
-			if (breakpoint != null && isRegistered(breakpoint) && !isChangeSuppressed(breakpoint)) {
-				fChanged.add(breakpoint);
-				fChangedDeltas.add(delta);
-			}
-		}
-		
-		/**
-		 * A project has been opened or closed.  Updates the breakpoints for
-		 * that project
-		 */
-		private void handleProjectResourceOpenStateChange(final IResource project) {
-			if (!project.isAccessible()) {
-				//closed
-				Enumeration breakpoints= ((Vector)getBreakpoints0().clone()).elements();
-				while (breakpoints.hasMoreElements()) {
-					IBreakpoint breakpoint= (IBreakpoint) breakpoints.nextElement();
-					IResource markerResource= breakpoint.getMarker().getResource();
-					if (project.getFullPath().isPrefixOf(markerResource.getFullPath())) {
-						fRemoved.add(breakpoint);
-					}
-				}
-				return;
-			} 
-			try {
-				loadBreakpoints(project);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-
-	/**
-	 * @see IBreakpointManager#addBreakpointListener(IBreakpointListener)
-	 */
-	public void addBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.add(listener);
-	}
-
-	/**
-	 * @see IBreakpointManager#removeBreakpointListener(IBreakpointListener)
-	 */
-	public void removeBreakpointListener(IBreakpointListener listener) {
-		fBreakpointListeners.remove(listener);
-	}
-	
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param breakpoints associated breakpoints
-	 * @param deltas or <code>null</code>
-	 * @param update type of change
-	 */
-	private void fireUpdate(List breakpoints, List deltas, int update) {
-		if (breakpoints.isEmpty()) {
-			return; 
-		}
-		IBreakpoint[] bpArray = (IBreakpoint[])breakpoints.toArray(new IBreakpoint[breakpoints.size()]);
-		IMarkerDelta[] deltaArray = new IMarkerDelta[bpArray.length];
-		if (deltas != null) {
-			deltaArray = (IMarkerDelta[])deltas.toArray(deltaArray);
-		}
-		// single listeners
-		getBreakpointNotifier().notify(bpArray, deltaArray, update);
-		
-		// multi listeners
-		getBreakpointsNotifier().notify(bpArray, deltaArray, update);
-	}	
-
-	protected void setBreakpoints(Vector breakpoints) {
-		fBreakpoints = breakpoints;
-	}
-	
-	/**
-	 * @see IBreakpointManager#hasBreakpoints()
-	 */
-	public boolean hasBreakpoints() {
-		return !getBreakpoints0().isEmpty();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void addBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
-	 */
-	public void removeBreakpointListener(IBreakpointsListener listener) {
-		fBreakpointsListeners.remove(listener);
-	}
-
-	private BreakpointNotifier getBreakpointNotifier() {
-		return new BreakpointNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (single breakpoint) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointNotifier implements ISafeRunnable {
-		
-		private IBreakpointListener fListener;
-		private int fType;
-		private IMarkerDelta fDelta;
-		private IBreakpoint fBreakpoint;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("BreakpointManager.An_exception_occurred_during_breakpoint_change_notification._4"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.breakpointAdded(fBreakpoint);
-					break;
-				case REMOVED:
-					fListener.breakpointRemoved(fBreakpoint, fDelta);
-					break;
-				case CHANGED:
-					fListener.breakpointChanged(fBreakpoint, fDelta);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the listeners of the add/change/remove
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the change
-		 * @param update the type of change
-		 */
-		public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
-			fType = update;
-			Object[] copiedListeners= fBreakpointListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointListener)copiedListeners[i];
-				for (int j = 0; j < breakpoints.length; j++) {
-					fBreakpoint = breakpoints[j];
-					fDelta = deltas[j];
-					Platform.run(this);				
-				}
-			}
-			fListener = null;
-			fDelta = null;
-			fBreakpoint = null;			
-		}
-	}
-	
-	private BreakpointsNotifier getBreakpointsNotifier() {
-		return new BreakpointsNotifier();
-	}
-	
-	/**
-	 * Notifies breakpoint listener (multiple breakpoints) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointsNotifier implements ISafeRunnable {
-		
-		private IBreakpointsListener fListener;
-		private int fType;
-		private IMarkerDelta[] fDeltas;
-		private IBreakpoint[] fNotifierBreakpoints;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("BreakpointManager.An_exception_occurred_during_breakpoint_change_notification._5"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.breakpointsAdded(fNotifierBreakpoints);
-					break;
-				case REMOVED:
-					fListener.breakpointsRemoved(fNotifierBreakpoints, fDeltas);
-					break;
-				case CHANGED:
-					fListener.breakpointsChanged(fNotifierBreakpoints, fDeltas);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the listeners of the adds/changes/removes
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the changed breakpoints
-		 * @param update the type of change
-		 */
-		public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
-			fType = update;
-			fNotifierBreakpoints = breakpoints;
-			fDeltas = deltas;
-			Object[] copiedListeners = fBreakpointsListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointsListener)copiedListeners[i];
-				Platform.run(this);
-			}
-			fDeltas = null;
-			fNotifierBreakpoints = null;
-			fListener = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled= enabled;
-		new BreakpointManagerNotifier().notify(enabled);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void addBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.add(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
-	 */
-	public void removeBreakpointManagerListener(IBreakpointManagerListener listener) {
-		fBreakpointManagerListeners.remove(listener);
-	}	
-	
-	/**
-	 * Notifies breakpoint manager listeners in a safe runnable to
-	 * handle exceptions.
-	 */
-	class BreakpointManagerNotifier implements ISafeRunnable {
-		
-		private IBreakpointManagerListener fListener;
-		private boolean fManagerEnabled;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("BreakpointManager.An_exception_occurred_during_breakpoint_change_notification._5"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.breakpointManagerEnablementChanged(fManagerEnabled);
-		}
-
-		/**
-		 * Notifies the listeners of the adds/changes/removes
-		 * 
-		 * @param breakpoints the breakpoints that changed
-		 * @param deltas the deltas associated with the changed breakpoints
-		 * @param update the type of change
-		 */
-		public void notify(boolean enabled) {
-			fManagerEnabled= enabled;
-			Object[] copiedListeners = fBreakpointManagerListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IBreakpointManagerListener)copiedListeners[i];
-				Platform.run(this);
-			}
-			fListener = null;
-		}
-	}
-	
-	class BreakpointManagerJob extends Job {
-		
-		private final IWorkspaceRunnable fRunnable;
-
-		public BreakpointManagerJob (IWorkspaceRunnable wRunnable) {
-			super("breakpoint manager job"); //$NON-NLS-1$
-			fRunnable= wRunnable;
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				getWorkspace().run(fRunnable, null, 0, null);
-			} catch (CoreException ce) {
-				DebugPlugin.log(ce);
-			}
-			return new Status(IStatus.OK, DebugPlugin.getUniqueIdentifier(), IStatus.OK, "", null); //$NON-NLS-1$
-		}
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
deleted file mode 100644
index 9f8ae48..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-
-/**
- * A placeholder for a launch delegate contributed for a launch mode for an
- * existing launch configuration type.
- */
-public class ContributedDelegate {
-
-	/**
-	 * The configuration element of the extension.
-	 */
-	private IConfigurationElement fElement;
-	
-	/**
-	 * Modes this delegate supports.
-	 */
-	private Set fModes;
-	
-	/**
-	 * Delegate, or <code>null</code> if not yet instantiated.
-	 */
-	private ILaunchConfigurationDelegate fDelegate;
-	
-	/**
-	 * Constructs a new contributed delegate on the
-	 * given configuration element.
-	 * 
-	 * @param element configuration element
-	 */
-	protected ContributedDelegate(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets this delegate's configuration element.
-	 * 
-	 * @param element this delegate's configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/**
-	 * Returns this delegate's configuration element.
-	 * 
-	 * @return this delegate's configuration element
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fElement;
-	}	
-	
-	/**
-	 * Returns the set of modes specified in the configuration data.
-	 * 
-	 * @return the set of modes specified in the configuration data
-	 */
-	protected Set getModes() {
-		if (fModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			String[] strings = modes.split(","); //$NON-NLS-1$
-			fModes = new HashSet(3);
-			for (int i = 0; i < strings.length; i++) {
-				String string = strings[i];
-				fModes.add(string.trim());
-			}
-		}
-		return fModes;
-	}
-	
-	/**
-	 * Returns the type identifier of launch configuration type this delegate is
-	 * contributed to.
-	 */
-	protected String getLaunchConfigurationType() {
-		return getConfigurationElement().getAttribute("type"); //$NON-NLS-1$
-	}
-	
-	protected ILaunchConfigurationDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			Object object = getConfigurationElement().createExecutableExtension("delegate"); //$NON-NLS-1$
-			if (object instanceof ILaunchConfigurationDelegate) {
-				fDelegate = (ILaunchConfigurationDelegate)object;
-			} else {
-				throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationType.Launch_delegate_for_{0}_does_not_implement_required_interface_ILaunchConfigurationDelegate._1"), new String[]{getIdentifier()}), null)); //$NON-NLS-1$
-			}		
-		}
-		return fDelegate;
-	}
-	
-	/**
-	 * Returns the identifier of this extension point.
-	 */
-	protected String getIdentifier() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
deleted file mode 100644
index f5fa326..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugCoreMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DebugCoreMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
deleted file mode 100644
index adf0f2c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,92 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-Breakpoint.no_associated_marker=Breakpoint does not have an associated marker.
-
-BreakpointManager.Missing_breakpoint_definition=Missing breakpoint definition for marker type {0}
-BreakpointManager.Missing_model_identifier=Breakpoint missing debug model identifier
-BreakpointManager.Breakpoint_extension_{0}_missing_required_attribute__markerType_1=Breakpoint extension {0} missing required attribute: markerType
-BreakpointManager.Breakpoint_extension_{0}_missing_required_attribute__class_2=Breakpoint extension {0} missing required attribute: class
-BreakpointManager.Class_{0}_specified_by_breakpoint_extension_{1}_does_not_implement_required_interface_IBreakpoint._3=Class {0} specified by breakpoint extension {1} does not implement required interface IBreakpoint.
-BreakpointManager.An_exception_occurred_during_breakpoint_change_notification._4=An exception occurred during breakpoint change notification.
-BreakpointManager.An_exception_occurred_during_breakpoint_change_notification._5=An exception occurred during breakpoint change notification.
-
-DebugEvent.illegal_detail=detail is not one of the allowed constants, see IDebugEventConstants
-DebugEvent.illegal_kind=kind is not one of the allowed constants, see IDebugEventConstants
-
-DebugPlugin.Invalid_status_handler_extension__{0}_2=Invalid status handler extension: {0}
-DebugPlugin.Debug_async_queue_1=Debug async queue
-DebugPlugin.Exception_occurred_executing_command_line._1=Exception occurred executing command line.
-DebugPlugin.Eclipse_runtime_does_not_support_working_directory_2=Eclipse runtime does not support working directory
-DebugPlugin.Registered_status_handler_{0}_does_not_implement_required_interface_IStatusHandler._1=Registered status handler {0} does not implement required interface IStatusHandler.
-DebugPlugin.An_exception_occurred_while_dispatching_debug_events._2=An exception occurred while dispatching debug events.
-DebugPlugin.An_exception_occurred_while_filtering_debug_events._3=An exception occurred while filtering debug events.
-DebugPlugin.31=Invalid process factory extension contributed by {0}; id: {1}
-
-EnvironmentVariableResolver.0=Environment variable not specified
-
-InputStreamMonitor.label=Input Stream Monitor
-
-Launch.terminate_failed=Terminate failed
-
-LaunchConfiguration.Exception_occurred_creating_launch_configuration_memento_9=Exception occurred creating launch configuration memento
-LaunchConfiguration.Exception_occurred_parsing_memento_5=Exception occurred parsing memento
-LaunchConfiguration.Failed_to_delete_launch_configuration._1=Failed to delete launch configuration.
-LaunchConfiguration.Invalid_launch_configuration_memento__missing_path_attribute_3=Invalid launch configuration memento: missing path attribute
-LaunchConfiguration.Invalid_launch_configuration_memento__missing_local_attribute_4=Invalid launch configuration memento: missing local attribute
-LaunchConfiguration.Unable_to_restore_location_for_launch_configuration_from_memento__{0}_1=Unable to restore location for launch configuration from memento: {0}
-LaunchConfiguration.Unable_to_generate_memento_for_{0},_shared_file_does_not_exist._1=Unable to generate memento for {0}, shared file does not exist.
-LaunchConfiguration.13=Incompatible launch mode: expecting {0} instead of {1}
-LaunchConfigurationDelegate.6=Searching for errors
-LaunchConfigurationDelegate.7=Searching for errors in 
-
-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_boolean._3=Attribute {0} is not of type boolean.
-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_int._2=Attribute {0} is not of type int.
-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.lang.String._1=Attribute {0} is not of type java.lang.String.
-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.List._1=Attribute {0} is not of type java.util.List.
-LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.Map._1=Attribute {0} is not of type java.util.Map.
-LaunchConfigurationInfo.Invalid_launch_configuration_XML._10=Invalid launch configuration XML.
-LaunchConfigurationInfo.missing_type=Launch configuration type id \"{0}\" does not exist.\nPossible causes:\n\tMissing specification of a launch type (missing plug-in)\n\tIncorrect launch configuration XML
-LaunchConfigurationInfo.36=A null key has been specified for an attribute in this launch configuration
-
-LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1={0} occurred generating launch configuration XML.
-LaunchConfigurationWorkingCopy.Specified_container_for_launch_configuration_does_not_exist_2=Specified container for launch configuration does not exist
-LaunchConfigurationWorkingCopy.5=Unable to save launch configuration.
-
-LaunchManager.{0}_occurred_while_reading_launch_configuration_file_{1}._1={0} occurred while reading launch configuration file: {1}.
-LaunchManager.Invalid_launch_configuration_index._18=Invalid launch configuration index.
-LaunchManager.Invalid_source_locator_extentsion_defined_by_plug-in___{0}______id___not_specified_12=Invalid source locator extension defined by plug-in \"{0}\": \"id\" not specified
-LaunchManager.does_not_exist=Launch configuration {0} at {1} does not exist.
-LaunchManager.Source_locator_does_not_exist__{0}_13=Source locator does not exist: {0}
-LaunchManager.Invalid_launch_configuration_comparator_extension_defined_by_plug-in_{0}_-_attribute_not_specified_1=Invalid launch configuration comparator extension defined by plug-in {0} - attribute not specified
-LaunchManager.An_exception_occurred_during_launch_change_notification._1=An exception occurred during launch change notification.
-LaunchManager.An_exception_occurred_during_launch_configuration_change_notification._3=An exception occurred during launch configuration change notification.
-LaunchManager.30=Unable to retrieve shared launch configuration file for {0}
-
-LaunchMode.1=Required attribute {0} missing for launchMode extension.
-
-LogicalStructureType.7=Required attribute {0} missing for logicalStructureType extension.
-
-OutputStreamMonitor.label=Output Stream Monitor
-
-ProcessMonitorJob.0=Process monitor
-
-RuntimeProcess.terminate_failed=Terminate failed
-RuntimeProcess.Exit_value_not_available_until_process_terminates._1=Exit value not available until process terminates.
-
-ExpressionManager.An_exception_occurred_during_expression_change_notification._1=An exception occurred during expression change notification.
-
-LaunchConfigurationType.Launch_delegate_for_{0}_does_not_implement_required_interface_ILaunchConfigurationDelegate._1=Launch delegate for {0} does not implement required interface ILaunchConfigurationDelegate.
-LaunchConfigurationType.9=Launch mode {0} not supported for configuration type {1}
-LaunchConfigurationType.10=Launch delegate not registered for configuration type {0}, mode {1}
-
-MemoryRenderingManager.ErrorMsg = The selected rendering cannot be created: {0}
-WatchExpression.0=(Watch expressions not supported)
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 e92c73a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.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.getString("EnvironmentVariableResolver.0"), null)); //$NON-NLS-1$
-		}
-		Map map= DebugPlugin.getDefault().getLaunchManager().getNativeEnvironment();
-		if (Platform.getOS().equals(Constants.OS_WIN32)) {
-			// On Win32, env variables are case insensitive, so we uppercase everything
-			// for map matches
-			argument= argument.toUpperCase();
-		}
-		return (String) map.get(argument);
-	}
-
-}
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 3b2879a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,579 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IExpressionListener;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The expression manager manages all registered expressions
- * for the debug plugin. It is instantiated by the debug plugin
- * at startup.
- *
- * @see IExpressionManager
- */
-public class ExpressionManager implements IExpressionManager, IDebugEventSetListener {
-	
-	/**
-	 * Collection of registered expressions.
-	 */
-	private Vector fExpressions = null;
-	
-	/**
-	 * List of expression listeners
-	 */
-	private ListenerList fListeners = null;
-	
-	/**
-	 * List of (multi) expressions listeners
-	 */
-	private ListenerList fExpressionsListeners = null;
-	
-	/**
-	 * Mapping of debug model identifiers (String) to
-	 * expression delegate extensions (IConfigurationElement)
-	 */
-	private Map fWatchExpressionDelegates= new HashMap();	
-	
-	// Constants for add/remove/change notification
-	private static final int ADDED = 1;
-	private static final int CHANGED = 2;
-	private static final int REMOVED = 3;
-
-	// Preference for persisted watch expressions
-	private static final String PREF_WATCH_EXPRESSIONS= "prefWatchExpressions"; //$NON-NLS-1$
-	// Persisted watch expression XML tags
-	private static final String WATCH_EXPRESSIONS_TAG= "watchExpressions"; //$NON-NLS-1$
-	private static final String EXPRESSION_TAG= "expression"; //$NON-NLS-1$
-	private static final String TEXT_TAG= "text"; //$NON-NLS-1$
-	private static final String ENABLED_TAG= "enabled"; //$NON-NLS-1$
-	// XML values
-	private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
-	private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-	
-	public ExpressionManager() {
-		loadPersistedExpressions();
-		loadWatchExpressionDelegates();
-	}
-	
-	/**
-	 * Loads the mapping of debug models to watch expression delegates
-	 * from the org.eclipse.debug.core.watchExpressionDelegates
-	 * extension point.
-	 */
-	private void loadWatchExpressionDelegates() {
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), "watchExpressionDelegates"); //$NON-NLS-1$
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
-			if (element.getName().equals("watchExpressionDelegate")) { //$NON-NLS-1$
-				String debugModel = element.getAttribute("debugModel"); //$NON-NLS-1$
-				if (debugModel == null || debugModel.length() == 0) {
-					continue;
-				}
-				fWatchExpressionDelegates.put(debugModel, element);
-			}
-		}
-	}
-	
-	/**
-	 * Returns a watch expression delegate specified for the given debug
-	 * model via extension or <code>null</code> if no delegate is available.
-	 * 
-	 * @param debugModel the unique identifier of a debug model
-	 * @return a watch expression delegate associated with the given model
-	 * 		or <code>null</code> if none
-	 * @since 3.0
-	 */
-	public IWatchExpressionDelegate newWatchExpressionDelegate(String debugModel) {
-		try {
-			IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(debugModel);
-			if (element != null) {
-				return (IWatchExpressionDelegate) element.createExecutableExtension("delegateClass"); //$NON-NLS-1$
-			} 
-			return null;
-		} catch (CoreException e) {
-			DebugPlugin.log(e);
-			return null;
-		}
-	}
-
-	/**
-	 * Loads any persisted watch expresions from the preferences.
-	 * NOTE: It's important that no setter methods are called on
-	 * 		the watchpoints which will fire change events as this
-	 * 		will cause an infinite loop (see Bug 27281).
-	 */
-	private void loadPersistedExpressions() {
-		String expressionsString= DebugPlugin.getDefault().getPluginPreferences().getString(PREF_WATCH_EXPRESSIONS);
-		if (expressionsString.length() == 0) {
-			return;
-		}
-		Element root;
-		try {
-			root = DebugPlugin.parseDocument(expressionsString);
-		} catch (CoreException e) {
-			DebugPlugin.logMessage("An exception occurred while loading watch expressions.", e); //$NON-NLS-1$
-			return;
-		}
-		if (!root.getNodeName().equals(WATCH_EXPRESSIONS_TAG)) {
-			DebugPlugin.logMessage("Invalid format encountered while loading watch expressions.", null); //$NON-NLS-1$
-			return;
-		}
-		NodeList list= root.getChildNodes();
-		boolean expressionsAdded= false;
-		for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
-			Node node= list.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				Element element= (Element) node;
-				if (!element.getNodeName().equals(EXPRESSION_TAG)) {
-					DebugPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading watch expressions: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
-					continue;
-				}
-				String expressionText= element.getAttribute(TEXT_TAG);
-				if (expressionText.length() > 0) {
-					boolean enabled= TRUE_VALUE.equals(element.getAttribute(ENABLED_TAG));
-					IWatchExpression expression= newWatchExpression(expressionText, enabled);
-					if (fExpressions == null) {
-						fExpressions= new Vector(list.getLength());
-					}
-					fExpressions.add(expression);
-					expressionsAdded= true;
-				} else {
-					DebugPlugin.logMessage("Invalid expression entry encountered while loading watch expressions. Expression text is empty.", null); //$NON-NLS-1$
-				}
-			}
-		}
-		if (expressionsAdded) {
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-	}
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 * @return the new watch expression
-	 */
-	private IWatchExpression newWatchExpression(String expressionText, boolean enabled) {
-		return new WatchExpression(expressionText, enabled);
-	}
-
-	/**
-	 * @see IExpressionManager#newWatchExpression(String)
-	 */
-	public IWatchExpression newWatchExpression(String expressionText) {
-		return new WatchExpression(expressionText);
-	}
-	
-	/**
-	 * Persists this manager's watch expressions as XML in the
-	 * preference store. 
-	 */
-	public void storeWatchExpressions() {
-		Preferences prefs= DebugPlugin.getDefault().getPluginPreferences();
-		String expressionString= ""; //$NON-NLS-1$
-		try {
-			expressionString= getWatchExpressionsAsXML();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		} catch (ParserConfigurationException e) {
-			DebugPlugin.log(e);
-		} catch (TransformerException e) {
-			DebugPlugin.log(e);
-		}
-		prefs.setValue(PREF_WATCH_EXPRESSIONS, expressionString);
-		DebugPlugin.getDefault().savePluginPreferences();
-	}
-
-	/**
-	 * Returns this manager's watch expressions as XML.
-	 * @return this manager's watch expressions as XML
-	 * @throws IOException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws ParserConfigurationException if an exception occurs while creating
-	 * 		the XML document.
-	 * @throws TransformerException if an exception occurs while creating
-	 * 		the XML document.
-	 */
-	private String getWatchExpressionsAsXML() throws IOException, ParserConfigurationException, TransformerException {
-		IExpression[] expressions= getExpressions();
-		Document document= LaunchManager.getDocument();
-		Element rootElement= document.createElement(WATCH_EXPRESSIONS_TAG);
-		document.appendChild(rootElement);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression= expressions[i];
-			if (expression instanceof IWatchExpression) {
-				Element element= document.createElement(EXPRESSION_TAG); 
-				element.setAttribute(TEXT_TAG, expression.getExpressionText());
-				element.setAttribute(ENABLED_TAG, ((IWatchExpression) expression).isEnabled() ? TRUE_VALUE : FALSE_VALUE);
-				rootElement.appendChild(element);
-			}
-		}
-		return LaunchManager.serializeDocument(document);
-	}
-
-	/**
-	 * @see IExpressionManager#addExpression(IExpression)
-	 */
-	public void addExpression(IExpression expression) {
-		addExpressions(new IExpression[]{expression});
-	}
-	
-	/**
-	 * @see IExpressionManager#addExpressions(IExpression[])
-	 */
-	public void addExpressions(IExpression[] expressions) {
-		if (fExpressions == null) {
-			fExpressions = new Vector(expressions.length);
-		}
-		boolean addedWatchExpression= false;
-		boolean wasEmpty = fExpressions.isEmpty();
-		List added = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.indexOf(expression) == -1) {
-				added.add(expression);
-				fExpressions.add(expression);
-				if (expression instanceof IWatchExpression) {
-					addedWatchExpression= true;
-				}
-			}				
-		}
-		if (wasEmpty) {
-			DebugPlugin.getDefault().addDebugEventListener(this);	
-		}
-		if (!added.isEmpty()) {
-			fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), ADDED);
-		}
-		if (addedWatchExpression) {
-			storeWatchExpressions();
-		}
-	}	
-
-	/**
-	 * @see IExpressionManager#getExpressions()
-	 */
-	public IExpression[] getExpressions() {
-		if (fExpressions == null) {
-			return new IExpression[0];
-		}
-		IExpression[] temp= new IExpression[fExpressions.size()];
-		fExpressions.copyInto(temp);
-		return temp;
-	}
-
-	/**
-	 * @see IExpressionManager#getExpressions(String)
-	 */
-	public IExpression[] getExpressions(String modelIdentifier) {
-		if (fExpressions == null) {
-			return new IExpression[0];
-		}
-		ArrayList temp= new ArrayList(fExpressions.size());
-		Iterator iter= fExpressions.iterator();
-		while (iter.hasNext()) {
-			IExpression expression= (IExpression) iter.next();
-			String id= expression.getModelIdentifier();
-			if (id != null && id.equals(modelIdentifier)) {
-				temp.add(expression);
-			}
-		}
-		return (IExpression[]) temp.toArray(new IExpression[temp.size()]);
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpression(IExpression)
-	 */
-	public void removeExpression(IExpression expression) {
-		removeExpressions(new IExpression[] {expression});
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpressions(IExpression[])
-	 */
-	public void removeExpressions(IExpression[] expressions) {
-		if (fExpressions == null) {
-			return;
-		}
-		List removed = new ArrayList(expressions.length);
-		for (int i = 0; i < expressions.length; i++) {
-			IExpression expression = expressions[i];
-			if (fExpressions.remove(expression)) {
-				removed.add(expression);
-				expression.dispose();
-			}				
-		}
-		if (fExpressions.isEmpty()) {
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-		if (!removed.isEmpty()) {
-			fireUpdate((IExpression[])removed.toArray(new IExpression[removed.size()]), REMOVED);
-			storeWatchExpressions();
-		}
-	}	
-	
-	/**
-	 * @see IExpressionManager#addExpressionListener(IExpressionListener)
-	 */
-	public void addExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			fListeners = new ListenerList(2);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * @see IExpressionManager#removeExpressionListener(IExpressionListener)
-	 */
-	public void removeExpressionListener(IExpressionListener listener) {
-		if (fListeners == null) {
-			return;
-		}
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvent(DebugEvent)
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			List changed = null;
-			DebugEvent event = events[i];
-			if (event.getSource() instanceof IExpression) {
-				switch (event.getKind()) {
-					case DebugEvent.CHANGE:
-						if (changed == null) {
-							changed = new ArrayList(1);
-						}
-						changed.add(event.getSource());
-						break;
-					default:
-						break;
-				}
-			} 
-			if (changed != null) {
-				IExpression[] array = (IExpression[])changed.toArray(new IExpression[changed.size()]);
-				fireUpdate(array, CHANGED);
-			}
-		}
-	}
-	
-	/**
-	 * The given watch expression has changed. Update the persisted
-	 * expressions to store this change.
-	 * 
-	 * @param expression the changed expression
-	 */
-	protected void watchExpressionChanged(IWatchExpression expression) {
-		if (fExpressions != null && fExpressions.contains(expression)) {
-			storeWatchExpressions();
-		}
-	}
-
-	/**
-	 * Notifies listeners of the adds/removes/changes
-	 * 
-	 * @param breakpoints associated breakpoints
-	 * @param deltas or <code>null</code>
-	 * @param update type of change
-	 */
-	private void fireUpdate(IExpression[] expressions, int update) {
-		// single listeners
-		getExpressionNotifier().notify(expressions, update);
-		
-		// multi listeners
-		getExpressionsNotifier().notify(expressions, update);
-	}	
-
-	/**
-	 * @see IExpressionManager#hasExpressions()
-	 */
-	public boolean hasExpressions() {
-		return fExpressions != null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionsListener)
-	 */
-	public void addExpressionListener(IExpressionsListener listener) {
-		if (fExpressionsListeners == null) {
-			fExpressionsListeners = new ListenerList(2);
-		}
-		fExpressionsListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.IExpressionManager#removeExpressionListener(org.eclipse.debug.core.IExpressionsListener)
-	 */
-	public void removeExpressionListener(IExpressionsListener listener) {
-		if (fExpressionsListeners == null) {
-			return;
-		}
-		fExpressionsListeners.remove(listener);
-	}
-	
-	private ExpressionNotifier getExpressionNotifier() {
-		return new ExpressionNotifier();
-	}
-	
-	/**
-	 * Notifies an expression listener (single expression) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class ExpressionNotifier implements ISafeRunnable {
-		
-		private IExpressionListener fListener;
-		private int fType;
-		private IExpression fExpression;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("ExpressionManager.An_exception_occurred_during_expression_change_notification._1"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.expressionAdded(fExpression);
-					break;
-				case REMOVED:
-					fListener.expressionRemoved(fExpression);
-					break;
-				case CHANGED:
-					fListener.expressionChanged(fExpression);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies listeners of the add/change/remove
-		 * 
-		 * @param expression the expression that has changed
-		 * @param update the type of change
-		 */
-		public void notify(IExpression[] expressions, int update) {
-			if (fListeners != null) {
-				fType = update;
-				Object[] copiedListeners= fListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionListener)copiedListeners[i];
-					for (int j = 0; j < expressions.length; j++) {
-						fExpression = expressions[j];
-						Platform.run(this);
-					}
-				}			
-			}
-			fListener = null;
-			fExpression = null;
-		}
-	}
-	
-	private ExpressionsNotifier getExpressionsNotifier() {
-		return new ExpressionsNotifier();
-	}
-	
-	/**
-	 * Notifies an expression listener (multiple expressions) in a safe runnable
-	 * to handle exceptions.
-	 */
-	class ExpressionsNotifier implements ISafeRunnable {
-		
-		private IExpressionsListener fListener;
-		private int fType;
-		private IExpression[] fNotifierExpressions;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("ExpressionManager.An_exception_occurred_during_expression_change_notification._1"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.expressionsAdded(fNotifierExpressions);
-					break;
-				case REMOVED:
-					fListener.expressionsRemoved(fNotifierExpressions);
-					break;
-				case CHANGED:
-					fListener.expressionsChanged(fNotifierExpressions);		
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies listeners of the adds/changes/removes
-		 * 
-		 * @param expressions the expressions that changed
-		 * @param update the type of change
-		 */
-		public void notify(IExpression[] expressions, int update) {
-			if (fExpressionsListeners != null) { 
-				fNotifierExpressions = expressions;
-				fType = update;
-				Object[] copiedListeners = fExpressionsListeners.getListeners();
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IExpressionsListener)copiedListeners[i];
-					Platform.run(this);
-				}
-			}	
-			fNotifierExpressions = null;
-			fListener = null;				
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
deleted file mode 100644
index e2a6926..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Writes to the input stream of a system process, 
- * queueing output if the stream is blocked.
- * 
- * The input stream monitor writes to system in via
- * an output stream.
- */
-public class InputStreamMonitor {
-	
-	/**
-	 * The stream which is being written to (connected to system in).
-	 */
-	private OutputStream fStream;
-	/**
-	 * The queue of output.
-	 */
-	private Vector fQueue;
-	/**
-	 * The thread which writes to the stream.
-	 */
-	private Thread fThread;
-	/**
-	 * A lock for ensuring that writes to the queue are contiguous
-	 */
-	private Object fLock;
-	
-	/**
-	 * Creates an input stream monitor which writes
-	 * to system in via the given output stream.
-	 */
-	public InputStreamMonitor(OutputStream stream) {
-		fStream= stream;
-		fQueue= new Vector();
-		fLock= new Object();
-	}
-	
-	/**
-	 * Appends the given text to the stream, or
-	 * queues the text to be written at a later time
-	 * if the stream is blocked.
-	 */
-	public void write(String text) {
-		synchronized(fLock) {
-			fQueue.add(text);
-			fLock.notifyAll();
-		}
-	}
-
-	/**
-	 * Starts a thread which writes the stream.
-	 */
-	public void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					write();
-				}
-			}, DebugCoreMessages.getString("InputStreamMonitor.label")); //$NON-NLS-1$
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * Close all communications between this
-	 * monitor and the underlying stream.
-	 */
-	public void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			thread.interrupt(); 
-		}
-	}
-	
-	/**
-	 * Continuously writes to the stream.
-	 */
-	protected void write() {
-		while (fThread != null) {
-			writeNext();
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Write the text in the queue to the stream.
-	 */
-	protected void writeNext() {
-		while (!fQueue.isEmpty()) {
-			String text = (String)fQueue.firstElement();
-			fQueue.removeElementAt(0);
-			try {
-				fStream.write(text.getBytes());
-				fStream.flush();
-			} catch (IOException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		try {
-			synchronized(fLock) {
-				fLock.wait();
-			}
-		} catch (InterruptedException e) {
-		}
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
deleted file mode 100644
index 8494b60..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,584 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * Launch configuration handle.
- * 
- * @see ILaunchConfiguration
- */
-public class LaunchConfiguration extends PlatformObject implements ILaunchConfiguration {
-	
-	/**
-	 * Location this configuration is stored in. This 
-	 * is the key for a launch configuration handle.
-	 */
-	private IPath fLocation;
-	
-	/**
-	 * Constructs a launch configuration in the given location.
-	 * 
-	 * @param location path to where this launch configuration's
-	 *  underlying file is located
-	 */
-	protected LaunchConfiguration(IPath location) {
-		setLocation(location);
-	}
-	
-	/**
-	 * Constructs a launch configuration from the given
-	 * memento.
-	 * 
-	 * @param memento launch configuration memento
-	 * @exception CoreException if the memento is invalid or
-	 * 	an exception occurs reading the memento
-	 */
-	protected LaunchConfiguration(String memento) throws CoreException {
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-			
-			String localString = root.getAttribute("local"); //$NON-NLS-1$
-			String path = root.getAttribute("path"); //$NON-NLS-1$
-
-			String message = null;				
-			if (path == null) {
-				message = DebugCoreMessages.getString("LaunchConfiguration.Invalid_launch_configuration_memento__missing_path_attribute_3"); //$NON-NLS-1$
-			} else if (localString == null) {
-				message = DebugCoreMessages.getString("LaunchConfiguration.Invalid_launch_configuration_memento__missing_local_attribute_4"); //$NON-NLS-1$
-			}
-			if (message != null) {
-				IStatus s = newStatus(message, DebugException.INTERNAL_ERROR, null);
-				throw new CoreException(s);
-			}
-			
-			IPath location = null;
-			boolean local = (Boolean.valueOf(localString)).booleanValue();
-			if (local) {
-				location = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.append(path);
-			} else {
-				location = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path)).getLocation();
-			}
-			setLocation(location);
-			if (location == null) {
-				IStatus s = newStatus(MessageFormat.format(DebugCoreMessages.getString("LaunchConfiguration.Unable_to_restore_location_for_launch_configuration_from_memento__{0}_1"), new String[]{path}), DebugPlugin.INTERNAL_ERROR, null); //$NON-NLS-1$
-				throw new CoreException(s);
-			}
-			return;
-		} catch (ParserConfigurationException e) {
-			ex = e;			
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		IStatus s = newStatus(DebugCoreMessages.getString("LaunchConfiguration.Exception_occurred_parsing_memento_5"), DebugException.INTERNAL_ERROR, ex); //$NON-NLS-1$
-		throw new CoreException(s);
-	}
-	
-	/**
-	 * Creates and returns a new error status based on 
-	 * the given message, code, and exception.
-	 * 
-	 * @param message error message
-	 * @param code error code
-	 * @param e exception or <code>null</code>
-	 * @return status
-	 */
-	protected IStatus newStatus(String message, int code, Throwable e) {
-		return new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), code, message, e);
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#launch(String, IProgressMonitor)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException {
-		return launch(mode, monitor, false);
-	}
-	
-	/**
-	 * Set the source locator to use with the launch, if specified 
-	 * by this configuration.
-	 * 
-	 * @param launch the launch on which to set the source locator
-	 */
-	protected void initializeSourceLocator(ILaunch launch) throws CoreException {
-		if (launch.getSourceLocator() == null) {
-			String type = getAttribute(ATTR_SOURCE_LOCATOR_ID, (String)null);
-			if (type == null) {
-				type = getType().getSourceLocatorId();
-			}
-			if (type != null) {
-				IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);
-				String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-				if (memento == null) {
-					locator.initializeDefaults(this);
-				} else {
-					if(locator instanceof IPersistableSourceLocator2)
-						((IPersistableSourceLocator2)locator).initializeFromMemento(memento, this);
-					else
-						locator.initializeFromMemento(memento);
-				}
-				launch.setSourceLocator(locator);
-			}
-		}
-	}
-
-	/**
-	 * @see ILaunchConfiguration#supportsMode(String)
-	 */
-	public boolean supportsMode(String mode) throws CoreException {
-		return getType().supportsMode(mode);
-	}
-
-	/**
-	 * A configuration's name is that of the last segment
-	 * in it's location (subtract the ".launch" extension).
-	 * 
-	 * @see ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return getLastLocationSegment();
-	}
-	
-	private String getLastLocationSegment() {
-		String name = getLocation().lastSegment();
-		if (name.length() > LAUNCH_CONFIGURATION_FILE_EXTENSION.length()) {
-			name = name.substring(0, name.length() - (LAUNCH_CONFIGURATION_FILE_EXTENSION.length() + 1));
-		}
-		return name;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		return fLocation;
-	}
-
-	/**
-	 * Sets the location of this configuration's underlying
-	 * file.
-	 * 
-	 * @param location the location of this configuration's underlying
-	 *  file
-	 */
-	private void setLocation(IPath location) {
-		fLocation = location;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#exists()
-	 */
-	public boolean exists() {
-		return getLocation().toFile().exists();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, int)
-	 */
-	public int getAttribute(String attributeName, int defaultValue) throws CoreException {
-		return getInfo().getIntAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, String)
-	 */
-	public String getAttribute(String attributeName, String defaultValue) throws CoreException {
-		return getInfo().getStringAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, boolean)
-	 */
-	public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException {
-		return getInfo().getBooleanAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, List)
-	 */
-	public List getAttribute(String attributeName, List defaultValue) throws CoreException {
-		return getInfo().getListAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getAttribute(String, Map)
-	 */
-	public Map getAttribute(String attributeName, Map defaultValue) throws CoreException {
-		return getInfo().getMapAttribute(attributeName, defaultValue);
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getType()
-	 */
-	public ILaunchConfigurationType getType() throws CoreException {
-		return getInfo().getType();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		IPath localPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		return localPath.isPrefixOf(getLocation());
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getWorkingCopy()
-	 */
-	public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
-		return new LaunchConfigurationWorkingCopy(this);
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#copy(String name)
-	 */
-	public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = new LaunchConfigurationWorkingCopy(this, name);
-		return copy;
-	}	
-
-	/**
-	 * @see ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return false;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#delete()
-	 */
-	public void delete() throws CoreException {
-		if (exists()) {
-			if (isLocal()) {
-				if (!(getLocation().toFile().delete())) {
-					throw new DebugException(
-						new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfiguration.Failed_to_delete_launch_configuration._1"), null) //$NON-NLS-1$
-					);
-				}
-				// manually update the launch manager cache since there
-				// will be no resource delta
-				getLaunchManager().launchConfigurationDeleted(this);
-			} else {
-				// delete the resource using IFile API such that
-				// resource deltas are fired.
-				IFile file = getFile();
-				if (file != null) {
-					// validate edit
-					if (file.isReadOnly()) {
-						IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
-						if (!status.isOK()) {
-							throw new CoreException(status);
-						}
-					}
-					file.delete(true, null);
-				} else {
-					// Error - the exists test passed, but could not locate file 
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the info object containing the attributes
-	 * of this configuration
-	 * 
-	 * @return info for this handle
-	 * @exception CoreException if unable to retrieve the
-	 *  info object
-	 */
-	protected LaunchConfigurationInfo getInfo() throws CoreException {
-		return getLaunchManager().getInfo(this);
-	}
-	
-	/**
-	 * Returns the launch configuration delegate for this
-	 * launch configuration, for the specified launch mode.
-	 * 
-	 * @param mode launch mode
-	 * @return launch configuration delegate
-	 * @exception CoreException if the delegate was unable
-	 *  to be created
-	 */
-	protected ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException {
-		return getType().getDelegate(mode);
-	}
-	
-	/**
-	 * Returns the launch manager
-	 * 
-	 * @return launch manager
-	 */
-	protected LaunchManager getLaunchManager() {
-		return (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() throws CoreException {
-		IPath relativePath = null;
-		if (isLocal()) {
-			IPath rootPath = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			IPath configPath = getLocation();
-			relativePath = configPath.removeFirstSegments(rootPath.segmentCount());
-			relativePath = relativePath.setDevice(null);
-		} else {
-			IFile file = getFile();
-			if (file == null) {
-				// cannot generate memento - missing file
-				IStatus status = newStatus(MessageFormat.format(DebugCoreMessages.getString("LaunchConfiguration.Unable_to_generate_memento_for_{0},_shared_file_does_not_exist._1"), new String[]{getName()}), DebugException.INTERNAL_ERROR, null); //$NON-NLS-1$
-				throw new CoreException(status); 
-			}
-			relativePath = getFile().getFullPath();
-		}
-		Exception e= null;
-		try {
-			Document doc = LaunchManager.getDocument();
-			Element node = doc.createElement("launchConfiguration"); //$NON-NLS-1$
-			doc.appendChild(node);
-			node.setAttribute("local", (new Boolean(isLocal())).toString()); //$NON-NLS-1$
-			node.setAttribute("path", relativePath.toString()); //$NON-NLS-1$
-			return LaunchManager.serializeDocument(doc);
-		} catch (IOException ioe) {
-			e= ioe;
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;
-		}
-		if (e != null) {
-			IStatus status = newStatus(DebugCoreMessages.getString("LaunchConfiguration.Exception_occurred_creating_launch_configuration_memento_9"), DebugException.INTERNAL_ERROR,  e); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-		//execution will never reach here
-		return null;
-		
-	}
-
-	/**
-	 * @see ILaunchConfiguration#getFile()
-	 */	
-	public IFile getFile() {
-		if (isLocal()) {
-			return null;
-		}
-		IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(getLocation());
-		if (files.length > 0) {
-			return files[0];
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#contentsEqual(ILaunchConfiguration)
-	 */
-	public boolean contentsEqual(ILaunchConfiguration object) {
-		try {
-			if (object instanceof LaunchConfiguration) {
-				LaunchConfiguration otherConfig = (LaunchConfiguration) object;
-				return getName().equals(otherConfig.getName())
-				 	 && getType().equals(otherConfig.getType())
-				 	 && getLocation().equals(otherConfig.getLocation())
-					 && getInfo().equals(otherConfig.getInfo());
-			}
-			return false;
-		} catch (CoreException ce) {
-			return false;
-		}
-	}
-
-	/**
-	 * Returns whether this configuration is equal to the
-	 * given configuration. Two configurations are equal if
-	 * they are stored in the same location (and neither one
-	 * is a working copy).
-	 * 
-	 * @return whether this configuration is equal to the
-	 *  given configuration
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (object instanceof ILaunchConfiguration) {
-			if (isWorkingCopy()) {
-				return this == object;
-			} 
-			ILaunchConfiguration config = (ILaunchConfiguration) object;
-			if (!config.isWorkingCopy()) {
-				return config.getLocation().equals(getLocation());
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getLocation().hashCode();
-	}
-	
-	/**
-	 * Returns the container this launch configuration is 
-	 * stored in, or <code>null</code> if this launch configuration
-	 * is stored locally.
-	 * 
-	 * @return the container this launch configuration is 
-	 * stored in, or <code>null</code> if this launch configuration
-	 * is stored locally
-	 */
-	protected IContainer getContainer() {
-		IFile file = getFile();
-		if (file != null) {
-			return file.getParent();
-		}
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getCategory()
-	 */
-	public String getCategory() throws CoreException {
-		return getType().getCategory();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#getAttributes()
-	 */
-	public Map getAttributes() throws CoreException {
-		LaunchConfigurationInfo info = getInfo();
-		return info.getAttributes();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean)
-	 */
-	public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException {
-		// bug 28245 - force the delegate to load in case it is interested in launch notifications
-		ILaunchConfigurationDelegate delegate= getDelegate(mode);
-		ILaunchConfigurationDelegate2 delegate2 = null;
-		if (delegate instanceof ILaunchConfigurationDelegate2) {
-			delegate2 = (ILaunchConfigurationDelegate2) delegate;
-		}
-		// allow the delegate to provide a launch implementation
-		ILaunch launch = null;
-		if (delegate2 != null) {
-			launch = delegate2.getLaunch(this, mode);
-		}
-		if (launch == null) {
-			launch = new Launch(this, mode, null);
-		} else {
-			// ensure the launch mode is valid
-			if (!mode.equals(launch.getLaunchMode())) {
-				IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, 
-						MessageFormat.format(DebugCoreMessages.getString("LaunchConfiguration.13"), new String[]{mode, launch.getLaunchMode()}), null); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-		}
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}		
-		// perform initial pre-launch sanity checks
-		if (delegate2 != null) {
-			if (!(delegate2.preLaunchCheck(this, mode, monitor))) {
-				// canceled
-				monitor.setCanceled(true);
-				return launch;
-			}
-		}
-		// preform pre-launch build
-		IProgressMonitor subMonitor = monitor;
-		if (build) {
-			subMonitor = new SubProgressMonitor(monitor, 100);
-			if (delegate2 != null) {
-				build = delegate2.buildForLaunch(this, mode, subMonitor);
-			}
-			if (build) {
-				ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, subMonitor);				
-			}
-			subMonitor = new SubProgressMonitor(monitor, 100);
-		}
-		// final validation
-		if (delegate2 != null) {
-			if (!(delegate2.finalLaunchCheck(this, mode, subMonitor))) {
-				// canceled
-				monitor.setCanceled(true);
-				return launch;
-			}
-		}
-		
-		getLaunchManager().addLaunch(launch);
-		try {
-			initializeSourceLocator(launch);
-			delegate.launch(this, mode, launch, subMonitor);
-		} catch (CoreException e) {
-			// if there was an exception, and the launch is empty, remove it
-			if (!launch.hasChildren()) {
-				getLaunchManager().removeLaunch(launch);
-			}
-			throw e;
-		}
-		if (monitor.isCanceled()) {
-			getLaunchManager().removeLaunch(launch);
-		}
-		return launch;
-
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
deleted file mode 100644
index 2032315..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Proxy to a runtime classpath entry resolver extension.
- */
-public class LaunchConfigurationComparator implements Comparator {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	private Comparator fDelegate;
-	
-	/**
-	 * Constructs a new resolver on the given configuration element
-	 */
-	public LaunchConfigurationComparator(IConfigurationElement element) {
-		fConfigurationElement = element;
-	}
-		
-	/**
-	 * Returns the resolver delegate (and creates if required) 
-	 */
-	protected Comparator getComparator() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (Comparator)fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-	
-
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		return getComparator().compare(o1, o2);
-	}
-
-	/**
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		return getComparator().equals(obj);
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
deleted file mode 100644
index 40d3911..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,574 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
- 
-/**
- * The information associated with a launch configuration
- * handle.
- */
-public class LaunchConfigurationInfo {
-
-	/**
-	 * This configurations attribute table.
-	 * Keys are <code>String</code>s and values
-	 * are one of <code>String</code>, <code>Integer</code>,
-	 * or <code>Boolean</code>.
-	 */
-	private HashMap fAttributes;
-	
-	/**
-	 * This launch configuration's type
-	 */
-	private ILaunchConfigurationType fType;
-	
-	/**
-	 * Constructs a new empty info
-	 */
-	protected LaunchConfigurationInfo() {
-		setAttributeTable(new HashMap(10));
-	}
-	
-	/**
-	 * Returns this configuration's attribute table.
-	 * 
-	 * @return attribute table
-	 */
-	private HashMap getAttributeTable() {
-		return fAttributes;
-	}
-
-	/**
-	 * Sets this configuration's attribute table.
-	 * 
-	 * @param table attribute table
-	 */	
-	private void setAttributeTable(HashMap table) {
-		fAttributes = table;
-	}
-	
-	/**
-	 * Sets the attributes in this info to those in the given map.
-	 * 
-	 * @param map
-	 */
-	protected void setAttributes(Map map) {
-		if (map == null) {
-			setAttributeTable(new HashMap());
-			return;
-		}
-		Set entrySet = map.entrySet();
-		HashMap attributes = new HashMap(entrySet.size());
-		Iterator iter = entrySet.iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry)iter.next();
-			attributes.put(entry.getKey(), entry.getValue());
-		}
-		setAttributeTable(attributes);
-	}
-	
-	/**
-	 * Returns the <code>String</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @throws CoreException if the attribute with the given key exists
-	 *  but is not a <code>String</code>
-	 */
-	protected String getStringAttribute(String key, String defaultValue) throws CoreException {
-		Object attr = getAttributeTable().get(key);
-		if (attr != null) {
-			if (attr instanceof String) {
-				return (String)attr;
-			} 
-			throw new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.lang.String._1"), new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>int</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @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.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_int._2"), new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>boolean</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @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.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_boolean._3"), new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.List</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @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.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.List._1"), new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/**
-	 * Returns the <code>java.util.Map</code> attribute with the
-	 * given key or the given default value if undefined.
-	 * 
-	 * @return attribute specified by given key or the defaultValue
-	 *  if undefined
-	 * @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.getString("LaunchConfigurationInfo.Attribute_{0}_is_not_of_type_java.util.Map._1"), new String[] {key}), null //$NON-NLS-1$
-				)
-			);
-		}
-		return defaultValue;
-	}
-	
-	/** 
-	 * Sets this configuration's type.
-	 * 
-	 * @param type launch configuration type
-	 */
-	protected void setType(ILaunchConfigurationType type) {
-		fType = type;
-	}
-	
-	/** 
-	 * Returns this configuration's type.
-	 * 
-	 * @return launch configuration type
-	 */
-	protected ILaunchConfigurationType getType() {
-		return fType;
-	}	
-	
-	
-	/**
-	 * Returns a copy of this info object
-	 * 
-	 * @return copy of this info
-	 */
-	protected LaunchConfigurationInfo getCopy() {
-		LaunchConfigurationInfo copy = new LaunchConfigurationInfo();
-		copy.setType(getType());
-		copy.setAttributeTable(getAttributes());
-		return copy;
-	}
-	
-	/**
-	 * Returns a copy of this info's attribute map.
-	 * 
-	 * @return a copy of this info's attribute map
-	 */
-	protected HashMap getAttributes() {
-		return (HashMap)getAttributeTable().clone();
-	}
-	
-	/**
-	 * Sets the given attribute to the given value. Only
-	 * working copy's should use this API.
-	 * 
-	 * @param key attribute key
-	 * @param value attribute value
-	 */
-	protected void setAttribute(String key, Object value) {
-		if (value == null) {
-			getAttributeTable().remove(key);
-		} else {
-			getAttributeTable().put(key, value);
-		}
-	}
-	
-	/**
-	 * Returns the content of this info as XML
-	 * 
-	 * @return the content of this info as XML
-	 * @throws CoreException if a attribute has been set with a null key
-	 * @throws IOException if an exception occurs creating the XML
-	 * @throws ParserConfigurationException if an exception occurs creating the XML
-	 * @throws TransformerException if an exception occurs creating the XML
-	 */
-	protected String getAsXML() throws CoreException, IOException, ParserConfigurationException, TransformerException {
-
-		Document doc = LaunchManager.getDocument();
-		Element configRootElement = doc.createElement("launchConfiguration"); //$NON-NLS-1$
-		doc.appendChild(configRootElement);
-		
-		configRootElement.setAttribute("type", getType().getIdentifier()); //$NON-NLS-1$
-		
-		Iterator keys = getAttributeTable().keySet().iterator();
-		while (keys.hasNext()) {
-			String key = (String)keys.next();
-			if (key == null) {
-				throw new DebugException(
-					new Status(
-						IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationInfo.36"), null //$NON-NLS-1$
-					)
-				);
-			}
-			Object value = getAttributeTable().get(key);
-			if (value == null) {
-				continue;
-			}
-			Element element = null;
-			String valueString = null;
-			if (value instanceof String) {
-				valueString = (String)value;
-				element = createKeyValueElement(doc, "stringAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof Integer) {
-				valueString = ((Integer)value).toString();
-				element = createKeyValueElement(doc, "intAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof Boolean) {
-				valueString = ((Boolean)value).toString();
-				element = createKeyValueElement(doc, "booleanAttribute", key, valueString); //$NON-NLS-1$
-			} else if (value instanceof List) {				
-				element = createListElement(doc, "listAttribute", key, (List)value); //$NON-NLS-1$
-			} else if (value instanceof Map) {				
-				element = createMapElement(doc, "mapAttribute", key, (Map)value); //$NON-NLS-1$
-			}			
-			configRootElement.appendChild(element);
-		}
-
-		return LaunchManager.serializeDocument(doc);
-	}
-	
-	/**
-	 * Helper method that creates a 'key value' element of the specified type with the 
-	 * specified attribute values.
-	 */
-	protected Element createKeyValueElement(Document doc, String elementType, String key, String value) {
-		Element element = doc.createElement(elementType);
-		element.setAttribute("key", key); //$NON-NLS-1$
-		element.setAttribute("value", value); //$NON-NLS-1$
-		return element;
-	}
-	
-	protected Element createListElement(Document doc, String elementType, String listKey, List list) {
-		Element listElement = doc.createElement(elementType);
-		listElement.setAttribute("key", listKey); //$NON-NLS-1$
-		Iterator iterator = list.iterator();
-		while (iterator.hasNext()) {
-			String value = (String) iterator.next();
-			Element element = doc.createElement("listEntry"); //$NON-NLS-1$
-			element.setAttribute("value", value); //$NON-NLS-1$
-			listElement.appendChild(element);
-		}		
-		return listElement;
-	}
-	
-	protected Element createMapElement(Document doc, String elementType, String mapKey, Map map) {
-		Element mapElement = doc.createElement(elementType);
-		mapElement.setAttribute("key", mapKey); //$NON-NLS-1$
-		Iterator iterator = map.keySet().iterator();
-		while (iterator.hasNext()) {
-			String key = (String) iterator.next();
-			String value = (String) map.get(key);
-			Element element = doc.createElement("mapEntry"); //$NON-NLS-1$
-			element.setAttribute("key", key); //$NON-NLS-1$
-			element.setAttribute("value", value); //$NON-NLS-1$
-			mapElement.appendChild(element);
-		}		
-		return mapElement;		
-	}
-	
-	protected void initializeFromXML(Element root) throws CoreException {
-		if (!root.getNodeName().equalsIgnoreCase("launchConfiguration")) { //$NON-NLS-1$
-			throw getInvalidFormatDebugException();
-		}
-		
-		// read type
-		String id = root.getAttribute("type"); //$NON-NLS-1$
-		if (id == null) {
-			throw getInvalidFormatDebugException();
-		} 
-		
-		ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
-		if (type == null) {
-			String message= MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationInfo.missing_type"), new Object[]{id}); //$NON-NLS-1$
-			throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, message, null)
-				);
-		}
-		setType(type);
-		
-		NodeList list = root.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short nodeType = node.getNodeType();
-			if (nodeType == Node.ELEMENT_NODE) {
-				Element element = (Element) node;
-				String nodeName = element.getNodeName();
-				
-				if (nodeName.equalsIgnoreCase("stringAttribute")) { //$NON-NLS-1$
-					setStringAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("intAttribute")) { //$NON-NLS-1$
-					setIntegerAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("booleanAttribute"))  { //$NON-NLS-1$
-					setBooleanAttribute(element);
-				} else if (nodeName.equalsIgnoreCase("listAttribute")) {   //$NON-NLS-1$
-					setListAttribute(element);					
-				} else if (nodeName.equalsIgnoreCase("mapAttribute")) {    //$NON-NLS-1$
-					setMapAttribute(element);										
-				}
-			}
-		}
-	}	
-	
-	protected void setStringAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, value);
-	}
-	
-	protected void setIntegerAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, new Integer(value));
-	}
-	
-	protected void setBooleanAttribute(Element element) throws CoreException {
-		String key = getKeyAttribute(element);
-		String value = getValueAttribute(element);
-		setAttribute(key, new Boolean(value));
-	}
-	
-	protected void setListAttribute(Element element) throws CoreException {
-		String listKey = element.getAttribute("key");  //$NON-NLS-1$
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		List list = new ArrayList(entryCount);
-		for (int i = 0; i < entryCount; i++) {
-			Node node = nodeList.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element subElement = (Element) node;
-				String nodeName = subElement.getNodeName();				
-				if (!nodeName.equalsIgnoreCase("listEntry")) { //$NON-NLS-1$
-					throw getInvalidFormatDebugException();
-				}
-				String value = getValueAttribute(subElement);
-				list.add(value);
-			}
-		}
-		setAttribute(listKey, list);
-	}
-		
-	protected void setMapAttribute(Element element) throws CoreException {
-		String mapKey = element.getAttribute("key");  //$NON-NLS-1$
-		NodeList nodeList = element.getChildNodes();
-		int entryCount = nodeList.getLength();
-		Map map = new HashMap(entryCount);
-		for (int i = 0; i < entryCount; i++) {
-			Node node = nodeList.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element subElement = (Element) node;
-				String nodeName = subElement.getNodeName();				
-				if (!nodeName.equalsIgnoreCase("mapEntry")) { //$NON-NLS-1$
-					throw getInvalidFormatDebugException();
-				}
-				String key = getKeyAttribute(subElement);
-				String value = getValueAttribute(subElement);
-				map.put(key, value);
-			}
-		}
-		setAttribute(mapKey, map);
-	}
-		
-	protected String getKeyAttribute(Element element) throws CoreException {
-		String key = element.getAttribute("key");   //$NON-NLS-1$
-		if (key == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return key;
-	}
-	
-	protected String getValueAttribute(Element element) throws CoreException {
-		String value = element.getAttribute("value");   //$NON-NLS-1$
-		if (value == null) {
-			throw getInvalidFormatDebugException();
-		}
-		return value;
-	}
-	
-	protected DebugException getInvalidFormatDebugException() {
-		return 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationInfo.Invalid_launch_configuration_XML._10"), null //$NON-NLS-1$
-				)
-			);
-	}
-	
-	/**
-	 * Two <code>LaunchConfigurationInfo</code> objects are equal if and only if they have the
-	 * same type and they have the same set of attributes with the same values.
-	 * 
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object obj) {
-		
-		// Make sure it's a LaunchConfigurationInfo object
-		if (!(obj instanceof LaunchConfigurationInfo)) {
-			return false;
-		}
-		
-		// Make sure the types are the same
-		LaunchConfigurationInfo other = (LaunchConfigurationInfo) obj;
-		if (!fType.getIdentifier().equals(other.getType().getIdentifier())) {
-			return false;
-		}
-		
-		// Make sure the attributes are the same
-		return compareAttributes(fAttributes, other.getAttributeTable());
-	}
-	
-	/**
-	 * Returns whether the two attribute maps are equal, consulting
-	 * registered comparator extensions.
-	 * 
-	 * @param map1 attribute map
-	 * @param map2 attribute map
-	 * @return whether the two attribute maps are equal
-	 */
-	protected boolean compareAttributes(HashMap map1, HashMap map2) {
-		LaunchManager manager = (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
-		if (map1.size() == map2.size()) {
-			Iterator attributes = map1.keySet().iterator();
-			while (attributes.hasNext()) {
-				String key = (String)attributes.next();
-				Object attr1 = map1.get(key);
-				Object attr2 = map2.get(key);
-				if (attr2 == null) {
-					return false;
-				}
-				Comparator comp = manager.getComparator(key);
-				if (comp == null) {
-					if (!attr1.equals(attr2)) {
-						return false;
-					}
-				} else {
-					if (comp.compare(attr1, attr2) != 0) {
-						return false;
-					}
-				}
-			}
-			return true;	
-		}
-		return false;
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fType.hashCode() + fAttributes.size();
-	}
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
deleted file mode 100644
index 3b508e4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-/**
- * A launch configuration type wrappers a configuration
- * element for a <code>launchConfigurationType</code>
- * extension.
- */
-public class LaunchConfigurationType extends PlatformObject implements ILaunchConfigurationType {
-	
-	/**
-	 * The configuration element of the extension.
-	 */
-	private IConfigurationElement fElement;
-	
-	/**
-	 * Base modes this type supports.
-	 */
-	private Set fBaseModes;
-	
-	/**
-	 * Modes that delegates have been contributed for
-	 */
-	private Set fContributedModes;
-	
-	/**
-	 * The delegates for launch configurations of this type.
-	 * Delegates are instantiated lazily as required. There may
-	 * be different delegates for different modes (since 3.0).
-	 * Map of mode -> delegate
-	 */
-	private Map fDelegates;
-	
-	/**
-	 * Constructs a new launch configuration type on the
-	 * given configuration element.
-	 * 
-	 * @param element configuration element
-	 */
-	protected LaunchConfigurationType(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets this type's configuration element.
-	 * 
-	 * @param element this type's configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/**
-	 * Returns this type's configuration element.
-	 * 
-	 * @return this type's configuration element
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fElement;
-	}	
-
-
-	/**
-	 * @see ILaunchConfigurationType#supportsMode(String)
-	 */
-	public boolean supportsMode(String mode) {
-		return getBaseModes().contains(mode) || getContributedModes().contains(mode);
-	}
-
-	/**
-	 * Returns the set of modes specified in the configuration data.
-	 * 
-	 * @return the set of modes specified in the configuration data
-	 */
-	protected Set getBaseModes() {
-		if (fBaseModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fBaseModes = new HashSet(tokenizer.countTokens());
-			while (tokenizer.hasMoreTokens()) {
-				fBaseModes.add(tokenizer.nextToken().trim());
-			}
-		}
-		return fBaseModes;
-	}
-	
-	/**
-	 * Returns the set of modes delegates have been contributed for
-	 * 
-	 * @return the set of modes delegates have been contributed for
-	 */
-	protected Set getContributedModes() {
-		if (fContributedModes == null) {
-			fContributedModes = new HashSet(0);
-			// add modes for contributed delegates
-			List delegates = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = delegates.iterator();
-			while (iterator.hasNext()) {
-				ContributedDelegate delegate = (ContributedDelegate)iterator.next();
-				if (delegate.getLaunchConfigurationType().equals(getIdentifier())) {
-					fContributedModes.addAll(delegate.getModes());
-				}
-			}
-		}
-		return fContributedModes;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getName()
-	 */
-	public String getName() {
-		return getConfigurationElement().getAttribute("name"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationType#getSourcePathComputer()
-	 */
-	public ISourcePathComputer getSourcePathComputer() {
-		String id = getConfigurationElement().getAttribute("sourcePathComputerId"); //$NON-NLS-1$
-		if (id != null && id.length() > 0) {
-			return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#getCategory()
-	 */
-	public String getCategory() {
-		return getConfigurationElement().getAttribute("category"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationType#getAttribute(String)
-	 */
-	public String getAttribute(String attributeName) {
-		return getConfigurationElement().getAttribute(attributeName);
-	}	
-	
-	/**
-	 * @see ILaunchConfigurationType#isPublic()
-	 */
-	public boolean isPublic() {
-		String publicString = getConfigurationElement().getAttribute("public"); //$NON-NLS-1$
-		if (publicString != null) {
-			if (publicString.equalsIgnoreCase("false")) { //$NON-NLS-1$
-				return false;
-			}
-		} 
-		return true;
-	}
-
-	/**
-	 * @see ILaunchConfigurationType#newInstance(IContainer, String)
-	 */
-	public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) {
-			return new LaunchConfigurationWorkingCopy(container, name, this);
-	}
-	
-	/**
-	 * Returns the launch configuration delegate for launch
-	 * configurations of this type. The first time this method
-	 * is called, the delegate is instantiated.
-	 * 
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate()
-	 * @return launch configuration delegate
-	 * @exception CoreException if unable to instantiate the
-	 *  delegate
-	 * @deprecated use <code>getDelegate(String)</code> to specify mode
-	 */
-	public ILaunchConfigurationDelegate getDelegate() throws CoreException {
-		return getDelegate(ILaunchManager.RUN_MODE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate(java.lang.String)
-	 */
-	public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException {
-		if (!supportsMode(mode)) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationType.9"), new String[] {mode, getIdentifier()}), null));  //$NON-NLS-1$
-		}
-		if (fDelegates == null) {
-			// initialize delegate table with base modes
-			fDelegates = new Hashtable(3);
-		}
-		ILaunchConfigurationDelegate delegate = (ILaunchConfigurationDelegate)fDelegates.get(mode);
-		if (delegate == null) {
-			Set modes = getBaseModes();
-			if (modes.contains(mode)) {
-				Object object = getConfigurationElement().createExecutableExtension("delegate"); //$NON-NLS-1$
-				if (object instanceof ILaunchConfigurationDelegate) {
-					Iterator iter = modes.iterator();
-					while (iter.hasNext()) {
-						fDelegates.put(iter.next(), object);
-					}
-					return (ILaunchConfigurationDelegate)object;
-				} 
-				throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationType.Launch_delegate_for_{0}_does_not_implement_required_interface_ILaunchConfigurationDelegate._1"), new String[]{getName()}), null)); //$NON-NLS-1$
-			} 
-			// contributed modes
-			List contributed = ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getContributedDelegates();
-			Iterator iterator = contributed.iterator();
-			while (iterator.hasNext()) {
-				ContributedDelegate contributedDelegate = (ContributedDelegate)iterator.next();
-				if (getIdentifier().equals(contributedDelegate.getLaunchConfigurationType())) {
-					modes = contributedDelegate.getModes();
-					if (modes.contains(mode)) {
-						delegate = contributedDelegate.getDelegate();
-						Iterator modesIterator = modes.iterator();
-						while (modesIterator.hasNext()) {
-							fDelegates.put(modesIterator.next(), delegate); 
-						}
-						return delegate;
-					}
-				}
-			}
-		} else {
-			return delegate;
-		}
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationType.10"), new String[] {getIdentifier(), mode}), null)); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourceLocatorId()
-	 */
-	public String getSourceLocatorId() {
-		return getAttribute("sourceLocatorId"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationType#getPluginId()
-	 */
-	public String getPluginIdentifier() {
-		return fElement.getDeclaringExtension().getNamespace();
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
deleted file mode 100644
index bb4df39..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,587 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * A working copy launch configuration
- */
-public class LaunchConfigurationWorkingCopy extends LaunchConfiguration implements ILaunchConfigurationWorkingCopy {
-	
-	/**
-	 * Handle of original launch configuration this
-	 * working copy is based on
-	 */
-	private LaunchConfiguration fOriginal;
-	
-	/**
-	 * Working copy of attributes.
-	 */
-	private LaunchConfigurationInfo fInfo;
-	
-	/**
-	 * Whether this working copy has been modified since
-	 * it was created
-	 */
-	private boolean fDirty = false;
-	
-	/**
-	 * The name for this configuration.
-	 */
-	private String fName;
-	
-	/**
-	 * Indicates whether this working copy has been explicitly renamed.
-	 */
-	private boolean fRenamed = false;
-	
-	/**
-	 * Suppress change notification until created
-	 */
-	private boolean fSuppressChange = true;
-	
-	/**
-	 * The container this working copy will be
-	 * stored in when saved.
-	 */
-	private IContainer fContainer;
-
-	/**
-	 * Constructs a working copy of the specified launch 
-	 * configuration.
-	 * 
-	 * @param original launch configuration to make
-	 *  a working copy of
-	 * @exception CoreException if unable to initialize this
-	 *  working copy's attributes based on the original configuration
-	 */
-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original) throws CoreException {
-		super(original.getLocation());
-		setName(original.getName());
-		copyFrom(original);
-		setOriginal(original);
-		fSuppressChange = false;
-	}
-	
-	/**
-	 * Constructs a copy of the specified launch 
-	 * configuration, with the given (new) name.
-	 * 
-	 * @param original launch configuration to make
-	 *  a working copy of
-	 * @param name the new name for the copy of the launch
-	 *  configuration
-	 * @exception CoreException if unable to initialize this
-	 *  working copy's attributes based on the original configuration
-	 */
-	protected LaunchConfigurationWorkingCopy(LaunchConfiguration original, String name) throws CoreException {
-		super(original.getLocation());
-		copyFrom(original);
-		setName(name);
-		fSuppressChange = false;
-	}
-	
-	/**
-	 * Constructs a new working copy to be created in the specified
-	 * location.
-	 * 
-	 * @param container the container that the configuration will be created in
-	 *  or <code>null</code> if to be local
-	 * @param name the name of the new launch configuration
-	 * @param type the type of this working copy
-	 */
-	protected LaunchConfigurationWorkingCopy(IContainer container, String name, ILaunchConfigurationType type) {
-		super((IPath)null);
-		setName(name);
-		setInfo(new LaunchConfigurationInfo());
-		getInfo().setType(type);
-		setContainer(container);
-		fSuppressChange = false;
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#isDirty()
-	 */
-	public boolean isDirty() {
-		return fDirty;
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#doSave()
-	 */
-	public ILaunchConfiguration doSave() throws CoreException {
-		if (isDirty()) {
-			boolean useRunnable= true;
-			if (isLocal()) {
-				if (isMoved()) {
-					// If this config was moved from a shared location, saving
-					// it will delete the original from the workspace. Use runnable.
-					useRunnable= !isNew() && !getOriginal().isLocal();
-				} else {
-					useRunnable= false;
-				}
-			}
-
-			if (useRunnable) {
-				IWorkspaceRunnable wr = new IWorkspaceRunnable() {
-					public void run(IProgressMonitor pm) throws CoreException {
-						doSave0();
-					}
-				};
-				
-				ResourcesPlugin.getWorkspace().run(wr, getSchedulingRule(), 0, null);
-			} else {
-				//file is persisted in the metadata not the workspace
-				doSave0();
-			}
-
-			getLaunchManager().setMovedFromTo(null, null);
-		}
-
-		return new LaunchConfiguration(getLocation());
-	}
-
-	/**
-	 * Returns the scheduling rule to be used when saving this launch configuration.
-	 * <code>null</code> is a valid scheduling rule.
-	 * 
-	 * @return the scheduling rule to be used when saving this launch configuration
-	 */
-	private ISchedulingRule getSchedulingRule() {
-		List changedFiles= new ArrayList(2);
-		if (!isLocal()) {
-			//working copy will be saved to a workspace location
-			IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(getLocation());
-			if (files.length > 0) {
-				changedFiles.add(files[0].getParent());
-			}
-		}
-		ILaunchConfiguration original = getOriginal();
-		if (original != null && !original.isLocal()) {
-			//original will be deleted from a workspace location
-			IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(original.getLocation());
-			if (files.length > 0) {
-				changedFiles.add(files[0].getParent());
-			}
-		}
-		if (changedFiles.isEmpty()) {
-			return null;
-		}
-		return new MultiRule((ISchedulingRule[]) changedFiles.toArray(new ISchedulingRule[changedFiles.size()]));
-	}
-
-	private void doSave0() throws CoreException {
-		// set up from/to information if this is a move
-		boolean moved = (!isNew() && isMoved());
-		if (moved) {
-			ILaunchConfiguration to = new LaunchConfiguration(getLocation());
-			ILaunchConfiguration from = getOriginal();
-			getLaunchManager().setMovedFromTo(from, to);
-		}
-		// delete the old file if this is not a new configuration
-		// or the file was renamed/moved
-		if (moved) {
-			getOriginal().delete();
-		}
-		// write the new file
-		writeNewFile();
-		resetDirty();
-	}
-
-	/**
-	 * Writes the new configuration information to a file.
-	 * 
-	 * @exception CoreException if writing the file fails
-	 */
-	protected void writeNewFile() throws CoreException {
-		String xml = null;
-		Exception e= null;
-		try {
-			xml = getInfo().getAsXML();
-		} catch (IOException ioe) {
-			e= ioe;			
-		} catch (ParserConfigurationException pce) {
-			e= pce;
-		} catch (TransformerException te) {
-			e= te;		
-		}
-		if (e != null) {
-			throw new DebugException(
-				new Status(
-					IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1"), new String[]{e.toString()}), null //$NON-NLS-1$
-					)
-				);		
-		}
-		
-		if (isLocal()) {
-			// use java.io to update configuration file
-			try {
-				boolean added = false;
-				File file = getLocation().toFile();
-				File dir = getLocation().removeLastSegments(1).toFile();
-				dir.mkdirs();
-				if (!file.exists()) {
-					added = true;
-					file.createNewFile();
-				}
-				FileOutputStream stream = new FileOutputStream(file);
-				stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
-				stream.close();
-				if (added) {
-					getLaunchManager().launchConfigurationAdded(new LaunchConfiguration(getLocation()));
-				} else {
-					getLaunchManager().launchConfigurationChanged(new LaunchConfiguration(getLocation()));
-				}
-			} catch (IOException ie) {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.{0}_occurred_generating_launch_configuration_XML._1"), new String[]{ie.toString()}), null //$NON-NLS-1$
-					)
-				);				
-			}
-		} else {
-			// use resource API to update configuration file
-			IFile file = getFile();
-			IContainer dir = file.getParent();
-			if (!dir.exists()) {
-				throw new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.Specified_container_for_launch_configuration_does_not_exist_2"), null //$NON-NLS-1$
-					)
-				);				
-			}
-			ByteArrayInputStream stream = null;
-			try {
-				stream = new ByteArrayInputStream(xml.getBytes("UTF8")); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException ue) {
-				throw new DebugException(
-					new Status(
-						 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-						 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchConfigurationWorkingCopy.5"), null //$NON-NLS-1$
-					));
-			}
-			if (!file.exists()) {
-				file.create(stream, false, null);
-			} else {
-				// validate edit
-				if (file.isReadOnly()) {
-					IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
-					if (!status.isOK()) {
-						throw new CoreException(status);
-					}
-				}				
-				file.setContents(stream, false, false, null);
-			}
-		}		
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, int)
-	 */
-	public void setAttribute(String attributeName, int value) {
-		getInfo().setAttribute(attributeName, new Integer(value));
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, String)
-	 */
-	public void setAttribute(String attributeName, String value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, boolean)
-	 */
-	public void setAttribute(String attributeName, boolean value) {
-		getInfo().setAttribute(attributeName, new Boolean(value));
-		setDirty();	
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, List)
-	 */
-	public void setAttribute(String attributeName, List value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setAttribute(String, Map)
-	 */
-	public void setAttribute(String attributeName, Map value) {
-		getInfo().setAttribute(attributeName, value);
-		setDirty();
-	}
-
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#getOriginal()
-	 */
-	public ILaunchConfiguration getOriginal() {
-		return fOriginal;
-	}
-	
-	/**
-	 * Sets the launch configuration this working copy
-	 * is based on. Initializes the attributes of this
-	 * working copy to the current values of the given
-	 * configuration.
-	 * 
-	 * @param originl the launch configuration this working
-	 *  copy is based on.
-	 * @exception CoreException if unable to initialize this
-	 *  working copy based on the original's current attribute
-	 *  set
-	 */
-	private void copyFrom(LaunchConfiguration original) throws CoreException {
-		LaunchConfigurationInfo info = original.getInfo();
-		setInfo(info.getCopy());
-		setContainer(original.getContainer());
-		resetDirty();
-	}
-	
-	/**
-	 * Sets the launch configuration this working copy
-	 * is based on.
-	 * 
-	 * @param original the launch configuration this working 
-	 *  copy is based on.
-	 */
-	private void setOriginal(LaunchConfiguration original) {
-		fOriginal = original;
-	}	
-	
-	/**
-	 * Sets the working copy info object for this working copy.
-	 * 
-	 * @param info a copy of attributes from this working copy's
-	 * 	original launch configuration
-	 */
-	protected void setInfo(LaunchConfigurationInfo info) {
-		fInfo = info;
-	}
-
-	/**
-	 * @see ILaunchConfiguration#isWorkingCopy()
-	 */
-	public boolean isWorkingCopy() {
-		return true;
-	}
-	
-	/**
-	 * A working copy keeps a local info object that is not
-	 * cached with the launch manager.
-	 * 
-	 * @see LaunchConfiguration#getInfo()
-	 */
-	protected LaunchConfigurationInfo getInfo() {
-		return fInfo;
-	}
-	
-	/**
-	 * Sets this working copy's state to dirty.
-	 * Notifies listeners that this working copy has
-	 * changed.
-	 */
-	private void setDirty() {
-		fDirty = true;
-		if (!suppressChangeNotification()) {
-			getLaunchManager().getConfigurationNotifier().notify(this, LaunchManager.CHANGED);
-		}	
-	}
-	
-	/**
-	 * Sets this working copy's state to not dirty.
-	 */
-	private void resetDirty() {
-		fDirty = false;
-	}	
-		
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#rename(String)
-	 */
-	public void rename(String name) {
-		if (!getName().equals(name)) {
-			setName(name);
-			fRenamed = isNew() || !(getOriginal().getName().equals(name));
-		}
-	}
-
-	/**
-	 * Sets the new name for this configuration.
-	 * 
-	 * @param name the new name for this configuration
-	 */
-	private void setName(String name) {
-		fName = name;
-		setDirty();
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * @see ILaunchConfiguration#isLocal()
-	 */
-	public boolean isLocal() {
-		return getContainer() == null;
-	}	
-	
-	/**
-	 * Returns the location this launch configuration will reside at
-	 * when saved.
-	 * 
-	 * @see ILaunchConfiguration#getLocation()
-	 */
-	public IPath getLocation() {
-		if (isMoved()) {
-			IPath path = null;
-			if (isLocal()) {
-				path = LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-			} else {
-				path = getContainer().getLocation();
-			}
-			path = path.append(getName() + "." + LAUNCH_CONFIGURATION_FILE_EXTENSION); //$NON-NLS-1$
-			return path;
-		} 
-		return getOriginal().getLocation();
-	}
-	
-	/**
-	 * Returns whether this working copy is new, or is a
-	 * working copy of another launch configuration.
-	 * 
-	 * @return whether this working copy is new, or is a
-	 *  working copy of another launch configuration
-	 */
-	protected boolean isNew() {
-		return getOriginal() == null;
-	}
-	
-	/**
-	 * Returns whether this working copy is new or if its
-	 * location has changed from that of its original.
-	 * 
-	 * @return whether this working copy is new or if its
-	 * location has changed from that of its original
-	 */
-	protected boolean isMoved() {
-		if (isNew() || fRenamed) {
-			return true;
-		}
-		IContainer newContainer = getContainer();
-		IContainer originalContainer = ((LaunchConfiguration)getOriginal()).getContainer();
-		if (newContainer == originalContainer) {
-			return false;
-		}
-		if (newContainer == null) {
-			return !originalContainer.equals(newContainer);
-		} 
-		return !newContainer.equals(originalContainer);
-	}		
-	
-	/**
-	 * A working copy cannot generate a memento.
-	 * 
-	 * @see ILaunchConfiguration#getMemento()
-	 */
-	public String getMemento() {
-		return null;
-	}	
-	
-	/**
-	 * Returns whether change notification should be
-	 * suppressed
-	 */
-	protected boolean suppressChangeNotification() {
-		return fSuppressChange;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationWorkingCopy#setContainer(IContainer)
-	 */
-	public void setContainer(IContainer container) {
-		if (container == fContainer) {
-			return;
-		}
-		if (container != null) {
-			if (container.equals(fContainer)) {
-				return;
-			}
-		} else {
-			if (fContainer.equals(container)) {
-				return;
-			}
-		}
-		fContainer = container;
-		setDirty();
-	}
-	
-	/**
-	 * Returns the container this working copy will be
-	 * stored in when saved, or <code>null</code> if
-	 * this working copy is local.
-	 * 
-	 * @return the container this working copy will be
-	 *  stored in when saved, or <code>null</code> if
-	 *  this working copy is local
-	 */
-	protected IContainer getContainer() {
-		return fContainer;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setAttributes(java.util.Map)
-	 */
-	public void setAttributes(Map attributes) {
-		getInfo().setAttributes(attributes);
-	}
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
deleted file mode 100644
index f75c942..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,1749 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Sebastian Davids - bug 50567 Eclipse native environment support on Win98
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.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;
-
-/**
- * Manages launch configurations, launch configuration types, and registered launches.
- *
- * @see ILaunchManager
- */
-public class LaunchManager implements ILaunchManager, IResourceChangeListener {
-	
-	/**
-	 * Collection of defined launch configuration type
-	 * extensions.
-	 */
-	private List fLaunchConfigurationTypes = null;
-	
-	/**
-	 * Launch configuration cache. Keys are <code>LaunchConfiguration</code>,
-	 * values are <code>LaunchConfigurationInfo</code>.
-	 */
-	private Map fLaunchConfigurations = new HashMap(10);
-	
-	/**
-	 * A cache of launch configuration names currently in the workspace.
-	 */
-	private String[] fSortedConfigNames = null;
-	
-	/**
-	 * Collection of all launch configurations in the workspace.
-	 * <code>List</code> of <code>ILaunchConfiguration</code>.
-	 */
-	private List fLaunchConfigurationIndex = null;
-	
-	/**
-	 * Launch configuration comparator extensions,
-	 * keyed by attribute name.
-	 */
-	private Map fComparators = null;
-	
-	/**
-	 * Registered launch modes, or <code>null</code> if not initialized.
-	 * Keys are mode identifiers, values are <code>ILaunchMode</code>s.
-	 */
-	private Map fLaunchModes = null;
-	
-	/**
-	 * List of contributed launch delegates (delegates contributed for existing
-	 * launch configuration types).
-	 */
-	private List fContributedDelegates = null;
-	
-	/**
-	 * Types of notifications
-	 */
-	public static final int ADDED = 0;
-	public static final int REMOVED= 1;
-	public static final int CHANGED= 2;
-	public static final int TERMINATE= 3;
-	
-	/**
-	 * The collection of native environment variables on the user's system. Cached
-	 * after being computed once as the environment cannot change.
-	 */
-	private static HashMap fgNativeEnv= null;	
-
-	/**
-	 * Collection of launches
-	 */
-	private Vector fLaunches= new Vector(10);
-
-	/**
-	 * Collection of listeners
-	 */
-	private ListenerList fListeners= new ListenerList(5);
-	
-	/**
-	 * Collection of "plural" listeners.
-	 * @since 2.1
-	 */
-	private ListenerList fLaunchesListeners = new ListenerList(5);
-	
-	/**
-	 * Visitor used to process resource deltas,
-	 * to update launch configuration index.
-	 */
-	private IResourceDeltaVisitor fgVisitor;
-	
-	/**
-	 * Launch configuration listeners
-	 */
-	private ListenerList fLaunchConfigurationListeners = new ListenerList(5);
-	
-	/**
-	 * Table of source locator extensions. Keys
-	 * are identifiers, and values are associated
-	 * configuration elements.
-	 */
-	private Map fSourceLocators = null;
-
-	/**
-	 * The handles of launch configurations being moved, or <code>null</code>
-	 */
-	private ILaunchConfiguration fFrom;
-	private ILaunchConfiguration fTo;
-	
-	/**
-	 * Path to the local directory where local launch configurations
-	 * are stored with the workspace.
-	 */
-	protected static final IPath LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH =
-		DebugPlugin.getDefault().getStateLocation().append(".launches"); //$NON-NLS-1$
-		
-	
-	/**
-	 * Map of source container type extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourceContainerTypes;	
-	
-	/**
-	 * Map of source path computer extensions. Keys are extension ids
-	 * and values are associated configuration elements.
-	 */
-	private Map sourcePathComputers;
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	public static String serializeDocument(Document doc) throws TransformerException, IOException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Returns a Document that can be used to build a DOM tree
-	 * @return the Document
-	 * @throws ParserConfigurationException if an exception occurs creating the document builder
-	 * @since 3.0
-	 */
-	public static Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder= dfactory.newDocumentBuilder();
-		Document doc= docBuilder.newDocument();
-		return doc;
-	}
-			
-	/**
-	 * @see ILaunchManager#addLaunchListener(ILaunchListener)
-	 */
-	public void addLaunchListener(ILaunchListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Returns a collection of all launch configuration handles in 
-	 * the workspace. This collection is initialized lazily.
-	 * 
-	 * @return all launch configuration handles
-	 */
-	private List getAllLaunchConfigurations() {
-		if (fLaunchConfigurationIndex == null) {
-			try {			
-				fLaunchConfigurationIndex = new ArrayList(20);
-				List configs = findLocalLaunchConfigurations();
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-				configs = findLaunchConfigurations(getWorkspaceRoot());
-				verifyConfigurations(configs, fLaunchConfigurationIndex);
-			} finally {
-				getWorkspace().addResourceChangeListener(this);				
-			}
-		}
-		return fLaunchConfigurationIndex;
-	}
-	
-	/**
-	 * Verify basic integrity of launch configurations in the given list,
-	 * adding valid configs to the collection of all launch configurations.
-	 * Exceptions are logged for invalid configs.
-	 * 
-	 * @param verify the list of configs to verify
-	 * @param valid the list to place valid configrations in
-	 */
-	protected void verifyConfigurations(List verify, List valid) {
-		Iterator configs = verify.iterator();
-		while (configs.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)configs.next();
-			if (isValid(config)) {
-				valid.add(config);
-			}
-		}		
-	}
-	
-	/**
-	 * Returns whether the given launch configuration passes a basic
-	 * integritiy test by retrieving its type.
-	 * 
-	 * @param config the configuration to verify
-	 * @return whether the config meets basic integrity constraints
-	 */
-	protected boolean isValid(ILaunchConfiguration config) {
-		try {
-			config.getType();
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE) {
-				// only log warnings due to something other than a missing
-				// launch config type
-				DebugPlugin.log(e);
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Clears all launch configurations (if any have been accessed)
-	 */
-	private void clearAllLaunchConfigurations() {
-		if (fLaunchConfigurationTypes != null) {
-			fLaunchConfigurationTypes.clear();
-		}
-		if (fLaunchConfigurationIndex != null) {
-			fLaunchConfigurationIndex.clear();
-		}
-	}
-		
-	/**
-	 * @see ILaunchManager#removeLaunch(ILaunch)
-	 */
-	public void removeLaunch(ILaunch launch) {
-		if (internalRemoveLaunch(launch)) {
-			fireUpdate(launch, REMOVED);
-			fireUpdate(new ILaunch[] {launch}, REMOVED);
-		}
-	}	
-	
-	/**
-	 * Removes the given launch object from the collection of registered
-	 * launches. Returns whether the launch was removed.
-	 * 
-	 * @param launch the launch to remove
-	 * @return whether the launch was removed
-	 */
-	protected boolean internalRemoveLaunch(ILaunch launch) {
-		if (launch == null) {
-			return false;
-		}
-		return fLaunches.remove(launch);
-	}
-	
-	/**
-	 * Fires notification to (single) listeners that a launch has been
-	 * added/changed/removed..
-	 */
-	public void fireUpdate(ILaunch launch, int update) {
-		getLaunchNotifier().notify(launch, update);
-	}	
-	
-	/**
-	 * Fires notification to (multi) listeners that a launch has been
-	 * added/changed/removed.
-	 */
-	public void fireUpdate(ILaunch[] launches, int update) {
-		getLaunchesNotifier().notify(launches, update);
-	}	
-	
-	/**
-	 * Returns whether the given launch is currently registered.
-	 * 
-	 * @param launch a launch
-	 * @return whether the given launch is currently registered
-	 */
-	protected boolean isRegistered(ILaunch launch) {
-		return fLaunches.contains(launch);
-	}
-
-	/**
-	 * @see ILaunchManager#getDebugTargets()
-	 */
-	public IDebugTarget[] getDebugTargets() {
-		List allTargets= new ArrayList(fLaunches.size());
-		if (fLaunches.size() > 0) {
-			Iterator e= fLaunches.iterator();
-			while (e.hasNext()) {
-				IDebugTarget[] targets= ((ILaunch) e.next()).getDebugTargets();
-				for (int i = 0; i < targets.length; i++) {
-					allTargets.add(targets[i]);
-				}
-			}
-		}
-		return (IDebugTarget[])allTargets.toArray(new IDebugTarget[allTargets.size()]);
-	}
-			
-	/**
-	 * @see ILaunchManager#getLaunches()
-	 */
-	public ILaunch[] getLaunches() {
-		return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);
-	}
-
-	/**
-	 * @see ILaunchManager#getProcesses()
-	 */
-	public IProcess[] getProcesses() {
-		List allProcesses= new ArrayList(fLaunches.size());
-		Iterator e= fLaunches.iterator();
-		while (e.hasNext()) {
-			IProcess[] processes= ((ILaunch) e.next()).getProcesses();
-			for (int i= 0; i < processes.length; i++) {
-				allProcesses.add(processes[i]);
-			}
-		}
-		return (IProcess[])allProcesses.toArray(new IProcess[allProcesses.size()]);
-	}
-	
-	/**
-	 * @see ILaunchManager#addLaunch(ILaunch)
-	 */
-	public void addLaunch(ILaunch launch) {
-		if (internalAddLaunch(launch)) {
-			fireUpdate(launch, ADDED);
-			fireUpdate(new ILaunch[] {launch}, ADDED);
-		}
-	}	
-	
-	/**
-	 * Adds the given launch object to the list of registered launches,
-	 * and returns whether the launch was added.
-	 * 
-	 * @param launch launch to register
-	 * @return whether the launch was added
-	 */
-	protected boolean internalAddLaunch(ILaunch launch) {
-		if (fLaunches.contains(launch)) {
-			return false;
-		}
-		fLaunches.add(launch);
-		return true;
-	}
-	
-	/**
-	 * @see ILaunchManager#removeLaunchListener(ILaunchListener)
-	 */
-	public void removeLaunchListener(ILaunchListener listener) {
-		fListeners.remove(listener);
-	}
-		
-	/**
-	 * Return a LaunchConfigurationInfo object initialized from XML contained in
-	 * the specified stream.  Simply pass out any exceptions encountered so that
-	 * caller can deal with them.  This is important since caller may need access to the
-	 * actual exception.
-	 */
-	protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,
-																			 ParserConfigurationException,
-																			 IOException,
-																			 SAXException {
-		Element root = null;
-		DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-		root = parser.parse(new InputSource(stream)).getDocumentElement();
-		LaunchConfigurationInfo info = new LaunchConfigurationInfo();
-		info.initializeFromXML(root);
-		return info;
-	}
-
-	/**
-	 * Terminates/Disconnects any active debug targets/processes.
-	 * Clears launch configuration types.
-	 */
-	public void shutdown() {
-		fListeners.removeAll();
-		ILaunch[] launches = getLaunches();
-		for (int i= 0; i < launches.length; i++) {
-			ILaunch launch= launches[i];
-			try {
-				launch.terminate();
-			} catch (DebugException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		
-		clearAllLaunchConfigurations();
-
-		getWorkspace().removeResourceChangeListener(this);
-	}
-							
-	/**
-	 * Returns the info object for the specified launch configuration.
-	 * If the configuration exists, but is not yet in the cache,
-	 * an info object is built and added to the cache.
-	 * 
-	 * @exception CoreException if an exception occurs building
-	 *  the info object
-	 * @exception DebugException if the config does not exist
-	 */
-	protected LaunchConfigurationInfo getInfo(ILaunchConfiguration config) throws CoreException {
-		LaunchConfigurationInfo info = (LaunchConfigurationInfo)fLaunchConfigurations.get(config);
-		if (info == null) {
-			if (config.exists()) {
-				InputStream stream = null;
-				try {
-					if (config.isLocal()) {
-						IPath path = config.getLocation();
-						File file = path.toFile();				
-						stream = new FileInputStream(file);
-					} else {
-						IFile file = ((LaunchConfiguration) config).getFile();
-						if (file == null) {
-							throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.30"), new String[] {config.getName()}), null); //$NON-NLS-1$
-						}
-						stream = file.getContents();
-					}
-					info = createInfoFromXML(stream);
-					fLaunchConfigurations.put(config, info);
-				} catch (FileNotFoundException e) {
-					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.getString("LaunchManager.does_not_exist"), new String[]{config.getName(), config.getLocation().toOSString()}), null); //$NON-NLS-1$
-			}
-		}
-		return info;
-	}
-	
-	/**
-	 * Throws a debug exception with the given throwable that occurred
-	 * while processing the given configuration.
-	 */
-	private void throwException(ILaunchConfiguration config, Throwable e) throws DebugException {
-		IPath path = config.getLocation();
-		throw createDebugException(MessageFormat.format(DebugCoreMessages.getString("LaunchManager.{0}_occurred_while_reading_launch_configuration_file_{1}._1"), new String[]{e.toString(), path.toOSString()}), e); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return an instance of DebugException containing the specified message and Throwable.
-	 */
-	protected DebugException createDebugException(String message, Throwable throwable) {
-		return new DebugException(
-					new Status(
-					 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-					 DebugException.REQUEST_FAILED, message, throwable 
-					)
-				);
-	}
-	
-	/**
-	 * Removes the given launch configuration from the cache of configurations.
-	 * When a local configuration is deleted, this method is called, as there will
-	 * be no resource delta generated to auto-update the cache.
-	 * 
-	 * @param configuration the configuration to remove
-	 */
-	private void removeInfo(ILaunchConfiguration configuration) {
-		fLaunchConfigurations.remove(configuration);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations()
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations() {
-		List allConfigs = getAllLaunchConfigurations();
-		return (ILaunchConfiguration[])allConfigs.toArray(new ILaunchConfiguration[allConfigs.size()]);
-	}	
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurations(ILaunchConfigurationType)
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			if (config.getType().equals(type)) {
-				configs.add(config);
-			}
-		}
-		return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);
-	}
-	
-	/**
-	 * Returns all launch configurations that are stored as resources
-	 * in the given project.
-	 * 
-	 * @param project a project
-	 * @return collection of launch configurations that are stored as resources
-	 *  in the given project
-	 */
-	protected List getLaunchConfigurations(IProject project) {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			IFile file = config.getFile();
-			if (file != null && file.getProject().equals(project)) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}	
-	
-	/**
-	 * Returns all launch configurations that are stored locally.
-	 * 
-	 * @return collection of launch configurations stored lcoally
-	 */
-	protected List getLocalLaunchConfigurations() {
-		Iterator iter = getAllLaunchConfigurations().iterator();
-		List configs = new ArrayList();
-		while (iter.hasNext()) {
-			ILaunchConfiguration config = (ILaunchConfiguration)iter.next();
-			if (config.isLocal()) {
-				configs.add(config);
-			}
-		}
-		return configs;
-	}		
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(IFile)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(IFile file) {
-		getWorkspace().addResourceChangeListener(this);				
-		return new LaunchConfiguration(file.getLocation());
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfiguration(String)
-	 */
-	public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {
-		getWorkspace().addResourceChangeListener(this);
-		return new LaunchConfiguration(memento);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationTypes()
-	 */
-	public ILaunchConfigurationType[] getLaunchConfigurationTypes() {
-		List types= getLaunchConfigurationTypeList();
-		return (ILaunchConfigurationType[])types.toArray(new ILaunchConfigurationType[types.size()]);
-	}
-	
-	/**
-	 * @see ILaunchManager#getLaunchConfigurationType(String)
-	 */
-	public ILaunchConfigurationType getLaunchConfigurationType(String id) {
-		Iterator iter = getLaunchConfigurationTypeList().iterator();
-		while (iter.hasNext()) {
-			ILaunchConfigurationType type = (ILaunchConfigurationType)iter.next();
-			if (type.getIdentifier().equals(id)) {
-				return type;
-			}
-		}
-		return null;
-	}
-	
-	private List getLaunchConfigurationTypeList() {
-		if (fLaunchConfigurationTypes == null) {
-			getWorkspace().addResourceChangeListener(this);
-			initializeLaunchConfigurationTypes();
-		}
-		return fLaunchConfigurationTypes;
-	}
-	
-	private void initializeLaunchConfigurationTypes() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fLaunchConfigurationTypes= new ArrayList(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			LaunchConfigurationType configType = new LaunchConfigurationType(configurationElement); 			
-			fLaunchConfigurationTypes.add(configType);
-		}		
-	}
-	
-	/**
-	 * Initializes contributed launch delegates (i.e. delegates contributed
-	 * to an existing launch configuration type).
-	 */
-	private void initializeContributedDelegates() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_DELEGATES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fContributedDelegates= new ArrayList(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			ContributedDelegate delegate = new ContributedDelegate(configurationElement); 			
-			fContributedDelegates.add(delegate);
-		}		
-	}	
-	
-	/**
-	 * Returns a list of launch delegates contributed for existing launch configuration
-	 * types.
-	 * 
-	 * @return list of ContributedDelegate
-	 */
-	protected List getContributedDelegates() {
-		if (fContributedDelegates == null) {
-			initializeContributedDelegates();
-		}
-		return fContributedDelegates;
-	}
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been deleted. The configuration is removed from the
-	 * cache of infos and from the index of configurations by
-	 * project, and listeners are notified.
-	 * 
-	 * @param config the launch configuration that was deleted
-	 */
-	protected void launchConfigurationDeleted(ILaunchConfiguration config) {
-		removeInfo(config);
-		getAllLaunchConfigurations().remove(config);
-		getConfigurationNotifier().notify(config, REMOVED);
-		clearConfigNameCache();			
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been added. The configuration is added to the index of
-	 * configurations by project, and listeners are notified.
-	 * 
-	 * @param config the launch configuration that was added
-	 */
-	protected void launchConfigurationAdded(ILaunchConfiguration config) {
-		if (config.isWorkingCopy()) {
-			return;
-		}
-		if (isValid(config)) {
-			List allConfigs = getAllLaunchConfigurations();
-			if (!allConfigs.contains(config)) {
-				allConfigs.add(config);
-				getConfigurationNotifier().notify(config, ADDED);
-				clearConfigNameCache();
-			}
-		} else {
-			launchConfigurationDeleted(config);
-		}
-	}
-	
-	/**
-	 * Notifies the launch manager that a launch configuration
-	 * has been changed. The configuration is removed from the
-	 * cache of info objects such that the new attributes will
-	 * be updated on the next access. Listeners are notified of
-	 * the change.
-	 * 
-	 * @param config the launch configuration that was changed
-	 */
-	protected void launchConfigurationChanged(ILaunchConfiguration config) {
-		removeInfo(config);
-		clearConfigNameCache();
-		if (isValid(config)) {
-			// in case the config has been refreshed and it was removed from the
-			// index due to 'out of synch with local file system' (see bug 36147),
-			// add it back (will only add if required)
-			launchConfigurationAdded(config);
-			getConfigurationNotifier().notify(config, CHANGED);
-		} else {
-			launchConfigurationDeleted(config);
-		}								
-	}
-	
-	/**
-	 * @see ILaunchManager#isExistingLaunchConfigurationName(String)
-	 */
-	public boolean isExistingLaunchConfigurationName(String name) {
-		String[] sortedConfigNames = getAllSortedConfigNames();
-		int index = Arrays.binarySearch(sortedConfigNames, name);
-		if (index < 0) {
-			return false;
-		} 
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#generateUniqueLaunchConfigurationNameFrom(String)
-	 */
-	public String generateUniqueLaunchConfigurationNameFrom(String baseName) {
-		int index = 1;
-		int length= baseName.length();
-		int copyIndex = baseName.lastIndexOf(" ("); //$NON-NLS-1$
-		if (copyIndex > -1 && length > copyIndex + 2 && baseName.charAt(length - 1) == ')') {
-			String trailer = baseName.substring(copyIndex + 2, length -1);
-			if (isNumber(trailer)) {
-				try {
-					index = Integer.parseInt(trailer);
-					baseName = baseName.substring(0, copyIndex);
-				} catch (NumberFormatException nfe) {
-				}
-			}
-		} 
-		String newName = baseName;
-		
-		StringBuffer buffer= null;
-		while (isExistingLaunchConfigurationName(newName)) {
-			buffer = new StringBuffer(baseName);
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(String.valueOf(index));
-			index++;
-			buffer.append(')');
-			newName = buffer.toString();		
-		}		
-		
-		return newName;
-	}
-	
-	/**
-	 * Returns whether the given String is composed solely of digits
-	 */
-	private boolean isNumber(String string) {
-		int numChars= string.length();
-		if (numChars == 0) {
-			return false;
-		}
-		for (int i= 0; i < numChars; i++) {
-			if (!Character.isDigit(string.charAt(i))) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * Return a sorted array of the names of all <code>ILaunchConfiguration</code>s in 
-	 * the workspace.  These are cached, and cache is cleared when a new config is added,
-	 * deleted or changed.
-	 */
-	protected String[] getAllSortedConfigNames() {
-		if (fSortedConfigNames == null) {
-			ILaunchConfiguration[] configs = getLaunchConfigurations();
-			fSortedConfigNames = new String[configs.length];
-			for (int i = 0; i < configs.length; i++) {
-				fSortedConfigNames[i] = configs[i].getName();
-			}
-			Arrays.sort(fSortedConfigNames);
-		}
-		return fSortedConfigNames;
-	}
-	
-	/**
-	 * The launch config name cache is cleared when a config is added, deleted or changed.
-	 */
-	protected void clearConfigNameCache() {
-		fSortedConfigNames = null;
-	}
-		
-	/**
-	 * Finds and returns all local launch configurations.
-	 *
-	 * @return all local launch configurations
-	 * @exception CoreException if there is a lower level
-	 *  IO exception
-	 */
-	protected List findLocalLaunchConfigurations() {
-		IPath containerPath = LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
-		List configs = new ArrayList(10);
-		final File directory = containerPath.toFile();
-		if (directory.isDirectory()) {
-			FilenameFilter filter = new FilenameFilter() {
-				public boolean accept(File dir, String name) {
-					return dir.equals(directory) &&
-							name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
-				}
-			};
-			String[] files = directory.list(filter);
-			for (int i = 0; i < files.length; i++) {
-				LaunchConfiguration config = new LaunchConfiguration(containerPath.append(files[i]));
-				configs.add(config);
-			}
-		}
-		return configs;
-	}
-	
-	/**
-	 * Finds and returns all launch configurations in the given
-	 * container (and subcontainers)
-	 * 
-	 * @param container the container to search
-	 * @exception CoreException an exception occurs traversing
-	 *  the container.
-	 * @return all launch configurations in the given container
-	 */
-	protected List findLaunchConfigurations(IContainer container) {
-		List list = new ArrayList(10);
-		if (container instanceof IProject && !((IProject)container).isOpen()) {
-			return list;
-		}
-		ResourceProxyVisitor visitor= new ResourceProxyVisitor(list);
-		try {
-			container.accept(visitor, IResource.NONE);
-		} catch (CoreException ce) {
-			//Closed project...should not be possible with previous check
-		}
-		Iterator iter = list.iterator();
-		List configs = new ArrayList(list.size());
-		while (iter.hasNext()) {
-			IFile file = (IFile)iter.next();
-			configs.add(getLaunchConfiguration(file));
-		}
-		return configs;
-	}
-	
-	/**
-	 * Traverses the delta looking for added/removed/changed launch
-	 * configuration files.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta= event.getDelta();
-		if (delta != null) {
-			try {
-				if (fgVisitor == null) {
-					fgVisitor= new LaunchManagerVisitor();
-				}
-				delta.accept(fgVisitor);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}		
-	}
-	
-	/**
-	 * Returns the launch configurations specified by the given
-	 * XML document.
-	 * 
-	 * @param root XML document
-	 * @return list of launch configurations
-	 * @exception IOException if an exception occurs reading the XML
-	 */	
-	protected List getConfigsFromXML(Element root) throws CoreException {
-		DebugException invalidFormat = 
-			new DebugException(
-				new Status(
-				 IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-				 DebugException.REQUEST_FAILED, DebugCoreMessages.getString("LaunchManager.Invalid_launch_configuration_index._18"), null //$NON-NLS-1$
-				)
-			);		
-			
-		if (!root.getNodeName().equalsIgnoreCase("launchConfigurations")) { //$NON-NLS-1$
-			throw invalidFormat;
-		}
-		
-		// read each launch configuration 
-		List configs = new ArrayList(4);	
-		NodeList list = root.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i) {
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE) {
-				Element entry = (Element) node;
-				String nodeName = entry.getNodeName();
-				if (!nodeName.equals("launchConfiguration")) { //$NON-NLS-1$
-					throw invalidFormat;
-				}
-				String memento = entry.getAttribute("memento"); //$NON-NLS-1$
-				if (memento == null) {
-					throw invalidFormat;
-				}
-				configs.add(getLaunchConfiguration(memento));
-			}
-		}
-		return configs;
-	}		
-	
-	/**
-	 * The specified project has just opened - add all launch
-	 * configs in the project to the index of all configs.
-	 * 
-	 * @param project the project that has been opened
-	 * @exception CoreException if reading the index fails
-	 */
-	protected void projectOpened(IProject project) {
-		List configs = findLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				ILaunchConfiguration config = (ILaunchConfiguration) iterator.next();
-				launchConfigurationAdded(config);
-			}			
-		}
-	}
-	
-	/**
-	 * The specified project has just closed - remove its
-	 * launch configurations from the cached index.
-	 * 
-	 * @param project the project that has been closed
-	 * @exception CoreException if writing the index fails
-	 */
-	protected void projectClosed(IProject project) {
-		List configs = getLaunchConfigurations(project);
-		if (!configs.isEmpty()) {
-			Iterator iterator = configs.iterator();
-			while (iterator.hasNext()) {
-				ILaunchConfiguration configuration = (ILaunchConfiguration)iterator.next();
-				launchConfigurationDeleted(configuration);
-			}
-		}
-	}	
-	
-	/**
-	 * Visitor for handling resource deltas.
-	 */
-	class LaunchManagerVisitor implements IResourceDeltaVisitor {
-		/**
-		 * @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();
-					// If the file has already been deleted, reconstruct the full
-					// filesystem path
-					if (configPath == null) {
-						IPath workspaceRelativePath = delta.getFullPath();
-						configPath = getWorkspaceRoot().getLocation().append(workspaceRelativePath);
-					}
-					ILaunchConfiguration handle = new LaunchConfiguration(configPath);
-					
-					switch (delta.getKind()) {						
-						case IResourceDelta.ADDED :
-							LaunchManager.this.launchConfigurationAdded(handle);
-							break;
-						case IResourceDelta.REMOVED :
-							LaunchManager.this.launchConfigurationDeleted(handle);
-							break;
-						case IResourceDelta.CHANGED :
-							LaunchManager.this.launchConfigurationChanged(handle);
-							break;
-					}					
-				}
-				return false;
-			} else if (resource instanceof IContainer) {
-				return true;
-			}
-			return true;
-		}		
-	}
-	
-	/**
-	 * @see ILaunchManager#addLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void addLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.add(listener);
-	}
-
-	/**
-	 * @see ILaunchManager#removeLaunchConfigurationListener(ILaunchConfigurationListener)
-	 */
-	public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener) {
-		fLaunchConfigurationListeners.remove(listener);
-	}
-
-	/**
-	 * Register source locators.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private void initializeSourceLocators() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_LOCATORS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fSourceLocators= new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String id = configurationElement.getAttribute("id"); //$NON-NLS-1$			
-			if (id != null) {
-				fSourceLocators.put(id,configurationElement);
-			} else {
-				// invalid status handler
-				IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Invalid_source_locator_extentsion_defined_by_plug-in___{0}______id___not_specified_12"), new String[] {configurationElement.getDeclaringExtension().getNamespace()} ), null);  //$NON-NLS-1$
-				DebugPlugin.log(s);
-			}
-		}			
-	}
-	
-	
-	/**
-	 * Load comparator extensions.
-	 */
-	private void initializeComparators() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fComparators = new HashMap(infos.length);
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			String attr = configurationElement.getAttribute("attribute"); //$NON-NLS-1$			
-			if (attr != null) {
-				fComparators.put(attr, new LaunchConfigurationComparator(configurationElement));
-			} else {
-				// invalid status handler
-				IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Invalid_launch_configuration_comparator_extension_defined_by_plug-in_{0}_-_attribute_not_specified_1"), new String[] {configurationElement.getDeclaringExtension().getNamespace()}), null); //$NON-NLS-1$
-				DebugPlugin.log(s);
-			}
-		}			
-	}
-		
-	/**
-	 * @see ILaunchManager#newSourceLocator(String)
-	 */
-	public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {
-		if (fSourceLocators == null) {
-			initializeSourceLocators();
-		}
-		IConfigurationElement config = (IConfigurationElement)fSourceLocators.get(identifier);
-		if (config == null) {
-			throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
-				MessageFormat.format(DebugCoreMessages.getString("LaunchManager.Source_locator_does_not_exist__{0}_13"), new String[] {identifier} ), null)); //$NON-NLS-1$
-		} 
-		IPersistableSourceLocator sourceLocator = (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$
-		if (sourceLocator instanceof AbstractSourceLookupDirector) {
-			((AbstractSourceLookupDirector)sourceLocator).setId(identifier);
-		}
-		return sourceLocator;
-	}
-
-	/**
-	 * Returns the comparator registered for the given attribute, or
-	 * <code>null</code> if none.
-	 * 
-	 * @param attributeName attribute for which a comparator is required
-	 * @return comparator, or <code>null</code> if none
-	 */
-	protected Comparator getComparator(String attributeName) {
-		 Map map = getComparators();
-		 return (Comparator)map.get(attributeName);
-	}
-	
-	/**
-	 * Returns comparators, loading if required
-	 */
-	protected Map getComparators() {
-		if (fComparators == null) {
-			initializeComparators();
-		}
-		return fComparators;
-	}
-	
-	private IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return getWorkspace().getRoot();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#addLaunches(org.eclipse.debug.core.ILaunch)
-	 */
-	public void addLaunches(ILaunch[] launches) {
-		List added = new ArrayList(launches.length);
-		for (int i = 0; i < launches.length; i++) {
-			if (internalAddLaunch(launches[i])) {
-				added.add(launches[i]);
-			}
-		}
-		if (!added.isEmpty()) {
-			ILaunch[] addedLaunches = (ILaunch[])added.toArray(new ILaunch[added.size()]);
-			fireUpdate(addedLaunches, ADDED);
-			for (int i = 0; i < addedLaunches.length; i++) {
-				fireUpdate(launches[i], ADDED);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#addLaunchListener(org.eclipse.debug.core.ILaunchesListener)
-	 */
-	public void addLaunchListener(ILaunchesListener listener) {
-		fLaunchesListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#removeLaunches(org.eclipse.debug.core.ILaunch)
-	 */
-	public void removeLaunches(ILaunch[] launches) {
-		List removed = new ArrayList(launches.length);
-		for (int i = 0; i < launches.length; i++) {
-			if (internalRemoveLaunch(launches[i])) {
-				removed.add(launches[i]);
-			}
-		}
-		if (!removed.isEmpty()) {
-			ILaunch[] removedLaunches = (ILaunch[])removed.toArray(new ILaunch[removed.size()]);
-			fireUpdate(removedLaunches, REMOVED);
-			for (int i = 0; i < removedLaunches.length; i++) {
-				fireUpdate(removedLaunches[i], REMOVED);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#removeLaunchListener(org.eclipse.debug.core.ILaunchesListener)
-	 */
-	public void removeLaunchListener(ILaunchesListener listener) {
-		fLaunchesListeners.remove(listener);
-	}
-
-	/**
-	 * Indicates the given launch configuration is being moved from the given
-	 * location to the new location.
-	 * 
-	 * @param from the location a launch configuration is being moved from, or
-	 * <code>null</code>
-	 * @param to the location a launch configuration is being moved to,
-	 * or <code>null</code>
-	 */
-	protected void setMovedFromTo(ILaunchConfiguration from, ILaunchConfiguration to) {
-		fFrom = from;
-		fTo = to;
-	}
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#getMovedFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration) {
-		if (addedConfiguration.equals(fTo)) {
-			return fFrom;
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchManager#getMovedTo(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration) {
-		if (removedConfiguration.equals(fFrom)) {
-			return fTo;
-		}
-		return null;
-	}
-	
-	/**
-	 * Collects files whose extension matches the launch configuration file
-	 * extension.
-	 */
-	class ResourceProxyVisitor implements IResourceProxyVisitor {
-		
-		private List fList;
-		
-		protected ResourceProxyVisitor(List list) {
-			fList= list;
-		}
-		/**
-		 * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
-		 */
-		public boolean visit(IResourceProxy proxy) {
-			if (proxy.getType() == IResource.FILE) {
-				if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equalsIgnoreCase(proxy.requestFullPath().getFileExtension())) {
-					fList.add(proxy.requestResource());
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-
-	private LaunchNotifier getLaunchNotifier() {
-		return new LaunchNotifier();
-	}
-	
-	/**
-	 * Notifies a launch listener (single launch) in a safe runnable to handle
-	 * exceptions.
-	 */
-	class LaunchNotifier implements ISafeRunnable {
-		
-		private ILaunchListener fListener;
-		private int fType;
-		private ILaunch fLaunch;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("LaunchManager.An_exception_occurred_during_launch_change_notification._1"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchAdded(fLaunch);
-					break;
-				case REMOVED:
-					fListener.launchRemoved(fLaunch);
-					break;
-				case CHANGED:
-					if (isRegistered(fLaunch)) {
-						fListener.launchChanged(fLaunch);
-					}
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param listener the listener to notify
-		 * @param launch the launch that has changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunch launch, int update) {
-			fLaunch = launch;
-			fType = update;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fLaunch = null;
-			fListener = null;		
-		}
-	}
-	
-	private LaunchesNotifier getLaunchesNotifier() {
-		return new LaunchesNotifier();
-	}
-	
-	/**
-	 * Notifies a launch listener (multiple launches) in a safe runnable to
-	 * handle exceptions.
-	 */
-	class LaunchesNotifier implements ISafeRunnable {
-		
-		private ILaunchesListener fListener;
-		private int fType;
-		private ILaunch[] fNotifierLaunches;
-		private ILaunch[] fRegistered;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("LaunchManager.An_exception_occurred_during_launch_change_notification._1"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchesAdded(fNotifierLaunches);
-					break;
-				case REMOVED:
-					fListener.launchesRemoved(fNotifierLaunches);
-					break;
-				case CHANGED:
-				case TERMINATE:
-					if (fRegistered == null) {
-						List registered = null;
-						for (int j = 0; j < fNotifierLaunches.length; j++) {
-							if (isRegistered(fNotifierLaunches[j])) {
-								if (registered != null) {
-									registered.add(fNotifierLaunches[j]);
-								} 
-							} else {
-								if (registered == null) {
-									registered = new ArrayList(fNotifierLaunches.length);
-									for (int k = 0; k < j; k++) {
-										registered.add(fNotifierLaunches[k]);
-									}
-								}
-							}
-						}
-						if (registered == null) {
-							fRegistered = fNotifierLaunches;
-						} else {
-							fRegistered = (ILaunch[])registered.toArray(new ILaunch[registered.size()]);
-						}
-					}
-					if (fRegistered.length > 0) {
-						if (fType == CHANGED) {
-							fListener.launchesChanged(fRegistered);
-						}
-						if (fType == TERMINATE && fListener instanceof ILaunchesListener2) {
-							((ILaunchesListener2)fListener).launchesTerminated(fRegistered);
-						}
-					}
-					break;
-			}
-		}
-
-		/**
-		 * Notifies the given listener of the adds/changes/removes
-		 * 
-		 * @param launches the launches that changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunch[] launches, int update) {
-			fNotifierLaunches = launches;
-			fType = update;
-			fRegistered = null;
-			Object[] copiedListeners= fLaunchesListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (ILaunchesListener)copiedListeners[i];
-				Platform.run(this);
-			}	
-			fNotifierLaunches = null;
-			fRegistered = null;
-			fListener = null;			
-		}
-	}
-	
-	protected ConfigurationNotifier getConfigurationNotifier() {
-		return new ConfigurationNotifier();
-	}
-	
-	/**
-	 * Notifies a launch config listener in a safe runnable to handle
-	 * exceptions.
-	 */
-	class ConfigurationNotifier implements ISafeRunnable {
-		
-		private ILaunchConfigurationListener fListener;
-		private int fType;
-		private ILaunchConfiguration fConfiguration;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("LaunchManager.An_exception_occurred_during_launch_configuration_change_notification._3"), exception); //$NON-NLS-1$
-			DebugPlugin.log(status);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			switch (fType) {
-				case ADDED:
-					fListener.launchConfigurationAdded(fConfiguration);
-					break;
-				case REMOVED:
-					fListener.launchConfigurationRemoved(fConfiguration);
-					break;
-				case CHANGED:
-					fListener.launchConfigurationChanged(fConfiguration);
-					break;
-			}			
-		}
-
-		/**
-		 * Notifies the given listener of the add/change/remove
-		 * 
-		 * @param configuration the configuration that has changed
-		 * @param update the type of change
-		 */
-		public void notify(ILaunchConfiguration configuration, int update) {
-			fConfiguration = configuration;
-			fType = update;
-			if (fLaunchConfigurationListeners.size() > 0) {
-				Object[] listeners = fLaunchConfigurationListeners.getListeners();
-				for (int i = 0; i < listeners.length; i++) {
-					fListener = (ILaunchConfigurationListener)listeners[i];
-					Platform.run(this);
-				}
-			}
-			fConfiguration = null;
-			fListener = null;			
-		}
-	}
-	
-	/**
-	 * Load comparator extensions.
-	 * 
-	 * @exception CoreException if an exception occurs reading
-	 *  the extensions
-	 */
-	private void initializeLaunchModes() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_MODES);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-		fLaunchModes = new HashMap();
-		for (int i= 0; i < infos.length; i++) {
-			IConfigurationElement configurationElement = infos[i];
-			try {
-				ILaunchMode mode = new LaunchMode(configurationElement);
-				fLaunchModes.put(mode.getIdentifier(), mode);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-			
-		}			
-	}
-	
-	/** 
-	 * Returns an array of environment variables to be used when
-	 * launching the given configuration or <code>null</code> if unspecified.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if unable to access associated attribute or if
-	 * unable to resolve a variable in an environment variable's value
-	 */
-	public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException {
-		Map envMap = configuration.getAttribute(ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-		if (envMap == null) {
-			return null;
-		}
-		Map env = null;
-		// build base environment
-		env= new HashMap();
-		boolean append= configuration.getAttribute(ATTR_APPEND_ENVIRONMENT_VARIABLES, true);
-		if (append) {
-			env.putAll(getNativeEnvironment());
-		}
-		
-		// Add variables from config
-		Iterator iter= envMap.entrySet().iterator();
-		boolean win32= Platform.getOS().equals(Constants.OS_WIN32);
-		while (iter.hasNext()) {
-			Map.Entry entry= (Map.Entry) iter.next();
-			String key= (String) entry.getKey();
-			if (win32) {
-				// Win32 vars are case insensitive. Uppercase everything so
-				// that (for example) "pAtH" will correctly replace "PATH"
-				key= key.toUpperCase();
-			}
-			String value = (String) entry.getValue();
-			// translate any string substitution variables
-			String translated = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
-			env.put(key, translated);
-		}		
-		
-		iter= env.entrySet().iterator();
-		List strings= new ArrayList(env.size());
-		while (iter.hasNext()) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			StringBuffer buffer= new StringBuffer((String) entry.getKey());
-			buffer.append('=').append((String) entry.getValue());
-			strings.add(buffer.toString());
-		}
-		return (String[]) strings.toArray(new String[strings.size()]);
-	}
-	
-	
-	/**
-	 * Returns a copy of the native system environment variables. On WIN32,
-	 * all keys (variable names) are returned in uppercase. Note
-	 * that WIN32's environment is not case sensitive.
-	 * 
-	 * @return the a copy of the native system environment variables
-	 */
-	public Map getNativeEnvironment() {
-		if (fgNativeEnv != null) {
-			return new HashMap(fgNativeEnv);
-		}
-		fgNativeEnv= new HashMap();
-		try {
-			String nativeCommand= null;
-			boolean windowsOS= false;
-			boolean isWin9xME= false; //see bug 50567
-			String fileName= null;
-			if (Platform.getOS().equals(Constants.OS_WIN32)) {
-				windowsOS= true;
-				String osName= System.getProperty("os.name"); //$NON-NLS-1$
-				isWin9xME= osName != null && (osName.startsWith("Windows 9") || osName.startsWith("Windows ME")); //$NON-NLS-1$ //$NON-NLS-2$
-				if (isWin9xME) {
-					// Win 95, 98, and ME
-					// SET might not return therefore we pipe into a file
-					IPath stateLocation= DebugPlugin.getDefault().getStateLocation();
-					fileName= stateLocation.toOSString() + File.separator  + "env.txt"; //$NON-NLS-1$
-					nativeCommand= "command.com /C set > " + fileName; //$NON-NLS-1$
-				} else {
-					// Win NT, 2K, XP
-					nativeCommand= "cmd.exe /C set"; //$NON-NLS-1$
-				}
-			} else if (!Platform.getOS().equals(Constants.OS_UNKNOWN)){
-				nativeCommand= "printenv";		 //$NON-NLS-1$
-			}
-			if (nativeCommand == null) {
-				return fgNativeEnv;
-			}
-			Process process= Runtime.getRuntime().exec(nativeCommand);
-			if (isWin9xME) {
-				//read piped data on Win 95, 98, and ME
-				Properties p= new Properties();
-				File file= new File(fileName);
-				FileInputStream stream= new FileInputStream(file);
-				p.load(stream);
-				stream.close();
-				if (!file.delete()) {
-					file.deleteOnExit(); // if delete() fails try again on VM close
-				}
-				for (Enumeration enum = p.keys(); enum.hasMoreElements();) {
-					// Win32's environment vars are case insensitive. Put everything
-					// to uppercase so that (for example) the "PATH" variable will match
-					// "pAtH" correctly on Windows.
-					String key= ((String) enum.nextElement()).toUpperCase();
-					//no need to cast value
-					fgNativeEnv.put(key, p.get(key));
-				}
-			} else {
-				//read process directly on other platforms
-				BufferedReader reader= new BufferedReader(new InputStreamReader(process.getInputStream()));
-				String line= reader.readLine();
-				while (line != null) {
-					int separator= line.indexOf('=');
-					if (separator > 0) {
-						String key= line.substring(0, separator);
-						if (windowsOS) {
-							// Win32's environment vars are case insensitive. Put everything
-							// to uppercase so that (for example) the "PATH" variable will match
-							// "pAtH" correctly on Windows.
-							key= key.toUpperCase();
-						}
-						String value= line.substring(separator + 1);
-						fgNativeEnv.put(key, value);
-					}
-					line= reader.readLine();
-				}
-				reader.close();
-			}
-		} catch (IOException e) {
-			// Native environment-fetching code failed.
-			// This can easily happen and is not useful to log.
-		}
-		return new HashMap(fgNativeEnv);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#newSourcePathComputer(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException {
-		String id = null;
-		id = configuration.getAttribute(ISourcePathComputer.ATTR_SOURCE_PATH_COMPUTER_ID, (String)null);
-		
-		if (id == null) {
-			//use default computer for configuration type, if any			
-			return configuration.getType().getSourcePathComputer();							
-		}
-		return getSourcePathComputer(id);
-	}
-	
-	/**
-	 * Initializes source container type and source path computer extensions.
-	 */
-	private void initializeSourceContainerTypes() {
-		if (sourceContainerTypes == null) {
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_CONTAINER_TYPES);
-			IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-			sourceContainerTypes = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourceContainerTypes.put(
-						extensions[i].getAttribute("id"), //$NON-NLS-1$
-						new SourceContainerType(extensions[i]));
-			}
-			extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_PATH_COMPUTERS);
-			extensions = extensionPoint.getConfigurationElements();
-			sourcePathComputers = new HashMap();
-			for (int i = 0; i < extensions.length; i++) {
-				sourcePathComputers.put(
-						extensions[i].getAttribute("id"), //$NON-NLS-1$
-						new SourcePathComputer(extensions[i]));
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerType(java.lang.String)
-	 */
-	public ISourceContainerType getSourceContainerType(String id) {
-		initializeSourceContainerTypes();
-		return (ISourceContainerType) sourceContainerTypes.get(id);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerTypes()
-	 */
-	public ISourceContainerType[] getSourceContainerTypes() {
-		initializeSourceContainerTypes();
-		Collection containers = sourceContainerTypes.values();
-		return (ISourceContainerType[]) containers.toArray(new ISourceContainerType[containers.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getSourcePathComputer(java.lang.String)
-	 */
-	public ISourcePathComputer getSourcePathComputer(String id) {
-		initializeSourceContainerTypes();
-		return (ISourcePathComputer) sourcePathComputers.get(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchModes()
-	 */
-	public ILaunchMode[] getLaunchModes() {
-		if (fLaunchModes == null) {
-			initializeLaunchModes();
-		}
-		Collection collection = fLaunchModes.values();
-		return (ILaunchMode[]) collection.toArray(new ILaunchMode[collection.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchManager#getLaunchMode(java.lang.String)
-	 */
-	public ILaunchMode getLaunchMode(String mode) {
-		if (fLaunchModes == null) {
-			initializeLaunchModes();
-		}
-		return (ILaunchMode) fLaunchModes.get(mode);
-	}
-}
\ No newline at end of file
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 805e4b8..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchMode;
-
-/**
- * Proxy to a launch mode extension.
- */
-public class LaunchMode implements ILaunchMode {
-
-	private IConfigurationElement fConfigurationElement;
-	
-	/**
-	 * Constructs a new launch mode.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LaunchMode(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists("mode"); //$NON-NLS-1$
-		verifyAttributeExists("label"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LaunchMode.1"),new String[]{attrName}), null));		 //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return fConfigurationElement.getAttribute("mode"); //$NON-NLS-1$;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchMode#getLabel()
-	 */
-	public String getLabel() {
-		return fConfigurationElement.getAttribute("label"); //$NON-NLS-1$;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
deleted file mode 100644
index df8bb50..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
-	/**
-	 * The current number of listeners.
-	 * Maintains invariant: 0 <= fSize <= listeners.length.
-	 */
-	private int fSize;
-
-	/**
-	 * The list of listeners.  Initially <code>null</code> but initialized
-	 * to an array of size capacity the first time a listener is added.
-	 * Maintains invariant: listeners != null if and only if fSize != 0
-	 */
-	private Object[] fListeners= null;
-
-	/**
-	 * The empty array singleton instance, returned by getListeners()
-	 * when size == 0.
-	 */
-	private static final Object[] EmptyArray= new Object[0];
-
-	/**
-	 * Creates a listener list with the given initial capacity.
-	 *
-	 * @param capacity the number of listeners which this list can initially accept 
-	 *    without growing its internal representation; must be at least 1
-	 */
-	public ListenerList(int capacity) {
-		if (capacity < 1) {
-			throw new IllegalArgumentException();
-		}
-		fListeners= new Object[capacity];
-		fSize= 0;
-	}
-
-	/**
-	 * Adds a listener to the list.
-	 * Has no effect if an identical listener is already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void add(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-		// check for duplicates using identity
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				return;
-			}
-		}
-		// grow array if necessary
-		if (fSize == fListeners.length) {
-			Object[] temp= new Object[(fSize * 2) + 1];
-			System.arraycopy(fListeners, 0, temp, 0, fSize);
-			fListeners= temp;
-		}
-		fListeners[fSize++]= listener;
-	}
-
-	/**
-	 * Returns an array containing all the registered listeners.
-	 * The resulting array is unaffected by subsequent adds or removes.
-	 * If there are no listeners registered, the result is an empty array
-	 * singleton instance (no garbage is created).
-	 * Use this method when notifying listeners, so that any modifications
-	 * to the listener list during the notification will have no effect on the
-	 * notification itself.
-	 */
-	public synchronized Object[] getListeners() {
-		if (fSize == 0) {
-			return EmptyArray;
-		}
-		Object[] result= new Object[fSize];
-		System.arraycopy(fListeners, 0, result, 0, fSize);
-		return result;
-	}
-
-	/**
-	 * Removes a listener from the list.
-	 * Has no effect if an identical listener was not already registered.
-	 *
-	 * @param listener a listener
-	 */
-	public synchronized void remove(Object listener) {
-		if (listener == null) {
-			throw new IllegalArgumentException();
-		}
-
-		for (int i= 0; i < fSize; ++i) {
-			if (fListeners[i] == listener) {
-				if (--fSize == 0) {
-					fListeners= new Object[1];
-				} else {
-					if (i < fSize) {
-						fListeners[i]= fListeners[fSize];
-					}
-					fListeners[fSize]= null;
-				}
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Removes all the listeners from the list.
-	 */
-	public void removeAll() {
-		fListeners= new Object[0];
-		fSize= 0;
-	}
-
-	/**
-	 * Returns the number of registered listeners
-	 *
-	 * @return the number of registered listeners
-	 */
-	public int size() {
-		return fSize;
-	}
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
deleted file mode 100644
index a5ab72d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import 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;
-	
-	public static LogicalStructureManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new LogicalStructureManager();
-		}
-		return fgDefault;
-	}
-	
-	public ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
-		initialize();
-		Iterator iterator = fTypes.iterator();
-		List select = new ArrayList();
-		while (iterator.hasNext()) {
-			ILogicalStructureType type = (ILogicalStructureType)iterator.next();
-			if (type.providesLogicalStructure(value)) {
-				select.add(type);
-			}
-		}
-		return (ILogicalStructureType[]) select.toArray(new ILogicalStructureType[select.size()]);
-	}
-	
-	private void initialize() {
-		if (fTypes == null) {
-			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);
-				}
-			}
-		}
-	}
-}
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 413a363..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.*;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Proxy to a logical structure type extension.
- */
-public class LogicalStructureType implements ILogicalStructureType {
-
-	private IConfigurationElement fConfigurationElement;
-	private ILogicalStructureTypeDelegate fDelegate;
-	private String fModelId;
-	
-	/**
-	 * Constructs a new logical structure type, and verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	public LogicalStructureType(IConfigurationElement element) throws CoreException {
-		fConfigurationElement = element;
-		verifyAttributes();
-	}
-
-	/**
-	 * Verifies required attributes.
-	 * 
-	 * @exception CoreException if required attributes are missing
-	 */
-	private void verifyAttributes() throws CoreException {
-		verifyAttributeExists("id"); //$NON-NLS-1$
-		verifyAttributeExists("description"); //$NON-NLS-1$
-		verifyAttributeExists("class"); //$NON-NLS-1$
-		fModelId = fConfigurationElement.getAttribute("modelIdentifier"); //$NON-NLS-1$
-		if (fModelId == null) {
-			missingAttribute("modelIdentifier"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Verifies the given attribute exists
-	 * 
-	 * @exception CoreException if attribute does not exist
-	 */
-	private void verifyAttributeExists(String name) throws CoreException {
-		if (fConfigurationElement.getAttribute(name) == null) {
-			missingAttribute(name);
-		}
-	}
-
-	private void missingAttribute(String attrName) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("LogicalStructureType.7"),new String[]{attrName}), null));		 //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getDescription()
-	 */
-	public String getDescription() {
-		return fConfigurationElement.getAttribute("description"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getId()
-	 */
-	public String getId() {
-		return fConfigurationElement.getAttribute("id"); //$NON-NLS-1$
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#getLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public IValue getLogicalStructure(IValue value) throws CoreException {
-		return getDelegate().getLogicalStructure(value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.ILogicalStructureType#providesLogicalStructure(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean providesLogicalStructure(IValue value) {
-		if (value.getModelIdentifier().equals(fModelId)) {
-			return getDelegate().providesLogicalStructure(value);
-		}
-		return false;
-	}
-
-	protected ILogicalStructureTypeDelegate getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILogicalStructureTypeDelegate) fConfigurationElement.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-		return fDelegate;
-	}
-}
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 7886a13..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IFlushableStreamMonitor;
-
-/**
- * Monitors the output stream of a system process and notifies 
- * listeners of additions to the stream.
- * 
- * The output stream monitor reads system out (or err) via
- * and input stream.
- */
-public class OutputStreamMonitor implements IFlushableStreamMonitor {
-	/**
-	 * The stream being monitored (connected system out or err).
-	 */
-	private InputStream fStream;
-
-	/**
-	 * A collection of listeners
-	 */
-	private ListenerList fListeners= new ListenerList(1);
-	
-	/**
-	 * Whether content is being buffered
-	 */
-	private boolean fBuffered = true;
-
-	/**
-	 * The local copy of the stream contents
-	 */
-	private StringBuffer fContents;
-
-	/**
-	 * The thread which reads from the stream
-	 */
-	private Thread fThread;
-
-	/**
-	 * The size of the read buffer
-	 */
-	private static final int BUFFER_SIZE= 8192;
-
-	/**
-	 * Whether or not this monitor has been killed.
-	 * When the monitor is killed, it stops reading
-	 * from the stream immediately.
-	 */
-	private boolean fKilled= false;
-	
-	/**
-	 * Creates an output stream monitor on the
-	 * given stream (connected to system out or err).
-	 */
-	public OutputStreamMonitor(InputStream stream) {
-		fStream= stream;
-		fContents= new StringBuffer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public void addListener(IStreamListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Causes the monitor to close all
-	 * communications between it and the
-	 * underlying stream by waiting for the thread to terminate.
-	 */
-	protected void close() {
-		if (fThread != null) {
-			Thread thread= fThread;
-			fThread= null;
-			try {
-				thread.join();
-			} catch (InterruptedException ie) {
-			}
-			fListeners.removeAll();
-		}
-	}
-
-	/**
-	 * Notifies the listeners that text has
-	 * been appended to the stream.
-	 */
-	private void fireStreamAppended(String text) {
-		getNotifier().notifyAppend(text);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-	 */
-	public String getContents() {
-		return fContents.toString();
-	}
-
-	/**
-	 * Continually reads from the stream.
-	 * <p>
-	 * This method, along with the <code>startReading</code>
-	 * method is used to allow <code>OutputStreamMonitor</code>
-	 * to implement <code>Runnable</code> without publicly
-	 * exposing a <code>run</code> method.
-	 */
-	private void read() {
-		byte[] bytes= new byte[BUFFER_SIZE];
-		int read = 0;
-		while (read >= 0) {
-			try {
-				if (fKilled) {
-					break;
-				}
-				read= fStream.read(bytes);
-				if (read > 0) {
-					String text= new String(bytes, 0, read);
-					if (isBuffered()) {
-						fContents.append(text);
-					}
-					fireStreamAppended(text);
-				}
-			} catch (IOException ioe) {
-				DebugPlugin.log(ioe);
-				return;
-			} catch (NullPointerException e) {
-				// killing the stream monitor while reading can cause an NPE
-				// when reading from the stream
-				if (!fKilled && fThread != null) {
-					DebugPlugin.log(e);
-				}
-				return;
-			}
-		}
-		try {
-			fStream.close();
-		} catch (IOException e) {
-			DebugPlugin.log(e);
-		}
-	}
-	
-	protected void kill() {
-		fKilled= true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public void removeListener(IStreamListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Starts a thread which reads from the stream
-	 */
-	protected void startMonitoring() {
-		if (fThread == null) {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					read();
-				}
-			}, DebugCoreMessages.getString("OutputStreamMonitor.label")); //$NON-NLS-1$
-			fThread.start();
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
-	 */
-	public void setBuffered(boolean buffer) {
-		fBuffered = buffer;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
-	 */
-	public void flushContents() {
-		fContents.setLength(0);
-	}
-	
-	/**
-	 * @see IFlushableStreamMonitor#isBuffered()
-	 */
-	public boolean isBuffered() {
-		return fBuffered;
-	}
-
-	private ContentNotifier getNotifier() {
-		return new ContentNotifier();
-	}
-	
-	class ContentNotifier implements ISafeRunnable {
-		
-		private IStreamListener fListener;
-		private String fText;
-		
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugPlugin.log(exception);
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fListener.streamAppended(fText, OutputStreamMonitor.this);
-		}
-
-		public void notifyAppend(String text) {
-			if (text == null)
-				return;
-			fText = text;
-			Object[] copiedListeners= fListeners.getListeners();
-			for (int i= 0; i < copiedListeners.length; i++) {
-				fListener = (IStreamListener) copiedListeners[i];
-				Platform.run(this);
-			}
-			fListener = null;
-			fText = null;		
-		}
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
deleted file mode 100644
index dfcf65d..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
- 
-import java.io.IOException;
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-
-/**
- * Standard implementation of a streams proxy for s 
- * StreamsProxy
- */
-
-public class StreamsProxy implements IStreamsProxy {
-	/**
-	 * The monitor for the output stream (connected to standard out of the process)
-	 */
-	private OutputStreamMonitor fOutputMonitor;
-	/**
-	 * The monitor for the error stream (connected to standard error of the process)
-	 */
-	private OutputStreamMonitor fErrorMonitor;
-	/**
-	 * The monitor for the input stream (connected to standard in of the process)
-	 */
-	private InputStreamMonitor fInputMonitor;
-	/**
-	 * Records the open/closed state of communications with
-	 * the underlying streams.
-	 */
-	private boolean fClosed= false;
-	/**
-	 * Creates a <code>StreamsProxy</code> on the streams
-	 * of the given system process.
-	 */
-	public StreamsProxy(Process process) {
-		if (process == null) {
-			return;
-		}
-		fOutputMonitor= new OutputStreamMonitor(process.getInputStream());
-		fErrorMonitor= new OutputStreamMonitor(process.getErrorStream());
-		fInputMonitor= new InputStreamMonitor(process.getOutputStream());
-		fOutputMonitor.startMonitoring();
-		fErrorMonitor.startMonitoring();
-		fInputMonitor.startMonitoring();
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams after all remaining data
-	 * in the streams is read.
-	 */
-	public void close() {
-		if (!fClosed) {
-			fClosed= true;
-			fOutputMonitor.close();
-			fErrorMonitor.close();
-			fInputMonitor.close();
-		}
-	}
-
-	/**
-	 * Causes the proxy to close all
-	 * communications between it and the
-	 * underlying streams immediately.
-	 * Data remaining in the streams is lost.
-	 */	
-	public void kill() {
-		fClosed= true;
-		fOutputMonitor.kill();
-		fErrorMonitor.kill();
-		fInputMonitor.close();
-	}
-
-	/**
-	 * @see IStreamsProxy#getErrorStreamMonitor()
-	 */
-	public IStreamMonitor getErrorStreamMonitor() {
-		return fErrorMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#getOutputStreamMonitor()
-	 */
-	public IStreamMonitor getOutputStreamMonitor() {
-		return fOutputMonitor;
-	}
-
-	/**
-	 * @see IStreamsProxy#write(String)
-	 */
-	public void write(String input) throws IOException {
-		if (!fClosed) {
-			fInputMonitor.write(input);
-		} else {
-			throw new IOException();
-		}
-	}
-
-}
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 8a78e13..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.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 e8d2462..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.eclipse.debug.core.model.IWatchExpressionListener;
-import org.eclipse.debug.core.model.IWatchExpressionResult;
-
-/**
- * Base watch expression implementation.
- * <p>
- * Clients may extend this class.
- * </p>
- * @since 3.0
- */
-public class WatchExpression implements IWatchExpression {
-	
-	protected String fExpressionText;
-	protected IWatchExpressionResult fResult;
-	protected IDebugTarget fDebugTarget;
-	protected IDebugElement fCurrentContext;
-	private boolean fEnabled= true;
-	private boolean fPending= false;
-	
-	/**
-	 * Creates a new watch expression with the given expression
-	 * text.
-	 * @param expression the text of the expression to be evaluated.
-	 */
-	public WatchExpression(String expression) {
-		fExpressionText= expression;
-	}
-
-	/**
-	 * Creates a new watch expression with the given expression
-	 * and the given enablement;
-	 * 
-	 * @param expressionText the text of the expression to be evaluated
-	 * @param enabled whether or not the new expression should be enabled
-	 */
-	public WatchExpression(String expressionText, boolean enabled) {
-		this(expressionText);
-		fEnabled= enabled;
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#evaluate()
-	 */
-	public void evaluate() {
-		if (fCurrentContext == null) {
-			return;
-		}
-		IDebugElement context= fCurrentContext;
-		fDebugTarget= context.getDebugTarget();
-			
-		IWatchExpressionListener listener= new IWatchExpressionListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.core.model.IWatchExpressionListener#watchEvaluationFinished(org.eclipse.debug.core.model.IWatchExpressionResult)
-			 */
-			public void watchEvaluationFinished(IWatchExpressionResult result) {
-				setPending(false);
-				setResult(result);
-			}
-		};
-		setPending(true);
-		IWatchExpressionDelegate delegate= DebugPlugin.getDefault().getExpressionManager().newWatchExpressionDelegate(context.getModelIdentifier());
-		if (delegate != null) {
-			delegate.evaluateExpression(getExpressionText(), context, listener);
-		} else {
-			// No delegate provided
-			listener.watchEvaluationFinished(new IWatchExpressionResult() {
-				public IValue getValue() {
-					return null;
-				}
-				public boolean hasErrors() {
-					return true;
-				}
-				public String[] getErrorMessages() {
-					return new String[] { DebugCoreMessages.getString("WatchExpression.0") }; //$NON-NLS-1$
-				}
-				public String getExpressionText() {
-					return WatchExpression.this.getExpressionText();
-				}
-				public DebugException getException() {
-					return null;
-				}
-			});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionContext(org.eclipse.debug.core.model.IDebugElement)
-	 */
-	public void setExpressionContext(IDebugElement context) {
-		fCurrentContext= context;
-		if (context == null) {
-			setResult(null);
-			return;
-		}
-		if (!isEnabled()) {
-			return;
-		}
-		
-		evaluate();
-	}
-
-	/**
-	 * Sets the result of the last expression and fires notification that
-	 * this expression's value has changed.
-	 */
-	public void setResult(IWatchExpressionResult result) {
-		fResult= result;
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {new DebugEvent(this, DebugEvent.CHANGE)});
-	}
-	
-	/**
-	 * Notifies the expression manager that this watch expression's
-	 * values have changed so the manager can update the
-	 * persisted expression.
-	 */
-	private void watchExpressionChanged() {
-		((ExpressionManager)DebugPlugin.getDefault().getExpressionManager()).watchExpressionChanged(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		return fExpressionText;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#getValue()
-	 */
-	public IValue getValue() {
-		if (fResult == null) {
-			return null;
-		}
-		return fResult.getValue();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fDebugTarget;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IExpression#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		if (fCurrentContext != null) {
-			return fCurrentContext.getModelIdentifier();
-		}
-		return DebugPlugin.getUniqueIdentifier();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return getDebugTarget().getLaunch();
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-	/**
-	 * @param enabled
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled= enabled;
-		watchExpressionChanged();
-		evaluate();
-	}
-
-	/**
-	 * @param expression
-	 */
-	public void setExpressionText(String expression) {
-		fExpressionText= expression;
-		watchExpressionChanged();
-		evaluate();
-	}
-
-	/**
-	 * @return Whether or not this watch expression is currently enabled.
-	 * 		Enabled watch expressions will continue to update their value
-	 * 		automatically. Disabled expressions require a manual update.
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IWatchExpression#isPending()
-	 */
-	public boolean isPending() {
-		return fPending;
-	}
-	
-	/**
-	 * Sets the pending state of this expression.
-	 * 
-	 * @param pending whether or not this expression should be
-	 * 		flagged as pending
-	 */
-	protected void setPending(boolean pending) {
-		fPending= pending;
-		watchExpressionChanged();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#hasErrors()
-	 */
-	public boolean hasErrors() {
-		return fResult != null && fResult.hasErrors();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#getErrorMessages()
-	 */
-	public String[] getErrorMessages() {
-		if (fResult == null) {
-			return new String[0];
-		}
-		return fResult.getErrorMessages();
-	}
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingFactory.java
deleted file mode 100644
index fb3aa05..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-
-
-/**
- * Class for creating a list of dynamic rendering types.
- * @since 3.0
- */
-public interface IDynamicRenderingFactory {
-	
-	/**
-	 * @return a list of dynamic rendering types
-	 */
-	IDynamicRenderingInfo [] getRenderingInfos();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingInfo.java
deleted file mode 100644
index f2a4f4a..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IDynamicRenderingInfo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-
-/**
- * This interface represents a dynamic rendering type to be determined
- * by debug providers at runtime. 
- * 
- * Dynamic rendering types must be tied to a rendering extension.
- * When IMemoryRenderingManager.getAllRenderingInfo(Object obj) is called,
- * the manager will query for the "dynamicRenderingFactory" property from all rendering extensions.
- * 
- * If this property is defined in the rendering, the rendering defined will be considered
- * dynamic.  The manager will ask the dynamicRenderingFactory for a list of rendering types.
- * 
- * The manager will create IMemoryRenderingInfo ojbect for each of the dynamic rendering
- * type.  The dynamic rendering info will have all the properties defined in the extension.
- * When one of these dynamic renderings is created, it will use the rendering factory defined
- * in the extension to create the rendering.
- * @since 3.0
- */
-public interface IDynamicRenderingInfo {
-	
-	/**
-	 * @return the parent rendering definition of the dynamic rendering type
-	 */
-	IMemoryRenderingInfo getParentRenderingInfo();
-	
-	/**
-	 * @return the rendering id of this rendering
-	 */
-	String getRenderingId();
-	
-	/**
-	 * @return the name of this dynamic rendering
-	 */
-	String getName();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlock.java
deleted file mode 100644
index 5256656..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlock.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-/**
- * Represents a memory block.
- * 
- * When the memory block is changed, fire a CHANGE Debug Event.
- * 
- *  When firing change event, be aware of the following:
- *  - whenever a change event is fired, the content provider for Memory View / Memory Rendering
- *    view checks to see if memory has actually changed.  
- *  - If memory has actually changed, a refresh will commence.  Changes to the memory block
- *    will be computed and will be shown with the delta icons.
- *  - If memory has not changed, content will not be refreshed.  However, previous delta information 
- * 	  will be erased.  The screen will be refreshed to show that no memory has been changed.  (All
- *    delta icons will be removed.)
- * 
- * Please note that these APIs will be called multiple times by the Memory View.
- * To improve performance, debug adapters need to cache the content of its memory block and only
- * retrieve updated data when necessary.
- * @since 3.0
- */
-public interface IExtendedMemoryBlock extends IMemoryBlock {
-	
-	/**
-	 * Returns the expression of this memory block.
-	 * The expression will be used to construct the tab label of the memory view.
-	 *
-	 * @return expression of the memory block.
-	 * @exception DebugException if this method fails.  Reasons include:
-	 * <ul><li>Failure communicating with the engine.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public String getExpression() throws DebugException;	
-	
-	/**
-	 * Get the base address of this memory block in BigInteger
-	 * @return 
-	 */
-	public BigInteger getBigBaseAddress();
-	
-	/**
-	 * @return address size in number of bytes
-	 */
-	public int getAddressSize();
-	
-	
-	/**
-	 * Indicate if the base address of this memory block block could be modified
-	 * If return true, setBaseAddress will be used to change the base address
-	 * of this memory block.
-	 * * @return
-	 */
-	public boolean supportBaseAddressModification();
-	
-	/**
-	 * @return true to indicate that the memory block manages the changes in the
-	 * memory block.  If the memory block manages changes, the memory block is
-	 * expected to cache the MemoryByte array returned by getBytesFromOffset and
-	 * getBytesFromAddress.  The change information will not be calculated by
-	 * the memory view.  Intead, the memory block keeps track of the bytes
-	 * and marks the bytes as changed/unchanged.  Turn off both the CHANGE and UNCHANGED
-	 * bits if the memory block does not contain history for the address.
-	 * 
-	 * If this function returns false, the Memory View will calculate
-	 * delta information for each byte based on its history.
-	 */
-	public boolean isMemoryChangesManaged();
-	
-	/**
-	 * Set the base address of this memory block
-	 * @param address
-	 * @throws DebugException if the method fails.  Reasons inlucde:
-	 * <ul><li>Failure communicating with the engine.  The DebugException's
-	 * status code contains the underlying exception responsible for
-	 * the failure.</li>
-	 */
-	public void setBaseAddress(BigInteger address) throws DebugException;
-
-	
-	/**
-	 * Get bytes based on offset and length.  Memory at base address + offset 
-	 * should be returned.
-	 * Return an array of IMemory.  Each IMemory object represents a section of the
-	 * memory block.  The IMemory object allows debug adapters to provide more information
-	 * about a section of memory.  Refer to IMemory for details. 
-	 * 
-	 * @param offset
-	 * @param length
-	 * @return
-	 * @throws DebugException if the method fails.
-	 */
-	public MemoryByte[] getBytesFromOffset(long offset, long length) throws DebugException;
-	
-	
-	/**
-	 * Get bytes based on a given address.  
-	 * 
-	 * Return an array of IMemory.  Each IMemory object represents a section of the
-	 * memory block.  The IMemory object allows debug adapters to provide more information
-	 * about a section of memory.  Refer to IMemory for details. 
-	 * 
-	 * @param address
-	 * @param length
-	 * @return
-	 * @throws DebugException if method fails
-	 */
-	public MemoryByte[] getBytesFromAddress(BigInteger address, long length) throws DebugException;	
-
-	/**
-	 * @return true if the platform is big endian, false otherwise
-	 */
-	public boolean isBigEndian();
-
-	
-	/**
-	 * Enable this memory block.  Block is enabled when its view tab is in focus.
-	 */
-	public void enable();
-	
-	
-	/**
-	 * Disable this memory block.  Block is disabled when its view tab loses focus.
-	 */
-	public void disable();
-	
-	/**
-	 * Indicate if this memory block is enabled/disabled.
-	 * @return
-	 */
-	public boolean isEnabled();
-	
-	
-	/**
-	 * Delete this memory block.
-	 */
-	public void delete();
-	
-	/**
-	 * Return the IMemoryBlockRetrieval responsible for getting
-	 * this memory block.
-	 * @return
-	 */
-	public IMemoryBlockRetrieval getMemoryBlockRetrieval();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlockRetrieval.java
deleted file mode 100644
index 1a07a1e..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IExtendedMemoryBlockRetrieval.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Extended capabilites for memory block retrieval.
- * @since 3.0
- */
-public interface IExtendedMemoryBlockRetrieval extends IMemoryBlockRetrieval {
-	
-	/**
-	 * Retrieves a memory block. 
-	 * 
-	 * @param expression - expression to be evalutated to an address, evaluation context can be retrieved
-	 *                     from the selected debug element 
-	 * @param selected - selected debug element from Debug View
-	 * @return
-	 * @throws DebugException
-	 */
-	
-	public IExtendedMemoryBlock getExtendedMemoryBlock(String expression, IDebugElement selected) throws DebugException;
-
-	/**
-	 * @return the string to be used in place of this memory content when bytes
-	 * are not available.
-	 * Return null if the byte is available.
-	 */
-	public String getPaddedString();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockListener.java
deleted file mode 100644
index 2906859..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-/**
- * Listener for add memory / remove memory events.
- * Implementer should add itself to IMemoryBlockManager to
- * be notified of these events.
- * @since 3.0
- */
-public interface IMemoryBlockListener {
-	
-	/**
-	 * Called when a memory block is added.
-	 * @param memory
-	 */
-	void MemoryBlockAdded(IMemoryBlock memory);
-
-	/**
-	 * Called when a memory block is removed.
-	 * @param memory
-	 */
-	void MemoryBlockRemoved(IMemoryBlock memory);
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockManager.java
deleted file mode 100644
index 751a0bd..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryBlockManager.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Manages all memory blocks in the workbench
- * @since 3.0
- */
-public interface IMemoryBlockManager {
-
-	/**
-	 * Tell the manager that a memory block has been added.
-	 * @param mem
-	 * @param addDefaultRenderings - true if default renderings are to be added
-	 */
-	void addMemoryBlock(IMemoryBlock mem, boolean addDefaultRenderings);
-	
-	
-	/**
-	 * Tell the manager that a memory block has been removed.
-	 * @param mem
-	 */
-	void removeMemoryBlock(IMemoryBlock mem);
-	
-	
-	/**
-	 * Add a listener to the memory block manager.  
-	 * @param listener
-	 */
-	void addListener(IMemoryBlockListener listener);
-	
-	
-	/**
-	 * Remove a listener from the memory block manager.
-	 * @param listener
-	 */
-	void removeListener(IMemoryBlockListener listener);
-	
-	/**
-	 * Get all memory blocks in the workbench.
-	 * @return
-	 */
-	public IMemoryBlock[] getAllMemoryBlocks();
-	
-	/**
-	 * Get all memory blocks associated with the given debug target
-	 * (i.e <memoryBlock>.getDebugTarget == debugTarget)
-	 * @param debugTarget
-	 * @return
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget);
-	
-	/**
-	 * Get all memory blocks associated with the given memory block retrieval.
-	 * @param retrieve
-	 * @return
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval retrieve);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRendering.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRendering.java
deleted file mode 100644
index e809a90..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRendering.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-
-/**
- * Represent a memory rendering in Memory Rendering View 
- * @since 3.0
- */
-public interface IMemoryRendering
-{
-	/**
-	 * @return the memory block of this rendering.
-	 */
-	public IMemoryBlock getBlock();
-
-	/**
-	 * @return the rendering id of this rendering.
-	 */
-	public String getRenderingId();
-	
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingFactory.java
deleted file mode 100644
index 9263b56..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * A class to be optionally implemented by plugins that
- * wishes to create its own renderings.
- * 
- * If this class is not specified in the redering definition, a default
- * factory will be used and an instance of MemoryRendering will be created.
- * @since 3.0
- */
-public interface IMemoryRenderingFactory {
-
-	/**
-	 * @param memoryBlock
-	 * @param renderingId
-	 * @return the rendering created.  Null if the rendering is not to be created.
-	 * Throws a Debug Exception if an error has occurred.
-	 */
-	IMemoryRendering createRendering(IMemoryBlock memoryBlock, String renderingId) throws DebugException;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingInfo.java
deleted file mode 100644
index e4d04e3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingInfo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-
-/**
- * Store information about a type of rendering
- * e.g.  raw memory, ascii, ebcdic, integer, etc.
- * Extension point org.eclipse.debug.ui.rendering is
- * provided to allow plugins to contribute additional rendering
- * types.
- * @since 3.0
- */
-public interface IMemoryRenderingInfo
-{
-	/**
-	 * @return the name of the rendering type.
-	 * Name will be used to label the view tab of the rendering
-	 */
-	public String getName();
-	
-	/**
-	 * @return the id of this rendering
-	 */
-	public String getRenderingId();
-	
-	/**
-	 * Given the property id, get rendering specific property
-	 * Return null if the property is nto available.
-	 * @param propertyId
-	 * @return
-	 */
-	public String getProperty(String propertyId);
-	
-	/**
-	 * @return the configuration element of the rendering
-	 */
-	public IConfigurationElement getConfigElement();
-	
-	/**
-	 * @param propertyId
-	 * @return the configuration element of the property
-	 */
-	public IConfigurationElement getPropertyConfigElement(String propertyId);
-	
-	/**
-	 * @return the configuration element of all the properties
-	 */
-	public IConfigurationElement[] getAllProperties();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingListener.java
deleted file mode 100644
index 7eab095..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core.memory;
-
-
-
-
-/**
- * Rendering listeners listen for add/removal events from IMemoryRenderingManager.
- * Implementors should add itself to IMemoryRenderingManager
- * @since 3.0
- */
-public interface IMemoryRenderingListener
-{
-	/**
-	 * This function is called when a new rendering is added.
-	 * @param memory
-	 * @param renderingId
-	 */
-	void MemoryBlockRenderingAdded(IMemoryRendering rendering);
-
-	/**
-	 * Fired when a memory rendering is removed.
-	 * @param memory
-	 */
-	void MemoryBlockRenderingRemoved(IMemoryRendering rendering);	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingManager.java
deleted file mode 100644
index 91f12d0..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/IMemoryRenderingManager.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * Manages all memory renderings in the workbench.
- * @since 3.0
- */
-public interface IMemoryRenderingManager
-{
-	/**
-	 * Tell the manager to add a new memory rendering
-	 * @param mem
-	 * @param renderingId
-	 * @return the IMemoryRendering object created
-	 */
-	public IMemoryRendering addMemoryBlockRendering(IMemoryBlock mem, String renderingId) throws DebugException;
-	
-	
-	/**
-	 * Tell the manager that a memory rendering has been removed.
-	 * Remove all renderings with that same memory block and rendering ids 
-	 * @param mem
-	 */
-	public void removeMemoryBlockRendering(IMemoryBlock mem, String renderingId);
-	
-	/**
-	 * Add the specified rendering from the manager and notify listeners
-	 * @param rendering
-	 */
-	public void addMemoryBlockRendering(IMemoryRendering rendering) throws DebugException;
-	
-	/**
-	 * Remove the specified rendering from the manager and notify listeners
-	 * @param rendering
-	 */
-	public void removeMemoryBlockRendering(IMemoryRendering rendering);
-	
-	/**
-	 * Add a listener to the memory rendering manager.  
-	 * @param listener
-	 */
-	public void addListener(IMemoryRenderingListener listener);
-	
-	
-	/**
-	 * Remove a listener from the memory rendering manager.
-	 * @param listener
-	 */
-	public void removeListener(IMemoryRenderingListener listener);
-	
-	/**
-	 * Get renderings based on given memory block and rendering id.
-	 * Return all renderings related to the memory block if renderingId
-	 * is null.
-	 * Return an empty array if the rendering cannot be found.
-	 * @param mem
-	 * @param renderingId
-	 */
-	public IMemoryRendering[] getRenderings(IMemoryBlock mem, String renderingId);
-	
-	/**
-	 * Get all memory renderings from the given debug target
-	 * Return an empty array if nothing can be found for the debug target.
-	 * @param target
-	 * @return
-	 */
-	public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target);
-	
-	/**
-	 * Get all memory renderings from the given memory block
-	 * Return an empty array if nothing can be found for the memory block.
-	 * @param block
-	 * @return
-	 */
-	public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block);	
-	
-	/**
-	 * @param renderingId
-	 * @return rendering information of the given rendering id
-	 */
-	public IMemoryRenderingInfo getRenderingInfo(String renderingId);
-	
-	/**
-	 * @param obj
-	 * @return all rendering information valid for the given object
-	 */
-	public IMemoryRenderingInfo[] getAllRenderingInfo(Object obj);
-	
-	/**
-	 * @param obj
-	 * @return default renderings' ids for the given object
-	 */
-	public String[] getDefaultRenderings(Object obj);
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryBlockManager.java
deleted file mode 100644
index 96bed65..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryBlockManager.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core.memory;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Implementation of IMemoryBlockManager
- * The manager is responsible to manage all memory blocks in the workbench.
- * 
- * @since 3.0
- * 
- */
-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;
-	
-	
-	/**
-	 * The singleton memory block manager.
-	 */
-	private static MemoryBlockManager fgMemoryBlockManager;
-	
-	/**
-	 * The singleton memory rendering manager.
-	 */
-	private static MemoryRenderingManager fgMemoryRenderingManager;
-	
-	/**
-	 * Returns the memory block manager.
-	 * @return the memory block manager.
-	 * @see IMemoryBlockManager
-	 * @since 3.0
-	 */
-	public static IMemoryBlockManager getMemoryBlockManager(){
-		if (fgMemoryBlockManager == null)
-		{
-			fgMemoryBlockManager = new MemoryBlockManager();
-		}
-		
-		return fgMemoryBlockManager;
-	}
-	
-	/**
-	 * Returns the memory rendering manager.
-	 * @return the memory rendering manager.
-	 * @see IMemoryRenderingManager
-	 * @since 3.0
-	 */
-	public static IMemoryRenderingManager getMemoryRenderingManager() {
-		if (fgMemoryRenderingManager == null)
-		{
-			fgMemoryRenderingManager = new MemoryRenderingManager();
-		}
-		
-		return fgMemoryRenderingManager;
-	}
-	
-	public static void pluginShutdown() {
-		if (fgMemoryBlockManager != null) {
-			fgMemoryBlockManager.shutdown();
-		}
-		if (fgMemoryRenderingManager != null) {
-			fgMemoryRenderingManager.shutdown();
-		}
-		
-	}
-	
-	/**
-	 * Notifies a memory block listener in a safe runnable to
-	 * handle exceptions.
-	 */
-	class MemoryBlockNotifier implements ISafeRunnable {
-		
-		private IMemoryBlockListener fListener;
-		private int fType;
-		private IMemoryBlock fMemoryBlock;
-		
-		/**
-		 * @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.MemoryBlockAdded(fMemoryBlock);
-					break;
-				case REMOVED:
-					fListener.MemoryBlockRemoved(fMemoryBlock);
-					break;
-			}			
-		}
-
-		/**
-		 * Notify listeners of added/removed memory block events
-		 */
-		public void notify(IMemoryBlock memoryBlock, 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];
-					fMemoryBlock = memoryBlock;
-					Platform.run(this);
-				}			
-			}
-			fListener = null;
-			fMemoryBlock = null;
-		}
-	}
-	
-	private MemoryBlockNotifier getMemoryBlockNotifier() {
-		return new MemoryBlockNotifier();
-	}	
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#addMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void addMemoryBlock(IMemoryBlock mem, boolean addDefaultRenderings) {
-		
-		if (memoryBlocks == null)
-			return;
-		
-		if (mem == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}
-		
-		// do not allow duplicates
-		if (memoryBlocks.contains(mem))
-			return;
-		
-		MemoryRenderingManager renderingManager = (MemoryRenderingManager) getMemoryRenderingManager();
-		
-		if (!addDefaultRenderings)
-		{
-			renderingManager.setHandleMemoryBlockAddedEvent(false);
-		}
-		else
-		{
-			renderingManager.setHandleMemoryBlockAddedEvent(true);
-		}
-		
-		if (mem == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}
-		
-		memoryBlocks.add(mem);
-		
-		// add listener for the first memory block added
-		if (memoryBlocks.size() == 1)
-		{
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-		
-		notifyListeners(mem, ADDED);
-
-		// always set it back to true
-		renderingManager.setHandleMemoryBlockAddedEvent(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#removeMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void removeMemoryBlock(IMemoryBlock mem) {
-		
-		if (memoryBlocks == null)
-			return;
-		
-		if (mem == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeMemoryBlock", null); //$NON-NLS-1$
-			return;			
-		}		
-		
-		memoryBlocks.remove(mem);
-		
-		// remove listener after the last memory block has been removed
-		if (memoryBlocks.size() == 0)
-		{
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-		
-		if (mem instanceof IExtendedMemoryBlock)
-		{ 
-			((IExtendedMemoryBlock)mem).delete();
-		}
-		
-		notifyListeners(mem, 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.ui.IMemoryBlockManager#getAllMemoryBlocks()
-	 */
-	public IMemoryBlock[] getAllMemoryBlocks() {
-		
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		return blocks;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IDebugTarget)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget) {
-		
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		ArrayList memoryBlocksList = new ArrayList();
-		
-		for (int i=0; i<blocks.length; i++)
-		{
-			if (blocks[i].getDebugTarget() == debugTarget)
-				memoryBlocksList.add(blocks[i]);
-		}
-		
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IMemoryBlockRetrieval)
-	 */
-	public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval retrieve) {
-		IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
-		
-		ArrayList memoryBlocksList = new ArrayList(blocks.length);
-		
-		for (int i=0; i<blocks.length; i++)
-		{
-			if (blocks[i] instanceof IExtendedMemoryBlock)
-			{	
-			
-				if (((IExtendedMemoryBlock)blocks[i]).getMemoryBlockRetrieval() == retrieve)
-				{	
-					memoryBlocksList.add(blocks[i]);
-				}
-			}
-			else
-			{	
-				// standard memory block always uses the debug target as the memory block retrieval
-				if (blocks[i].getDebugTarget() == retrieve)
-					memoryBlocksList.add(blocks[i]);
-			}
-		}
-		
-		return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
-	}
-	
-	
-	private void notifyListeners(IMemoryBlock memoryBlock, int event)
-	{
-		getMemoryBlockNotifier().notify(memoryBlock, event);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		
-		for (int i=0; i < events.length; i++)
-			handleDebugEvent(events[i]);
-		
-	}
-	
-	public void handleDebugEvent(DebugEvent event) {
-		Object obj = event.getSource();
-		IDebugTarget dt = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE)
-		{
-			// a terminate event could happen from an IThread or IDebugTarget
-			// only handle a debug event from the debug target
-			if (obj instanceof IDebugTarget)
-			{
-				dt = ((IDebugTarget)obj);
-			}
-			
-			// getMemoryBlocks will return an empty array if dt is null
-			IMemoryBlock[] deletedMemoryBlocks = getMemoryBlocks(dt);
-			
-			for (int i=0; i<deletedMemoryBlocks.length; i++)
-			{
-				removeMemoryBlock(deletedMemoryBlocks[i]);
-			}
-		}
-	}
-	
-	/**
-	 * 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/memory/MemoryByte.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryByte.java
deleted file mode 100644
index 2f773b3..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryByte.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-
-/**
- * Represents a byte in the meomry block.
- * MemoryByte allows debug adapters to specify attributes for each of the 
- * individual byte from the memory block
- * @since 3.0
- */
-public abstract class MemoryByte {
-	
-	public static final byte	READONLY	= 0x01;			// Attribute to indicate the the byte is read-only
-	public static final byte	VALID		= 0x02;			// Attribute to indicate that the byte is valid
-	public static final byte	CHANGED		= 0x04; 		// Attribute to indicate that the byte has changed
-	public static final byte	UNCHANGED	= 0x08;			// Attribute to indicate that the byte is unchanged
-															// The changed and unchanged attribute will only
-															// take effect if IExtendedMemoryBlock.isMemoryChangesManaged
-															// returns true.
-
-	// value of the byte
-	public byte value;
-	
-	// Flags for specifying the attributes
-	// To specify VALID:  flags |= MemoryByte.VALID;
-	// To specify READONLY:  flags |= MemoryByte.READONLY;
-	public byte flags;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRendering.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRendering.java
deleted file mode 100644
index 3430b26..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRendering.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * Implementation of IMemoryRendering
- * @since 3.0
- */
-public class MemoryRendering implements IMemoryRendering
-{
-	private IMemoryBlock fBlock;
-	private String fRenderingId;
-	
-	
-	public MemoryRendering(IMemoryBlock block,  String renderingId)
-	{
-		fBlock = block;
-		fRenderingId = renderingId;
-	}
-	
-	/**
-	 * @return
-	 */
-	public IMemoryBlock getBlock()
-	{
-		return fBlock;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryRendering#getRenderingId()
-	 */
-	public String getRenderingId()
-	{
-		return fRenderingId;
-	}
-
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingInfo.java
deleted file mode 100644
index 0c5f66f..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingInfo.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.core.memory;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-
-/**
- * Implementation of IMemoryRenderingInfo
- * This class is for holding rendering information about a type
- * of rendering.
- * @since 3.0
- */
-public class MemoryRenderingInfo implements IMemoryRenderingInfo
-{
-	private String fRenderingId;			// id of the type of rendering
-	private String fName;					// name of the type of rendering
-	private Hashtable fProperties;			// list of properties for the rendering type
-	private IConfigurationElement fElement;	// configuration element defining this rendering type
-	
-	private static final String VALUE = "value"; //$NON-NLS-1$
-	
-	public MemoryRenderingInfo(String renderingId, String name,IConfigurationElement element)
-	{
-		fRenderingId = renderingId;
-		fName = name;
-		fElement = element;
-	}
-	/**
-	 * @return
-	 */
-	public String getRenderingId()
-	{
-		return fRenderingId;
-	}
-
-	/**
-	 * @return
-	 */
-	public String getName()
-	{
-		return fName;
-	}
-	
-	/**
-	 * Add a property to the rendering type.
-	 * @param propertyId
-	 * @param value
-	 */
-	public void addProperty(String propertyId, IConfigurationElement element){
-		if (fProperties == null){
-			fProperties = new Hashtable();
-		}
-		
-		if (propertyId != null && element != null)
-		{	
-			fProperties.put(propertyId, element);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingInfo#getProperty(java.lang.String)
-	 */
-	public String getProperty(String propertyId) {
-		
-		if (fProperties != null)
-		{
-			IConfigurationElement element = (IConfigurationElement)fProperties.get(propertyId);
-			
-			if (element != null)
-			{
-				String ret = element.getAttribute(VALUE);
-				return ret;
-			}
-			
-			return null;
-		}
-		
-		return null;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingInfo#getElement()
-	 */
-	public IConfigurationElement getConfigElement() {
-		return fElement;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingInfo#getPropertyElement(java.lang.String)
-	 */
-	public IConfigurationElement getPropertyConfigElement(String propertyId) {
-		if (fProperties != null)
-		{
-			IConfigurationElement element = (IConfigurationElement)fProperties.get(propertyId);
-			return element;
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingInfo#getAllProperties()
-	 */
-	public IConfigurationElement[] getAllProperties() {
-		
-		Enumeration enum = fProperties.elements();
-		IConfigurationElement[] elements = new IConfigurationElement[fProperties.size()];
-		
-		int i=0;
-		while (enum.hasMoreElements())
-		{
-			elements[i] = (IConfigurationElement)enum.nextElement(); 
-			i++;
-		}
-		
-		return elements;
-	}
-	
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingManager.java
deleted file mode 100644
index faad321..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/memory/MemoryRenderingManager.java
+++ /dev/null
@@ -1,1061 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.core.memory;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-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.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-
-/**
- * @since 3.0
- */
-
-public class MemoryRenderingManager implements IMemoryRenderingManager, IDebugEventSetListener, IMemoryBlockListener
-{
-	private ArrayList listeners = new ArrayList();
-	private ArrayList fRenderings = new ArrayList();
-	private Hashtable fMemoryRenderingInfo = new Hashtable();
-	private ArrayList fRenderingInfoOrderList = new ArrayList();
-	private Hashtable fDefaultRenderings = new Hashtable();
-	private Hashtable fRenderingBinds = new Hashtable();
-	private Hashtable fDynamicRenderingMap = new Hashtable();
-	private Hashtable fDynamicRenderingFactory = new Hashtable();
-	
-	private static final int ADDED = 0;
-	private static final int REMOVED = 1;
-	
-	private static final String RENDERING_EXT = "memoryRenderings"; //$NON-NLS-1$
-	private static final String RENDERING_ELEMENT = "rendering"; //$NON-NLS-1$
-	private static final String RENDERING_PROPERTY_ELEMENT = "rendering_property"; //$NON-NLS-1$
-	private static final String RENDERING_ID = "renderingId"; //$NON-NLS-1$
-	private static final String NAME = "name"; //$NON-NLS-1$
-	private static final String VALUE = "value"; //$NON-NLS-1$
-	private static final String DEFAULT_RENDERING="default_renderings"; //$NON-NLS-1$
-	private static final String MEMORYBLOCKCLASS = "memoryBlockClass"; //$NON-NLS-1$
-	private static final String RENDERINGS="renderingIds"; //$NON-NLS-1$
-	private static final String RENDERING_BIND = "rendering_binding"; //$NON-NLS-1$
-	private static final String RENDERING_FACTORY = "renderingFactory"; //$NON-NLS-1$
-	private static final String DYNAMIC_RENDERING_FACTORY = "dynamicRenderingFactory"; //$NON-NLS-1$
-	
-	private boolean fHandleAddEvent = true;
-		
-	
-	/**
-	 * Notifies a memory block listener  in a safe runnable to
-	 * handle exceptions.
-	 */
-	class MemoryRenderingManagerNotifier implements ISafeRunnable {
-		
-		private IMemoryRenderingListener fListener;
-		private int fType;
-		private IMemoryRendering fRendering;
-		
-		/**
-		 * @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.MemoryBlockRenderingAdded(fRendering);
-					break;
-				case REMOVED:
-					fListener.MemoryBlockRenderingRemoved(fRendering);
-					break;
-			}			
-		}
-
-		/**
-		 * Notfied listeners of added/removed rendering events
-		 */
-		public void notify(int update, IMemoryRendering rendering) {
-			if (listeners != null) {
-				fType = update;
-				fRendering = rendering;
-				Object[] copiedListeners= listeners.toArray(new IMemoryRenderingListener[listeners.size()]);
-				for (int i= 0; i < copiedListeners.length; i++) {
-					fListener = (IMemoryRenderingListener)copiedListeners[i];
-					Platform.run(this);
-				}			
-			}
-			fListener = null;
-		}
-	}
-	
-	public MemoryRenderingManager()
-	{
-		MemoryBlockManager.getMemoryBlockManager().addListener(this);
-		buildMemoryRenderingInfo();		
-	}
-	
-	/**
-	 * Build rendering info in the manager
-	 * Then read in extended rendering types
-	 */
-	private void buildMemoryRenderingInfo()
-	{	
-		// get rendering extensions
-		getExtendedRendering();
-	}
-	
-	/**
-	 * Read in and store extension to rendering
-	 */
-	private void getExtendedRendering() {
-		IExtensionPoint rendering= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), RENDERING_EXT);
-		IExtension[] extensions = rendering.getExtensions();
-		
-		for (int i=0; i<extensions.length; i++)
-		{
-			IConfigurationElement[] elements = extensions[i].getConfigurationElements();
-			
-			for (int j=0; j<elements.length; j++)
-			{
-				if (elements[j].getName().equals(RENDERING_ELEMENT))
-				{	
-					addRendering(elements[j]);
-				}
-				else if (elements[j].getName().equals(RENDERING_PROPERTY_ELEMENT))
-				{
-					addRenderingProperty(elements[j]);
-				}
-				else if (elements[j].getName().equals(DEFAULT_RENDERING))
-				{
-					addDefaultRenderings(elements[j]);
-				}
-				else if (elements[j].getName().equals(RENDERING_BIND))
-				{
-					addRenderingBind(elements[j]);
-				}
-				else
-				{
-					DebugPlugin.logMessage("Unknown element in rendering extenstion: " + elements[j].getName(), null); //$NON-NLS-1$			
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @param elements
-	 * @param j
-	 */
-	private void addRendering(IConfigurationElement element) {
-		
-		String renderingId = element.getAttribute(RENDERING_ID);
-		String name = element.getAttribute(NAME);
-		
-		// if any of them is null, do not add, log an error
-		if (renderingId == null ||
-		    name == null)
-		{
-			String extension = element.getDeclaringExtension().getUniqueIdentifier();
-			DebugPlugin.logMessage("Rendering defined is malformed: " + extension, null); //$NON-NLS-1$
-		}
-		else
-		{	
-			MemoryRenderingInfo info = new MemoryRenderingInfo(renderingId, name,  element);
-			
-			if (fMemoryRenderingInfo.containsKey(renderingId))
-			{
-				// if a rendering already exists with the same id, log a warning of duplicated rendering
-				Status status = new Status(IStatus.WARNING, DebugPlugin.getUniqueIdentifier(),	0, 
-						"Duplicated rendering definition: " + renderingId, null); //$NON-NLS-1$
-				DebugPlugin.log(status);
-			}
-			
-			fMemoryRenderingInfo.put(renderingId, info);
-			fRenderingInfoOrderList.add(renderingId);
-		}
-		
-		// get sub-elements from rendering and parse as properties
-		IConfigurationElement[] subElements = element.getChildren();
-		for (int k=0; k < subElements.length; k++)
-		{
-			if (subElements[k].getName().equals(RENDERING_PROPERTY_ELEMENT))
-			{
-				addRenderingProperty(subElements[k]);
-			}
-			else
-			{
-				DebugPlugin.logMessage("Unknown element in rendering extenstion: " + element.getName(), null); //$NON-NLS-1$					
-			}
-		}
-	}
-
-	/**
-	 * @param elements
-	 * @param j
-	 */
-	private void addRenderingProperty(IConfigurationElement element) {
-		String renderingId = element.getAttribute(RENDERING_ID);
-		String propertyId = element.getAttribute(NAME);
-		String propertyValue = element.getAttribute(VALUE);
-		
-		if (renderingId == null ||
-			propertyId == null || 
-			propertyValue == null)
-		{
-			String extension = element.getDeclaringExtension().getUniqueIdentifier();
-			DebugPlugin.logMessage("Rendering property defined is malformed: " + extension, null); //$NON-NLS-1$
-		}
-		else
-		{
-			// find the rendering
-			MemoryRenderingInfo info = (MemoryRenderingInfo)fMemoryRenderingInfo.get(renderingId);
-			
-			if (info == null){
-				DebugPlugin.logMessage("Rendering info for this property is not found: " + propertyId, null); //$NON-NLS-1$
-			}
-			else
-			{	
-				// add the property to the rendering
-				info.addProperty(propertyId, element);
-			}
-		}
-	}
-	
-	/**
-	 * Process the configuration element into default rendering for
-	 * a type of memory block.
-	 * @param element
-	 */
-	private void addDefaultRenderings(IConfigurationElement element)
-	{
-		String memoryBlockClass = element.getAttribute(MEMORYBLOCKCLASS);
-		String renderings = element.getAttribute(RENDERINGS);
-		
-		if(memoryBlockClass == null || renderings == null)
-		{
-			String extension = element.getDeclaringExtension().getUniqueIdentifier();
-			DebugPlugin.logMessage("Default rendering defined is malformed: " + extension, null); //$NON-NLS-1$			
-			return;
-		}
-		
-		ArrayList renderingsArray = new ArrayList();
-		
-		// seperate renderings and create an array
-		int idx = renderings.indexOf(","); //$NON-NLS-1$
-		if (idx == -1)
-		{
-			renderingsArray.add(renderings);
-		}
-		else
-		{
-			StringTokenizer tokenizer = new StringTokenizer(renderings, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreElements())
-			{
-				String rendering = tokenizer.nextToken();
-				
-				rendering = rendering.trim();
-				
-				// check if rendering is valid
-				
-				renderingsArray.add(rendering);
-			}
-		}
-		
-		if (fDefaultRenderings == null)
-		{
-			fDefaultRenderings = new Hashtable();
-		}
-		
-		// check hash table to see if something is alreay added
-		ArrayList definedrenderings = (ArrayList)fDefaultRenderings.get(memoryBlockClass);
-		
-		if (definedrenderings == null)
-		{
-			// add renderings to hashtable
-			fDefaultRenderings.put(memoryBlockClass, renderingsArray);
-		}
-		else
-		{
-			for (int i=0; i<renderingsArray.size(); i++)
-			{
-				// append to the list
-				if (!definedrenderings.contains(renderingsArray.get(i)))
-				{
-					definedrenderings.add(renderingsArray.get(i));
-				}
-			}
-		}
-	}
-	
-	private void addRenderingBind(IConfigurationElement element){
-
-		String memoryBlockClass = element.getAttribute(MEMORYBLOCKCLASS);
-		String renderings = element.getAttribute(RENDERINGS);
-		
-		if(memoryBlockClass == null || renderings == null)
-		{
-			String extension = element.getDeclaringExtension().getUniqueIdentifier();
-			DebugPlugin.logMessage("Rendering bind defined is malformed: " + extension, null); //$NON-NLS-1$			
-			return;
-		}
-		
-		ArrayList renderingsArray = new ArrayList();
-		
-		// seperate renderings and create an array
-		int idx = renderings.indexOf(","); //$NON-NLS-1$
-		if (idx == -1)
-		{
-			renderingsArray.add(renderings);
-		}
-		else
-		{
-			StringTokenizer tokenizer = new StringTokenizer(renderings, ","); //$NON-NLS-1$
-			while (tokenizer.hasMoreElements())
-			{
-				String rendering = tokenizer.nextToken();
-				rendering = rendering.trim();
-				
-				// check if rendering is valid
-				
-				renderingsArray.add(rendering);
-			}
-		}
-		
-		if (fRenderingBinds == null)
-		{
-			fRenderingBinds = new Hashtable();
-		}
-		
-		// check hash table to see if something is alreay added
-		ArrayList renderingIds = (ArrayList)fRenderingBinds.get(memoryBlockClass);
-		
-		if (renderingIds == null)
-		{
-			// add renderings to hashtable
-			fRenderingBinds.put(memoryBlockClass, renderingsArray);
-		}
-		else
-		{
-			for (int i=0; i<renderingsArray.size(); i++)
-			{
-				// append to the list
-				if (!renderingIds.contains(renderingsArray.get(i)))
-				{
-					renderingIds.add(renderingsArray.get(i));
-				}
-			}
-		}
-	}
-
-	private MemoryRenderingManagerNotifier getMemoryBlockNotifier() {
-		return new MemoryRenderingManagerNotifier();
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#addMemoryBlockRendering(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String)
-	 */
-	public IMemoryRendering addMemoryBlockRendering(IMemoryBlock mem, String renderingId) throws DebugException
-	{
-		if (fRenderings == null)
-			return null;
-		
-		IMemoryRendering newRendering = createRendering(mem, renderingId);
-		
-		// if an error has occurred, or if user has canceled
-		if (newRendering == null)
-			return newRendering;
-		
-		if (fRenderings.contains(newRendering))
-			return newRendering;
-		
-		fRenderings.add(newRendering);
-		
-		// add listener for the first memory block added
-		if (fRenderings.size() == 1)
-		{
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-
-		notifyListeners(ADDED, newRendering);
-		
-		return newRendering;
-		
-	}
-	
-	/**
-	 * @param mem
-	 * @param renderingId
-	 * @return the memory rendering created by the factory or default rendering.
-	 * Returns null if an error has occurred
-	 */
-	public IMemoryRendering createRendering(IMemoryBlock mem, String renderingId) throws DebugException{
-		IMemoryRenderingInfo info = getRenderingInfo(renderingId);
-		
-		if (info != null){
-			IConfigurationElement element = info.getConfigElement();
-			
-			if (element != null){
-				
-				String factoryAtt = element.getAttribute(RENDERING_FACTORY);
-				
-				if (factoryAtt != null){
-					Object obj = null;
-					try {
-						obj = element.createExecutableExtension(RENDERING_FACTORY);
-					} catch (CoreException e) {
-						
-						// throw a debug exception due to error
-						IStatus stat = e.getStatus();
-						DebugException de = new DebugException(stat);
-						throw de;
-					}
-					
-					if (obj == null)
-						return new MemoryRendering(mem, renderingId);
-					
-					if(obj instanceof IMemoryRenderingFactory)
-					{	
-						IMemoryRenderingFactory factory = (IMemoryRenderingFactory)obj;
-						
-						IMemoryRendering rendering = null;
-						rendering = factory.createRendering(mem, renderingId);		
-						return rendering;
-					}
-				}
-			}
-			else
-			{
-				String message= MessageFormat.format(DebugCoreMessages.getString("MemoryRenderingManager.ErrorMsg"), new String[]{renderingId}); //$NON-NLS-1$
-				// throw a debug exception because the rendering info cannot be located
-				Status status = new Status(IStatus.ERROR, 
-						DebugPlugin.getUniqueIdentifier(),
-						0, message , null); //$NON-NLS-1$
-				DebugException de = new DebugException(status);
-				throw de;				
-			}
-		}
-		else
-		{
-			String message= MessageFormat.format(DebugCoreMessages.getString("MemoryRenderingManager.ErrorMsg"), new String[]{renderingId}); //$NON-NLS-1$
-			// throw a debug exception because the rendering info cannot be located
-			Status status = new Status(IStatus.ERROR, 
-					DebugPlugin.getUniqueIdentifier(),
-					0, message, null); //$NON-NLS-1$
-			DebugException de = new DebugException(status);
-			throw de;
-		}
-		return new MemoryRendering(mem, renderingId);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#removeMemoryBlockRendering(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String)
-	 */
-	public void removeMemoryBlockRendering(IMemoryBlock mem, String renderingId)
-	{
-		if(fRenderings == null)
-			return;
-		
-		IMemoryRendering[] toRemove = getRenderings(mem, renderingId);
-		
-		for (int i=0; i<toRemove.length; i++)
-		{
-			fRenderings.remove(toRemove[i]);
-			
-			// remove listener after the last memory block has been removed
-			if (fRenderings.size() == 0)
-			{
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-			}
-			
-			notifyListeners(REMOVED, toRemove[i]);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#addMemoryBlockRendering(org.eclipse.debug.ui.IMemoryRendering)
-	 */
-	public void addMemoryBlockRendering(IMemoryRendering rendering) throws DebugException{
-		
-		// do not allow duplicated objects
-		if (fRenderings.contains(rendering))
-			return;
-		
-		fRenderings.add(rendering);
-		
-		// add listener for the first memory block added
-		if (fRenderings.size() == 1)
-		{
-			DebugPlugin.getDefault().addDebugEventListener(this);
-		}
-
-		notifyListeners(ADDED, rendering);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#removeMemoryBlockRendering(org.eclipse.debug.ui.IMemoryRendering)
-	 */
-	public void removeMemoryBlockRendering(IMemoryRendering rendering) {
-		if(rendering == null)
-			return;
-		
-		if(!fRenderings.contains(rendering))
-			return;
-		
-		fRenderings.remove(rendering);
-		
-		// remove listener after the last memory block has been removed
-		if (fRenderings.size() == 0)
-		{
-			DebugPlugin.getDefault().removeDebugEventListener(this);
-		}
-		
-		notifyListeners(REMOVED, rendering);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getRenderings(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String)
-	 */
-	public IMemoryRendering[] getRenderings(IMemoryBlock mem, String renderingId)
-	{
-		if (renderingId == null)
-		{
-			return getRenderingsFromMemoryBlock(mem);
-		}
-		
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getBlock() == mem && renderingId.equals(rendering.getRenderingId()))
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getRenderingsFromDebugTarget(org.eclipse.debug.core.model.IDebugTarget)
-	 */
-	public IMemoryRendering[] getRenderingsFromDebugTarget(IDebugTarget target)
-	{
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getBlock().getDebugTarget() == target)
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getRenderingsFromMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public IMemoryRendering[] getRenderingsFromMemoryBlock(IMemoryBlock block)
-	{
-		ArrayList ret = new ArrayList();
-		for (int i=0; i<fRenderings.size(); i++)
-		{
-			if (fRenderings.get(i) instanceof IMemoryRendering)
-			{
-				IMemoryRendering rendering = (IMemoryRendering)fRenderings.get(i);
-				if (rendering.getBlock() == block)
-				{
-					ret.add(rendering);
-				}
-			}
-		}
-		
-		return (IMemoryRendering[])ret.toArray(new IMemoryRendering[ret.size()]);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#addListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void addListener(IMemoryRenderingListener listener)
-	{
-		if(listeners == null)
-			return;
-		
-		if(listener == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryRenderingManager.addListener", null); //$NON-NLS-1$
-			return;
-		}
-		
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#removeListener(org.eclipse.debug.ui.IMemoryBlockListener)
-	 */
-	public void removeListener(IMemoryRenderingListener listener)
-	{
-		if(listeners == null)
-			return;
-		
-		if(listener == null){
-			DebugPlugin.logMessage("Null argument passed into IMemoryRenderingManager.removeListener", null); //$NON-NLS-1$
-			return;
-		}		
-		
-		if (listeners.contains(listener))
-			listeners.remove(listener);
-		
-	}
-
-	private void notifyListeners(int update, IMemoryRendering rendering)
-	{
-		getMemoryBlockNotifier().notify(update, rendering);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		
-		for (int i=0; i < events.length; i++)
-			handleDebugEvent(events[i]);
-		
-	}
-	
-	public void handleDebugEvent(DebugEvent event) {
-		Object obj = event.getSource();
-		IDebugTarget dt = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE)
-		{
-			// a terminate event could happen from an IThread or IDebugTarget
-			// Only handle terminate event from debug target
-			if (obj instanceof IDebugTarget)
-			{
-				dt = ((IDebugTarget)obj);
-			}			
-			
-			// returns empty array if dt == null
-			IMemoryRendering[] deletedrendering = getRenderingsFromDebugTarget(dt);
-			
-			for (int i=0; i<deletedrendering.length; i++)
-			{
-				removeMemoryBlockRendering(deletedrendering[i].getBlock(), deletedrendering[i].getRenderingId());
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockAdded(IMemoryBlock memory)
-	{
-		if (fHandleAddEvent)
-		{
-			// get default renderings
-			String renderingIds[] = getDefaultRenderings(memory);
-			
-			// add renderings
-			for (int i=0; i<renderingIds.length; i++)
-			{
-				try {
-					addMemoryBlockRendering(memory, renderingIds[i]);
-				} catch (DebugException e) {
-					// catch error silently
-					// log error
-					DebugPlugin.logMessage("Cannot create default rendering: " + renderingIds[i], null); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockRemoved(IMemoryBlock memory)
-	{
-		// remove all renderings related to the deleted memory block
-		IMemoryRendering[] renderings = getRenderingsFromMemoryBlock(memory);
-		
-		for (int i=0; i<renderings.length; i++)
-		{
-			removeMemoryBlockRendering(renderings[i].getBlock(), renderings[i].getRenderingId());
-		}	
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getRenderingInfo(java.lang.String)
-	 */
-	public IMemoryRenderingInfo getRenderingInfo(String renderingId)
-	{
-		MemoryRenderingInfo info = (MemoryRenderingInfo)fMemoryRenderingInfo.get(renderingId);
-		
-		if (info != null) {
-			return info;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getAllRenderingInfo(java.lang.Object)
-	 */
-	public IMemoryRenderingInfo[] getAllRenderingInfo(Object obj)
-	{
-		String[] hierarchy = getHierarchy(obj);
-		
-		ArrayList renderingIds = new ArrayList();
-		ArrayList renderingInfos = new ArrayList();
-		
-		// get all rendering ids
-		for (int i=0; i<hierarchy.length; i++)
-		{	
-			ArrayList ids = (ArrayList)fRenderingBinds.get(hierarchy[i]);
-			
-			if (ids != null)
-			{
-				for (int j=0; j<ids.size(); j++)
-				{	
-					if (!renderingIds.contains(ids.get(j)))
-						renderingIds.add(ids.get(j));
-				}
-			}
-		}
-		
-		// get all rendering infos
-		for (int i=0; i<renderingIds.size(); i++){
-			IMemoryRenderingInfo info = (IMemoryRenderingInfo)fMemoryRenderingInfo.get(renderingIds.get(i));
-			IDynamicRenderingInfo[] dynamic = null;
-			
-			if (info != null)
-				dynamic = getDynamicRenderingInfo(info);
-			
-			if (dynamic != null)
-			{
-				for (int j=0; j<dynamic.length; j++)
-				{
-					IMemoryRenderingInfo dynamicInfo = (IMemoryRenderingInfo)fMemoryRenderingInfo.get(dynamic[j].getRenderingId());
-					renderingInfos.add(dynamicInfo);
-				}
-			}
-			else if (info!= null)
-			{
-				renderingInfos.add(info);
-			}
-		}
-		
-		return (IMemoryRenderingInfo[])renderingInfos.toArray(new IMemoryRenderingInfo[renderingInfos.size()]);
-	}
-	
-	private IDynamicRenderingInfo[] getDynamicRenderingInfo(IMemoryRenderingInfo rendering)
-	{	
-		IConfigurationElement element = rendering.getPropertyConfigElement(DYNAMIC_RENDERING_FACTORY);
-		
-		try {
-			if (element != null){
-				
-				Object obj;
-				
-				obj = fDynamicRenderingFactory.get(rendering.getRenderingId());
-				
-				if (obj == null)
-					obj = element.createExecutableExtension(VALUE);
-				
-				if (obj != null && obj instanceof IDynamicRenderingFactory)
-				{
-					fDynamicRenderingFactory.put(rendering.getRenderingId(), obj);
-					IDynamicRenderingInfo[] dynamicRenderingTypes = ((IDynamicRenderingFactory)obj).getRenderingInfos();
-					
-					if (dynamicRenderingTypes != null)
-					{
-						addRenderingInfo(dynamicRenderingTypes);
-						
-						// now compare the returned list to what is orginally cached
-						Enumeration enum = fDynamicRenderingMap.keys();
-						
-						while (enum.hasMoreElements())
-						{
-							String dynamicRenderingId = (String)enum.nextElement();
-							String staticRenderingId = (String)fDynamicRenderingMap.get(dynamicRenderingId);
-													
-							if (staticRenderingId.equals(rendering.getRenderingId()))
-							{
-								boolean found = false;
-								// check that this dynamic rendering still exists
-								for (int i=0; i<dynamicRenderingTypes.length; i++)
-								{
-									if (dynamicRenderingTypes[i].getRenderingId().equals(dynamicRenderingId))
-									{
-										found = true;
-										break;
-									}
-								}
-								if (!found)
-								{
-									// if the rendering no longer exists, remove rendering info
-									fMemoryRenderingInfo.remove(dynamicRenderingId);
-									fDynamicRenderingMap.remove(dynamicRenderingId);
-								}
-							}
-						}
-						
-						// update map before returning
-						String staticRenderingId = rendering.getRenderingId();
-						for (int i=0; i<dynamicRenderingTypes.length; i++)
-						{
-							fDynamicRenderingMap.put(dynamicRenderingTypes[i].getRenderingId(), staticRenderingId);
-						}
-						
-						return dynamicRenderingTypes;
-					}
-					return null;
-				}
-				
-			}
-		} catch (CoreException e) {
-			DebugPlugin.logMessage("Cannot create the dynamic rendering factory for " + element.getDeclaringExtension().getUniqueIdentifier(), null); //$NON-NLS-1$
-			return null;
-		}
-		return null;
-	}
-	
-	private IMemoryRenderingInfo createRenderingInfo(IDynamicRenderingInfo info)
-	{
-		if (info == null)
-			return null;
-			
-		if (info.getParentRenderingInfo() == null)
-		{
-			DebugPlugin.logMessage("Dynamic rendering info does not have a parent " +  info.getRenderingId(), null); //$NON-NLS-1$
-			return null;		
-		}
-	
-		IMemoryRenderingInfo parent = info.getParentRenderingInfo();
-		MemoryRenderingInfo dynamicInfo = new MemoryRenderingInfo(info.getRenderingId(), info.getName(), info.getParentRenderingInfo().getConfigElement());
-	
-		IConfigurationElement[] properties = parent.getAllProperties();
-		
-		for (int i=0; i<properties.length; i++)
-		{
-			String name = properties[i].getAttribute(NAME);
-			if (name != null)
-			{
-				if (!name.equals(DYNAMIC_RENDERING_FACTORY))
-					dynamicInfo.addProperty(name, properties[i]);
-			}
-		}
-		
-		return dynamicInfo;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingManager#getDefaultRenderings(java.lang.Object)
-	 */
-	public String[] getDefaultRenderings(Object obj) {
-		
-		if (fDefaultRenderings == null)
-		{
-			return new String[0];
-		}
-		
-		if (obj == null)
-		{
-			return new String[0];
-		}
-		
-		// get all rendering info supporting the object
-		IMemoryRenderingInfo[] supported = getAllRenderingInfo(obj);
-		ArrayList results = new ArrayList();
-		
-		// match it with default renderings
-		String hierarchy[] = getHierarchy(obj);
-		
-		// get defaults for the entire hierarchy
-		for (int i=0; i<hierarchy.length; i++)
-		{
-			ArrayList defaults = (ArrayList)fDefaultRenderings.get(hierarchy[i]);
-			// if defaults is defined
-			if (defaults != null)
-			{
-				for (int j=0; j<defaults.size(); j++)
-				{
-					// check if the default is supported
-					for (int k=0; k<supported.length; k++)
-					{
-						if (supported[k].getRenderingId().equals(defaults.get(j)))
-						{
-							results.add(supported[k].getRenderingId());
-						}
-					}
-				}
-			}
-		}
-		 
-		// return the list
-		return (String[])results.toArray(new String[results.size()]);
-	}
-	
-	protected void addRenderingInfo (IDynamicRenderingInfo[] dynamicRenderingTypes)
-	{
-		if (dynamicRenderingTypes != null)
-		{	
-			// store in fMemoryRenderingInfo arrays so they can be queried
-			for (int i=0; i<dynamicRenderingTypes.length; i++)
-			{
-				IMemoryRenderingInfo dynamicInfo;
-				if (fMemoryRenderingInfo.get(dynamicRenderingTypes[i].getRenderingId()) == null)
-				{
-					dynamicInfo = createRenderingInfo(dynamicRenderingTypes[i]);
-					
-					if (dynamicInfo != null)
-					{
-						fMemoryRenderingInfo.put(dynamicRenderingTypes[i].getRenderingId(), dynamicInfo);
-					}
-				}
-			}
-		}		
-	}
-	
-	/**
-	 * @param obj
-	 * @return all superclasses and interfaces
-	 */
-	private String[] getHierarchy(Object obj)
-	{
-		ArrayList hierarchy = new ArrayList();
-		
-		// get class name
-		hierarchy.add(obj.getClass().getName());
-		
-		// get all super classes
-		Class superClass = obj.getClass().getSuperclass();
-		
-		while (superClass != null)
-		{
-			hierarchy.add(superClass.getName());
-			superClass = superClass.getSuperclass();
-		}
-		
-		// get all interfaces
-		ArrayList interfaces = new ArrayList();
-		Class[] baseInterfaces = obj.getClass().getInterfaces();
-		
-		for (int i=0; i<baseInterfaces.length; i++)
-		{
-			interfaces.add(baseInterfaces[i]);
-		}
-		
-		getInterfaces(interfaces, baseInterfaces);
-		
-		for (int i=0; i<interfaces.size(); i++)
-		{
-			hierarchy.add(((Class)interfaces.get(i)).getName());
-		}
-		
-		return (String[])hierarchy.toArray(new String[hierarchy.size()]);
-		
-	}
-		
-	private void getInterfaces(ArrayList list, Class[] interfaces)
-	{	
-		Class[] superInterfaces = new Class[0];
-		for (int i=0 ;i<interfaces.length; i++)
-		{
-			superInterfaces = interfaces[i].getInterfaces();
-			
-			for (int j=0; j<superInterfaces.length; j++)
-			{
-				list.add(superInterfaces[j]);
-			}
-			
-			getInterfaces(list, superInterfaces);   
-		}
-	}
-	
-	/**
-	 * Clean up when the plugin is shut down.
-	 */
-	public void shutdown()
-	{
-		// clean up
-		if (listeners != null)
-		{	
-			listeners.clear();
-			listeners = null;
-		}
-		
-		if (fRenderings != null)
-		{	
-			fRenderings.clear();
-			fRenderings = null;
-		}
-		
-		if (fMemoryRenderingInfo != null)
-		{
-			fMemoryRenderingInfo.clear();
-			fMemoryRenderingInfo = null;
-		}
-		
-		if (fRenderingInfoOrderList != null)
-		{	
-			fRenderingInfoOrderList.clear();
-			fRenderingInfoOrderList = null;
-		}
-		
-		if (fDynamicRenderingMap != null)
-		{
-			fDynamicRenderingMap.clear();
-			fDynamicRenderingMap = null;
-		}
-		
-		if (fDynamicRenderingFactory != null)
-		{
-			fDynamicRenderingFactory.clear();
-			fDynamicRenderingFactory = null;
-		}
-		
-		// remove listener
-		MemoryBlockManager.getMemoryBlockManager().removeListener(this);
-	}
-	
-	public void setHandleMemoryBlockAddedEvent(boolean handleEvt)
-	{
-		fHandleAddEvent = handleEvt;
-	}
-}
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 8e0ac91..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-
-/**
- * Proxy to contributed source container type extension.
- * 
- * @since 3.0
- */
-public class SourceContainerType implements ISourceContainerType {
-	
-	// lazily instantiated delegate
-	private ISourceContainerTypeDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source container type on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourceContainerType(IConfigurationElement element) {
-		fElement = element;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento) throws CoreException {
-		return getDelegate().createSourceContainer(memento);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		if (this.equals(container.getType())) {
-			return getDelegate().getMemento(container);
-		}
-		IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, SourceLookupMessages.getString("SourceContainerType.3"), null); //$NON-NLS-1$
-		throw new CoreException(status);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getName()
-	 */
-	public String getName() {
-		return fElement.getAttribute("name"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourceContainerTypeDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourceContainerTypeDelegate) fElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getDescription()
-	 */
-	public String getDescription() {
-		return fElement.getAttribute("description"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
deleted file mode 100644
index 4c49167..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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 59eaf14..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class SourceLookupMessages {
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	
-	private SourceLookupMessages() {
-	}
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
deleted file mode 100644
index 87a6b7c..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractSourceLookupDirector.11=Unable to restore source lookup path - expecting typeId attribute.
-AbstractSourceLookupDirector.12=Unable to restore source lookup path - unknown type source container type specified: {0}
-AbstractSourceLookupDirector.13=Unable to restore source lookup path - expecting memento attribute.
-AbstractSourceLookupDirector.14=Unable to read source lookup path - expecting sourceLookupDirector node.
-AbstractSourceLookupDirector.19=Source lookup error
-CompositeSourceContainer.0=Source lookup error
-
-ExternalArchiveSourceContainer.1=Exception occurred while detecting root directory in archive {0}
-ExternalArchiveSourceContainer.2=Unable to access archive {0}
-
-ExternalArchiveSourceContainerType.10=Invalid or missing <path> attribute in archive memento.
-ExternalArchiveSourceContainerType.11=Missing <archive> node in archive memento.
-ExternalArchiveSourceContainerType.12=Invalid archive memento
-
-DefaultSourceContainer.0=Default
-DefaultSourceContainerType.6=Unable to restore default source lookup path - expecting default element.
-DefaultSourceContainerType.7=Unable to restore default source lookup path - invalid memento.
-
-DirectorySourceContainerType.10=Unable to restore directory source lookup entry - missing path attribute.
-DirectorySourceContainerType.11=Unable to restore directory source lookup entry - expecting directory element.
-DirectorySourceContainerType.12=Unable to restore directory source lookup entry - invalid memento.
-
-FolderSourceContainerType.10=Unable to restore source lookup folder - missing path attribute.
-FolderSourceContainerType.11=Unable to restore source lookup folder - expecting folder element.
-FolderSourceContainerType.12=Unable to restore source lookup folder - invalid memento.
-
-LocalFileStorage.0=Exception ocurred retrieving file contents.
-
-ProjectSourceContainerType.10=Unable to restore project source lookup entry - missing name attribute.
-ProjectSourceContainerType.11=Unable to restore project source lookup entry - expecting project element.
-ProjectSourceContainerType.12=Unable to restore project source lookup entry - invalid memento.
-
-SourceLookupUtils.3=Unable to create new XML document.
-SourceLookupUtils.4=Unable to serialize XML document.
-SourceLookupUtils.5=Unable to serialize XML document.
-SourceLookupUtils.6=Unable to parse XML document.
-SourceLookupUtils.7=Unable to parse XML document.
-SourceLookupUtils.8=Unable to parse XML document.
-SourceLookupUtils.9=Unable to parse XML document.
-SourceLookupUtils.10=Unable to parse XML document.
-SourceContainerType.3=Unable to persist source lookup path.
-
-WorkspaceSourceContainer.0=Workspace
-
-WorkspaceSourceContainerType.3=Unable to restore workspace source lookup entry - expecting workspace element.
-WorkspaceSourceContainerType.4=Unable to restore workspace source lookup entry - invalid memento.
-
-ZipEntryStorage.0=Unable to read ZipEntry contents
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
deleted file mode 100644
index 38f6ad2..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipFile;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-
-/**
- * Utility and supporting methods for source location. Most of these
- * utilities should be migrated to the DebugPlugin and LanuchManager
- * when this facility becomes public API.
- * <p>
- * This class is experimental and temporary.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector
- * @since 3.0
- */
-public class SourceLookupUtils {
-		
-	/**
-	 * Cache of shared zip files. Zip files are closed
-	 * when this class's plug-in is shutdown, when a project
-	 * is about to be closed or deleted, when a launch is
-	 * removed, and when a debug target or process terminates. 
-	 */
-	private static HashMap fgZipFileCache = new HashMap(5);
-	private static ArchiveCleaner fgCleaner = null;
-	
-	/**
-	 * Returns a zip file with the given name
-	 * 
-	 * @param name zip file name
-	 * @return The zip file with the given name
-	 * @exception IOException if unable to create the specified zip
-	 * 	file
-	 */
-	public static ZipFile getZipFile(String name) throws IOException {
-		synchronized (fgZipFileCache) {
-			if (fgCleaner == null) {
-				fgCleaner = new ArchiveCleaner();
-				DebugPlugin.getDefault().addDebugEventListener(fgCleaner);
-				DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fgCleaner);
-				ResourcesPlugin.getWorkspace().addResourceChangeListener(fgCleaner, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE);
-			}
-			ZipFile zip = (ZipFile)fgZipFileCache.get(name);
-			if (zip == null) {
-				zip = new ZipFile(name);
-				fgZipFileCache.put(name, zip);
-			}
-			return zip;
-		}
-	}
-	
-	/**
-	 * Closes all zip files that have been opened,
-	 * and removes them from the zip file cache.
-	 * This method is only to be called by the debug
-	 * plug-in.
-	 */
-	public static void closeArchives() {
-		synchronized (fgZipFileCache) {
-			Iterator iter = fgZipFileCache.values().iterator();
-			while (iter.hasNext()) {
-				ZipFile file = (ZipFile)iter.next();
-				synchronized (file) {
-					try {
-						file.close();
-					} catch (IOException e) {
-						DebugPlugin.log(e);
-					}
-				}
-			}
-			fgZipFileCache.clear();
-		}
-	}	
-	
-	/**
-	 * Called when the debug plug-in shuts down.
-	 */
-	public static void shutdown() {
-		closeArchives();
-		if (fgCleaner != null) {
-			DebugPlugin.getDefault().removeDebugEventListener(fgCleaner);
-			DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fgCleaner);
-			ResourcesPlugin.getWorkspace().removeResourceChangeListener(fgCleaner);			
-		}
-	}
-	
-	/**
-	 * Clears the cache of open zip files when a debug target or process
-	 * terminates, when a launch is removed, or when a project is about
-	 * to be deleted or closed.
-	 */
-	static class ArchiveCleaner implements IDebugEventSetListener, ILaunchesListener, IResourceChangeListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-		 */
-		public void handleDebugEvents(DebugEvent[] events) {
-			for (int i = 0; i < events.length; i++) {
-				DebugEvent event = events[i];
-				if (event.getKind() == DebugEvent.TERMINATE) {
-					Object source = event.getSource();
-					if (source instanceof IDebugTarget || source instanceof IProcess) {
-						SourceLookupUtils.closeArchives();
-					}
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesRemoved(ILaunch[] launches) {
-			SourceLookupUtils.closeArchives();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesAdded(ILaunch[] launches) {			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-		 */
-		public void launchesChanged(ILaunch[] launches) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			SourceLookupUtils.closeArchives();
-		}
-		
-	}	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
deleted file mode 100644
index f861ab4..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.*;
-
-/**
- * Proxy to contributed source path computer extension.
- */
-public class SourcePathComputer implements ISourcePathComputer {
-	
-	// lazily instantiated delegate
-	private ISourcePathComputerDelegate fDelegate = null;
-	
-	// extension definition
-	private IConfigurationElement fElement = null;
-	
-	/**
-	 * Constructs a source path computer on the given extension.
-	 * 
-	 * @param element extension definition
-	 */
-	public SourcePathComputer(IConfigurationElement element) {
-		fElement = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getId()
-	 */
-	public String getId() {
-		return fElement.getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Lazily instantiates and returns the underlying source container type.
-	 * 
-	 * @exception CoreException if unable to instantiate
-	 */
-	private ISourcePathComputerDelegate getDelegate() throws CoreException {
-		if (fDelegate == null) {
-			fDelegate = (ISourcePathComputerDelegate) fElement.createExecutableExtension("class"); //$NON-NLS-1$
-		}
-		return fDelegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourcePathComputer#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 44ea905..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("ExternalArchiveSourceContainerType.10"), null); //$NON-NLS-1$
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(string));
-				return new ArchiveSourceContainer(file, auto);
-			} 
-			abort(SourceLookupMessages.getString("ExternalArchiveSourceContainerType.11"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("ExternalArchiveSourceContainerType.12"), null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ArchiveSourceContainer archive = (ArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getFile().getFullPath().toString()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
deleted file mode 100644
index bc46007..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-
-/**
- * A container in the workspace. Source elements are searched
- * for within this container and optionally nested containers.
- * <p>
- * Names specified in <code>findSourceElements</code> method can
- * be simple or qualified. When a name is qualified, a file will
- * be searched for relative to this container, and optionally
- * nested containers.
- * </p>
- * 
- * @since 3.0
- */
-public abstract class ContainerSourceContainer extends CompositeSourceContainer {
-
-	private IContainer fContainer = null;
-	private boolean fSubfolders = false;
-
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * 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();
-		IContainer container = getContainer();
-		IPath path = new Path(name);
-		IFile file = container.getFile(path);
-		if (file.exists()) {
-			sources.add(file);
-		}
-		
-		//check subfolders		
-		if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
-			ISourceContainer[] containers = getSourceContainers();
-			for (int i=0; i < containers.length; i++) {
-				Object[] objects = containers[i].findSourceElements(name);
-				if (objects == null || objects.length == 0) {
-					continue;
-				}
-				if (isFindDuplicates()) {
-					for(int j=0; j < objects.length; j++)
-						sources.add(objects[j]);
-				} else {
-					sources.add(objects[0]);
-					break;
-				}
-			}
-		}			
-		
-		if(sources.isEmpty())
-			return EMPTY;
-		return sources.toArray();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.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];
-	}
-
-}
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 0be3675..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("DefaultSourceContainerType.6"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("DefaultSourceContainerType.7"), null); //$NON-NLS-1$
-		return null;		
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
deleted file mode 100644
index cdee832..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("DirectorySourceContainerType.10"), null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				return new DirectorySourceContainer(new Path(string), nested);
-			}
-			abort(SourceLookupMessages.getString("DirectorySourceContainerType.11"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("DirectorySourceContainerType.12"), null); //$NON-NLS-1$
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		DirectorySourceContainer folder = (DirectorySourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("directory"); //$NON-NLS-1$
-		element.setAttribute("path", folder.getDirectory().getAbsolutePath()); //$NON-NLS-1$
-		String nest = "false"; //$NON-NLS-1$
-		if (folder.isComposite()) {
-			nest = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("nest", nest);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-	
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
deleted file mode 100644
index 884d71d..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("ExternalArchiveSourceContainerType.10"), null); //$NON-NLS-1$
-				}
-				String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
-				boolean auto = "true".equals(detect); //$NON-NLS-1$
-				return new ExternalArchiveSourceContainer(string, auto);
-			} 
-			abort(SourceLookupMessages.getString("ExternalArchiveSourceContainerType.11"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("ExternalArchiveSourceContainerType.12"), null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		ExternalArchiveSourceContainer archive = (ExternalArchiveSourceContainer) container;
-		Document document = newDocument();
-		Element element = document.createElement("archive"); //$NON-NLS-1$
-		element.setAttribute("path", archive.getName()); //$NON-NLS-1$
-		String detectRoot = "false"; //$NON-NLS-1$
-		if (archive.isDetectRoot()) {
-			detectRoot = "true"; //$NON-NLS-1$
-		}
-		element.setAttribute("detectRoot", detectRoot);  //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
deleted file mode 100644
index e4e4258..0000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("FolderSourceContainerType.10"), null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("nest"); //$NON-NLS-1$
-				boolean nested = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IFolder folder = workspace.getRoot().getFolder(new Path(string));
-				// TODO: what if folder does not exist
-				return new FolderSourceContainer(folder, nested);
-			} 
-			abort(SourceLookupMessages.getString("FolderSourceContainerType.11"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("FolderSourceContainerType.12"), null); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
deleted file mode 100644
index 51d1a9f..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("ProjectSourceContainerType.10"), null); //$NON-NLS-1$
-				}
-				String nest = element.getAttribute("referencedProjects"); //$NON-NLS-1$
-				boolean ref = "true".equals(nest); //$NON-NLS-1$
-				IWorkspace workspace = ResourcesPlugin.getWorkspace();
-				IProject project = workspace.getRoot().getProject(string);
-				return new ProjectSourceContainer(project, ref);
-			} 
-			abort(SourceLookupMessages.getString("ProjectSourceContainerType.11"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("ProjectSourceContainerType.12"), null); //$NON-NLS-1$
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
deleted file mode 100644
index 053093c..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, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.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.getString("WorkspaceSourceContainerType.3"), null); //$NON-NLS-1$
-		}
-		abort(SourceLookupMessages.getString("WorkspaceSourceContainerType.4"), null); //$NON-NLS-1$
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
-	 */
-	public String getMemento(ISourceContainer container) throws CoreException {
-		Document document = newDocument();
-		Element element = document.createElement("workspace"); //$NON-NLS-1$
-		document.appendChild(element);
-		return serializeDocument(document);
-	}
-}
diff --git a/org.eclipse.debug.core/doc/.cvsignore b/org.eclipse.debug.core/doc/.cvsignore
deleted file mode 100644
index af3f463..0000000
--- a/org.eclipse.debug.core/doc/.cvsignore
+++ /dev/null
@@ -1,15 +0,0 @@
-book.css
-org_eclipse_debug_core_breakpoints.html
-org_eclipse_debug_core_launchConfigurationComparators.html
-org_eclipse_debug_core_launchConfigurationTypes.html
-org_eclipse_debug_core_launchDelegates.html
-org_eclipse_debug_core_launchers.html
-org_eclipse_debug_core_launchModes.html
-org_eclipse_debug_core_logicalStructureTypes.html
-org_eclipse_debug_core_processFactories.html
-org_eclipse_debug_core_sourceContainerTypes.html
-org_eclipse_debug_core_sourceLocators.html
-org_eclipse_debug_core_sourcePathComputers.html
-org_eclipse_debug_core_statusHandlers.html
-org_eclipse_debug_core_watchExpressionDelegates.html
-schema.css
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
deleted file mode 100644
index 98981aa..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Container Types</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourceContainerTypes<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>This extension point allows for an extensible set of source container types to be contributed by the debug platform
-         source lookup facilities.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourceContainerType">sourceContainerType</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourceContainerType">sourceContainerType</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourceContainerType</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this type</li>
-<li><b>name</b> - The name of this source container type use for presentation purposes.</li>
-<li><b>class</b> - A class that implements ISourceContainerType</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourceContainerType</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
deleted file mode 100644
index 9305403..0000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Path Computers</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourcePathComputers<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>Defines an extension point to register a computer that can describe a default source lookup path for
-         a launch configuration. Source path computers are associated with launch configuration types via the
-         launchConfigurationTypes extension point. As well, a source path computer can be associated with a
-         specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourcePathComputer">sourcePathComputer</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourcePathComputer">sourcePathComputer</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourcePathComputer</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<p class=ConfigMarkup id=elementDesc>
-Defines an extension point to register a computer that can describe a default source lookup path
-            for a launch configuration.</p>
-<br>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this computer.</li>
-<li><b>class</b> - A class that implements ISourcePathComputer.</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourcePathComputer</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
-  <a href="hglegal.htm">
-   <img SRC="ngibmcpy.gif"
-     ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
-     BORDER=0 height=14 width=324></a>
-  </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/hglegal2003.htm b/org.eclipse.debug.core/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.debug.core/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-  <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-  <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.debug.core/ngibmcpy2003.gif b/org.eclipse.debug.core/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.debug.core/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/plugin.properties b/org.eclipse.debug.core/plugin.properties
deleted file mode 100644
index f412c2b..0000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Debug Core
-providerName=Eclipse.org
-launcherExtensionPointName=Launcher
-breakpointExtensionPointName=Breakpoint
-launchConfigurationTypeNameExtensionPointName=Launch Configuration Type
-launchConfigurationComparatorsExtensionPointName=Launch Configuration Comparators
-statusHandlerExtensionPointName=Status Handler
-sourceLocatorsExtensionPointName=Source Locator
-launchModesExtensionPointName=Launch Modes
-launchDelegatesExtensionPointName=Launch Delegates
-valueVariablesExtensionPointName=String Substitution Value Variables
-dynamicVariablesExtensionPointName=String Substitution Dynamic Variables
-refreshLaunchVariablesName=Refresh Launch Variables
-watchExpressionDelegatesName= Watch Expression Delegates
-processFactoriesExtensionPointName=Process Factories
-logicalStructureTypesExtensionPointName=Logical Structure Types
-sourceContainerTypesName = Source Container Types
-sourcePathComputersName = Source Path Computers
-renderingExtensionPointName = Memory Renderings
-
-run=&Run
-debug=&Debug
-profile=&Profile
-
-env_var.description=Returns the value of an environment variable. An environment variable name must be specified as an argument.
-system_var.description=Returns the value of an Eclipse system variable. A variable name must be specified as an argument - one of ARCH, ECLIPSE_HOME, NL, OS, or WS.
-
-containerName.archive = Archive
-containerDescription.archive = A jar or zip in the workspace containing source files
-containerName.externalArchive = External Archive
-containerDescription.externalArchive = A jar or zip in the local file system containing source files
-containerName.project = Project
-containerDescription.project = A project in the workspace
-containerName.folder = Folder
-containerDescription.folder = A folder in the workspace
-containerName.directory = 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
\ No newline at end of file
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index 6a918bc..0000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.debug.core"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.debug.core.DebugPlugin">
-
-   <runtime>
-      <library name="dtcore.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.debug.core,org.eclipse.debug.internal.core"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-<!-- Extension points -->
-   <extension-point id="breakpoints" name="%breakpointExtensionPointName" schema="schema/breakpoints.exsd"/>
-   <extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName" schema="schema/launchConfigurationComparators.exsd"/>
-   <extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName" schema="schema/launchConfigurationTypes.exsd"/>
-   <extension-point id="launchModes" name="%launchModesExtensionPointName" schema="schema/launchModes.exsd"/>
-   <extension-point id="launchDelegates" name="%launchDelegatesExtensionPointName" schema="schema/launchDelegates.exsd"/>
-   <extension-point id="launchers" name="%launcherExtensionPointName" schema="schema/launchers.exsd"/>
-   <extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName" schema="schema/sourceLocators.exsd"/>
-   <extension-point id="statusHandlers" name="%statusHandlerExtensionPointName" schema="schema/statusHandlers.exsd"/>
-   <extension-point id="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="memoryRenderings" name="%renderingExtensionPointName" schema="schema/rendering.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         id="breakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.core.resources.marker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-      <attribute
-            name="org.eclipse.debug.core.modelIdentifier">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.enabled">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.registered">
-      </attribute>
-      <attribute
-            name="org.eclipse.debug.core.persisted">
-      </attribute>
-   </extension>
-   <extension
-         id="lineBreakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.debug.core.breakpointMarker">
-      </super>
-      <super
-            type="org.eclipse.core.resources.textmarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="launch">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchModes">
-      <launchMode
-            label="%run"
-            mode="run">
-      </launchMode>
-      <launchMode
-            label="%debug"
-            mode="debug">
-      </launchMode>
-      <launchMode
-            label="%profile"
-            mode="profile">
-      </launchMode>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="env_var"
-            resolver="org.eclipse.debug.internal.core.EnvironmentVariableResolver"
-            description="%env_var.description">
-      </variable>
-      <variable
-            name="system"
-            resolver="org.eclipse.debug.internal.core.SystemVariableResolver"
-            description="%system_var.description">
-      </variable>      
-   </extension>
-   
-<!-- ====================== -->
-<!--  source containers     -->                        					 
-<!-- ====================== -->
-   <extension
-         point="org.eclipse.debug.core.sourceContainerTypes">
-      <sourceContainerType
-            name="%containerName.project"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType"
-            id="org.eclipse.debug.core.containerType.project"
-            description="%containerDescription.project">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.folder"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.FolderSourceContainerType"
-            id="org.eclipse.debug.core.containerType.folder"
-            description="%containerDescription.folder">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.directory"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.DirectorySourceContainerType"
-            id="org.eclipse.debug.core.containerType.directory"
-            description="%containerDescription.directory">
-      </sourceContainerType>
-      <sourceContainerType
-            name="%containerName.workspace"
-            class="org.eclipse.debug.internal.core.sourcelookup.containers.WorkspaceSourceContainerType"
-            id="org.eclipse.debug.core.containerType.workspace"
-            description="%containerDescription.workspace">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.default"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.DefaultSourceContainerType"
-            id="org.eclipse.debug.core.containerType.default"
-            description="%containerDescription.default">
-      </sourceContainerType>    
-      <sourceContainerType
-            name="%containerName.archive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.archive"
-            description="%containerDescription.archive">
-      </sourceContainerType>      
-      <sourceContainerType
-            name="%containerName.externalArchive"
-			class="org.eclipse.debug.internal.core.sourcelookup.containers.ExternalArchiveSourceContainerType"
-            id="org.eclipse.debug.core.containerType.externalArchive"
-            description="%containerDescription.externalArchive">
-      </sourceContainerType>      
-   </extension>
-   
-<!-- ===================================== -->
-<!--  launch configuration comparators     -->                        					 
-<!-- ===================================== -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.debug.core.source_locator_memento"
-            class="org.eclipse.debug.internal.core.sourcelookup.SourceLocatorMementoComparator"
-            id="org.eclipse.debug.core.sourceLocatorMementoComparator">
-      </launchConfigurationComparator>
-   </extension>   
-
-</plugin>
diff --git a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
deleted file mode 100644
index 90f26fd..0000000
--- a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,1102 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes for the 2.0 release</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 20, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20365">20365</a>: Bidi - NPE when closing Eclipse<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 19, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20492">20492</a>: Extra separator in run/debug history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19878">19878</a>: Collapse/expand symbol (+/-) dissappears in inspect window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19998">19998</a>: NullPointerException when launching rsource that has no extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20066">20066</a>: TVT2: Hardcoded "None" in debug preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20594">20594</a>: Preference listeners should use equals, not ==<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19928">19928</a>: Run/Debug menu ordering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17462">17462</a>: IllegalArgumentException when printing long stack to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19375">19375</a>: Duplicate launch config naming problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is Runtime<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19740">19740</a>: Content assist is now retargetable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19613">19613</a>: LaunchConfig marked PRIVATE shows in Console View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19338">19338</a>: Missing copyrights<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 7, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - a spelling mistake was fixed in the name of a method in IPersistableSourceLocator</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18789">18789</a>: Source editor not given focus on suspend<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18772">18772</a>: Launch Configurations: Table is cut off on motif<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19379">19379</a>: Debug remembers selected state of toolbar entry even if it is no longer enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19443">19443</a>: IPersistableSourceLocator has misspelled method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19489">19489</a>: References to IDebugViewAdapter (DOC)<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 1, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18209">18209</a>: Unable to run a program on first attempt<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 31, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15671">15671</a>: Strange behavior of the console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17017">17017</a>: Not always prompted to find source location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18334">18334</a>: Launch view holding onto Objects longer than necessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18153">18153</a>: launch last and run/debug buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18385">18385</a>: NPE during launching after removing the launch info<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16946">16946</a>: several Eclipse buttons are too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18474">18474</a>: Empty group in history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16764">16764</a>: Debug Perspective leaks actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10383">10383</a>: Help pass for 2.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16152">16152</a>: NLS pass<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16379">16379</a>: Launch configs tree is missing label and is not wide enough<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 30, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17087">17087</a>: Launch view, source lookup and closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17029">17029</a>: DCR: Please let me specify a launch history size of 20<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16378">16378</a>: Missing icons in launch config creation tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18156">18156</a>: Debug/Run As cascade menu should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16462">16462</a>: Not all tabs visible in Run-time Workbench config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18154">18154</a>: Launch shortcuts menu labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16685">16685</a>: Internal error changing launch history preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16963">16963</a>: Mneumonic missing on table label for Select Launch Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16975">16975</a>: Up/down button on launch history page not working correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17512">17512</a>: Missing mneumonics in Console Preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18222">18222</a>: All XML written using platform line delimiters/UTF8<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16955">16955</a>: NPE opening java perspective.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17633">17633</a>: ActionDelegateHelper should nullify fTextEditor when it does not need it<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17380">17380</a>: Launch history maintains duplicate entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14406">14406</a>: Debug menu items becoming disabled inappropriately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17794">17794</a>: Disabled actions in the context menu of the Launch config dialog viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17358">17358</a>: Revert button not enabled after changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17116">17116</a>: Launch related walkbacks in .log<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18099">18099</a>: Change provider name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17490">17490</a>: F1 help for launch config tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18121">18121</a>: Static menus items should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17649">17649</a>: ObjectCollectedException written to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16838">16838</a>: Over zealous error logging when config has been deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17105">17105</a>: Attempt to save shared launch configs in closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18122">18122</a>: Scrapbook configs show up in list for Launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16970">16970</a>: ClassCastException out of Launch history preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16492">16492</a>: CommonTab Switch to String<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16956">16956</a>: NPE opening java perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17100">17100</a>: Launch Config name with underscore is truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16638">16638</a>: Missing menmonic on Debug Action Groups page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17072">17072</a>: "Show Supported Breakpoints" has just one calorie, not meaningful enough<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17946">17946</a>: Generalize launch shortcuts/convenience actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 28, 2002
-<h3>
-What's new in this drop</h3>
-<li>New/replaced extension point. The extension point "org.eclipse.debug.ui.launchConfigurationShortcuts" has
- been replaced with "org.eclipse.debug.ui.launchShortcuts". Please see extension point documentation
- for details.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16757">16757</a>: Launch.removeDebugTarget does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17534">17534</a>: Two huge bugs in Launch class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17676">17676</a>: Run menu history menus not updated after organize favorites<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17069">17069</a>: NPE deleting project with shared config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16655">16655</a>: Streams are not closed when a java program is finished<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 21, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16185">16185</a>: Show/hide package names button in doesn't work in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15964">15964</a>: Updates to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16476">16476</a>: TextViewerGotoLineAction$NumberValidator<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 19, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - deprecated method was removed - ILaunchConfigurationTab.isValid()</li>
-<li>New extension point - org.eclipse.debug.core.launchConfigurationComparator. This 
- extension point is for launch configuration attributes that require a custom
- equality implementation. See documentation for extension point.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15704">15704</a>: Default "Maximum launch history size" should be at least 10<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15560">15560</a>: Cancel button on edit Configurations is much smaller than others<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15952">15952</a>: Remove deprecated method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15953">15953</a>: No longer expanding debug target to show threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15988">15988</a>: ArrayIndexOutOfBoundsException in config reselection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16107">16107</a>: NPE opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16063">16063</a>: Preference pages now re-size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16060">16060</a>: Re-sizable launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15850">15850</a>: LaunchView changes required from platform ui changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16143">16143</a>: Multiple *.launch filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12032">12032</a>: Debug Constants should include value in javadoc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6485">6485</a>: Extension & Package documentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16217">16217</a>: launch config "revert" causes flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16325">16325</a>: Content assist action icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16356">16356</a>: NPE out of ConsoleDocumentManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16148">16148</a>: IProcess should support an exit value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14927">14927</a>: Cancel button in progress monitor of launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15775">15775</a>: Deleting launch config should select the next config<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16113">16113</a>: Execution arguments gets lost if starting a class file of a jar library<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 14, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13766">13766</a>: Error recovery on failed launch - need to bring up dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11540">11540</a>: Misc Debugger source lookup dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15506">15506</a>: Switching launch configs should show busy cursor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15618">15618</a>: DebugDropDownAction missing resource string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15375">15375</a>: ClassCastException trying to resume<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15720">15720</a>: Debug perspective should define place holders for standard views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12316">12316</a>: Message (stack trace) silently written to console when trying to run small java example<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4130">4130</a>: Eclipse Debugger: Setting Breakpoints via keyboard not possilbe (1GITILH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15449">15449</a>: 'show detail pane' toolbar button behaves differently than other buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12904">12904</a>: Creating shard Launch Configuration fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15748">15748</a>: Duplicate action in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16848">15848</a>: Change Debug Menu id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15533">15533</a>: DebugAction contains redundant cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14922">14922</a>: Config created by double clicking on launch type; delete not enabled<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 08, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9034">9034</a>: Variables view should scroll to display new variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12001">12001</a>: Plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14412">14412</a>: Launch configuration XML should be written to file immediately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15246">15246</a>: Allow private launch configs to perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15325">15325</a>: Remove 'Configuration' from debug action labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1636">1636</a>: Copy/paste across console docs (1GF61GB)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13457">13457</a>: Should expose launch history length as user preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15024">15024</a>: Launch configuration dialog doesn't display "favorite" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15180">15180</a>: DND.ERROR_CANNOT_SET_CLIPBOARD must be handled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14657">14657</a>: LaunchDropDownAction and coolbar support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14897">14897</a>: many missing '...' on buttons in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15362">15362</a>: Standard out not always hooked to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15446">15446</a>: first click in the debug/launch history preference page results in exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11894">11894</a>: Mneumonic collision in the debug menu<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 30, 2002
-<h3>
-What's new in this drop</h3>
-<li>Changes in the launch configuration dialog:
-	<ul>
-	<li>To free up screen real estate for editing launch configurations, the tree of launch
-		configurations has been made more narrow by removing the "copy" button from the
-		dialog. The "new" button copies a configuration when a configuration is selected, and
-		creates a new configuration (based on the workbench selection) when a configuration
-		type is selected.</li>
-	<li>The "Cancel" button has been replaced with a "Close" button (closing the dialog
-		does not cancel changes). You will be prompted to save unsaved changes.</li>
-	<li>A "Revert" button has been added to the edit area to revert changes on the 
-		currently selected launch configuration (under edit).</li>
-	</ul>
-</li>
-<li>Changes to launch behavior
-	<ul>
-	<li>Pressing the run or debug toolbar buttons launches the configuration that was last launched
-		(in the workspace), in the appropriate mode (run or debug).</li>
-	<li>To create a new launch configuration, use the cascading menu items on the run or debug
-		menu. For example "New Configuration -> Local Java Application" - this will create a new 
-		configuration based on the selection in the workbench (or active editor).</li>
-	<li>"Single-click launching" preference has been removed. It was determined that a preference
-		which changes the behavior of a toolbar button is disorienting to the user.</li>
-	</ul>
-</li>
-<li>Changes to ILaunchManager
-	<ul>
-	<li>API for setting default launch configuration types has been removed.</li>
-	</ul>
-</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13537">13537</a>: DebugActionGroups: Clearer wording in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13909">13909</a>: Inconsistent margins on preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11889">11889</a>: Buttons too small in the Console and Launch Configuration Preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13513">13513</a>: Running a debug view in a Java perspective has several problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13536">13536</a>: DebugActionGroups: Collision on ID wipes out both action groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13317">13317</a>: New Configuration menu empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14560">14560</a>: Deleting breakpoint selects another breakpoint in the wrong direction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14143">14143</a>: Breakpoints View appears with "Go to file" button enabled regardless of breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9834">9834</a>: Views do not remember package visibility filter settings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11904">11904</a>: Debug menu mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14797">14797</a>: NumberFormatException if cancel Go to line in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13440">13440</a>: menu reorganization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14550">14550</a>: Need to be able to make launch configuration type invisible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6388">6388</a>: Variables view's static and field buttons are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14495">14495</a>: clipboards must be disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13665">13665</a>: Debug preference page looks cluttered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14485">14485</a>: Cannot delete a launch config using the Delete key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14486">14486</a>: Default perspective for Run should not be Debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11697">11697</a>: Debug Preference Page needs group box<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14540">14540</a>: Relaunch action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14556">14556</a>: Enable breakpoint action using old selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14520">14520</a>: Debug plugins should provide consistent unique identifier access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12577">12577</a>: Launch configurations wizard - usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13555">13555</a>: Edit configuration dialog UI confusing<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12292">12292</a>: Unable to suspend a running thread to see stack frames<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 23, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13836">13836</a>: Missing and duplicated extensions in debug plugin.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12125">12125</a>: NLS debug projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14111">14111</a>: Console terminate button not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13041">13041</a>: Remove all terminated action incorrectly enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13372">13372</a>: Strange UI feedback when breakpoint hit during evaluation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13430">13430</a>: Open on Type in console can work better; less beep<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12184">12184</a>: IncompatibleThreadStateException on launchAdded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14190">14190</a>: Stack dumps noticed in log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14125">14125</a>: Debug view "Resume" always jumps to source - menu item does not<br>
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12132">12132</a>: Can't launch debugger if proxy set.<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 18, 2002
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Support for old launchers has been removed (ILauncher, ILauncherDelegate, ILaunchWizard).
-	Launch configruations now rule the launching world.</li>
-<li>The extension point "org.eclipse.debug.ui.launchTabs" has been removed and replaced with
- a new extension point "org.eclipse.debug.ui.launchTabGroups".</li>
-<li>The constants IDebugUIConstants.PREF_AUTO_SHOW_DEBUG_VIEW & IDebugUIConstants.PREF_AUTO_SHOW_PROCESS_VIEW
- have been removed.  Users can now set a default perspective for each of Run & Debug which may be
- overridden in a launch configuration.</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13385">13385</a>: Showing detail should be disabled when multi-select in var view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12788">12788</a>: Cut, copy, paste actions don't work in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8590">8590</a>: Allow position of "step debug" in step tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12982">12982</a>: Need ability to set initial state of debug view based on AbstractDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13554">13554</a>: Incorrect dependencies: result is NPE in DebugActionGroupsManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13714">13714</a>: Pressing Apply makes tabs disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13307">13307</a>: NPE in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12382">12382</a>: Action set part association for the launch view?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13285">13285</a>: Debug/Run With use old launchers when in config mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13425">13425</a>: Double click to expand/contract tree in variable and expression views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13864">13864</a>: npe on lanuning (latest after 0412)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12281">12281</a>: Launch configuration tab widgets are private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13501">13501</a>: hostname cut off when show qualified names is off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12257">12257</a>: remove single event handling support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12722">12722</a>: Actions for configuration dialogs should appear on Debug menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13324">13324</a>: Change of selection lost in Launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11942">11942</a>: Single click launching preference text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13088">13088</a>: NPE in the log after exiting workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13565">13565</a>: Properties page for process should not contain defaults/apply buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13853">13853</a>: native code error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13613">13613</a>: Delegating presentation and #setAttribute()...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12962">12962</a>: Same target shows up twice in drop-downs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13375">13375</a>: Show Detail Pane in popup menu missing mneumonic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12785">12785</a>: Select all in the details pane selects all variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13383">13383</a>: Copy variables action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13993">13993</a>: Debug and Run buttons have been accidentally swapped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12953">12953</a>: Action "type" constants should be moved from AbstractDebugView to IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14124">14124</a>: Launch configuration classes not in launch configuration package<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12677">12677</a>: Single click launching and F11, Ctrl-F11<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13214">13214</a>: ArrayOutOfBoundException in launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13480">13480</a>: NPE creating Java Project when running Runtime Workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13345">13345</a>: exception in log - after opening/closing projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13085">13085</a>: DebugActionGroups cannot handle two actions with same ID in views<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 09, 2002
-<h3>
-What's new in this drop</h3>
-<li>A new extension point exists in the debug ui to control the types of launch configurations that can
- be created from the cascading "New run/debug configuration" menu (off the run/debug dropdown menus).
- A type of configuration can be contributed to mulitple perspectives.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1696">1696</a>: DCR: Perspective specific launcher filtering (1GIYJXH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11733">11733</a>: duplicate shared config after close & restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11899">11899</a>: Launch config name collission<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12658">12658</a>: Single click launching doesn't work if the active editor isn't selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12488">12488</a>: Launch config dialog should allow double-click on config type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11710">11710</a>: Deleting a launch configuration leaves no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12598">12598</a>: Launch config - tab group API inconvenience<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11190">11190</a>: cannot set working directory if it includes a japanese character<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12160">12160</a>: Launch creation/lifecycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8772">8772</a>: Infinitely looping stack trace in target pgm locks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12619">12619</a>: Exception during startup.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10282">10282</a>: Rendering of changed variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12310">12310</a>: Need ability to determine if a breakpoint applies to a target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12981">12981</a>: Launcher - listed name does not match given name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9825">9825</a>: Action icon inconsistencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12891">12891</a>: Several IOExceptions from .log in StreamsProxy.write(StreamsProxy.java:92)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11906">11906</a>: Useless single click launch for classes with no main<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12276">12276</a>: Index out of bounds exception from launch configuration dialog<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 2, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12289">12289</a>: Breakpoint should extend platform object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12548">12548</a>: Debug event filters should use event sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12613">12613</a>: Exception when on target workspace when starting eclipse<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11756">11756</a>: Launch config dialog: button sizes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11923">11923</a>: Console preference page needs reworking<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11880">11880</a>: Launch ConfigurationType property page missing accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11925">11925</a>: Up/down buttons for launch history restricted to single select<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11457">11457</a>: Launch Configuration Dialog issues<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11702">11702</a>: Launch configuration defaults are set after widgets are initialized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11330">11330</a>: JavaEnvironmentTab depends on JavaMainTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11053">11053</a>: Launch view too optimistic on source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11982">11982</a>: Logging exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12339">12339</a>: NPE when i switch to debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7609">7609</a>: Attempting to go to a marker that no longer exists<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11326">11326</a>: Restore instead of rebuild launch config index<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11720">11720</a>: Need replacement for #hasChildren<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 26, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breaking API change: IDebugViewAdapter had been renamed to IDebugView</li>
-<li>Launch configurations are the default launch mechanism.</li>
-<li>Debug events are reported in sets. @see IDebugEventSetListener and IDebugEventListener</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11610">11610</a>: Doc: identifier for launch extension points are incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11401">11401</a>: API on ILaunch.getDebugTarget() <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11303">11303</a>: Deadlock on startup processing breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11919">11919</a>: 2 NPEs using Preferences->Debug->Launch Configuration Types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6212">6212</a>: Debug view toolbar/menu pollution<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11849">11849</a>: Duplicate history items showing up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10448">10448</a>: IExpressionManager#hasExpression, IBreakpointManager#hasBreakpoints,etc.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10817">10817</a>: configs in java packages get copied to output folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11207">11207</a>: IDebugViewAdapter should be named IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11612">11612</a>: Agressive clearing of instruction pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12025">12025</a>: Invalid thread access out of Launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12229">12229</a>: Set default launching style to configuration based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9650">9650</a>: Variable change notification bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12157">12157</a>: Debug event sets<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 18, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11197">11197</a>: Feature request: Delete in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11212">11212</a>: Debug UI plugin.xml references jdt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11308">11308</a>: Launch configurations make workspace non-transportable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11346">11346</a>: Registering a launch multiple times is not handled well<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10586">10586</a>: Use new workbench selection service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11425">11425</a>: ILaunchConfiguration JavaDoc is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11189">11189</a>: Flicker in the Launch Configurations dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11253">11253</a>: Launch config tab flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11370">11370</a>: Launch view update bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11462">11462</a>: Launch config metadata change generates parse exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10637">10637</a>: "currently active project" should be the "current working directory"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10162">10162</a>: Console View to front on error output only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8937">8937</a>: Feature Request: Select all in the breakpoints view<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10775">10775</a>: New, delete copy of Launch configurations remain disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10780">10780</a>: Delete and Copy enabled for Launch configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10778">10778</a>: Launch configuration names should be trimmed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6376">6376</a>: Should be possible to remove entries from the "Run list"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10855">10855</a>: Use new workbench API for show perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10610">10610</a>: Null exception when lauchviewer processing events on remove tree items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8420">8420</a>: Cannot edit ExpressionView detail area until after inspect.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11076">11076</a>: Delete configs reamin in favorite list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9922">9922</a>: Null pointer in launch configuration type property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7605">7605</a>: Feature: Doubleclicking in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11072">11072</a>: History menu update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8294">8294</a>: "Debug History" and "Run History" have empty submenus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11133">11133</a>: NPE in LaunchView.initializeSelection()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11110">11110</a>: NPE in AbstractListenerActionDelegate.pageActivated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10847">10847</a>: API - AbstractLaunchConfiguration tab<br>
-<h3>
-
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch Configuration API has changed. The launch configuration tab lifecycle is now similar
- to that of preference and wizard pages.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9680">9680</a>: Launch config: pressing save returns to first tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9660">9660</a>: Launch Config Flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10524">10524</a>: Provide default label provider API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10506">10506</a>: NPE in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10582">10582</a>: SWT Exception closing a Debug Perspective in JUnit test<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7207">7207</a>: Launch configuration bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10652">10652</a>: Remove action enabled when nothing to be removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10243">10243</a>: ClassCastException when removing a breakpoint<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 26, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7767">7767</a>: Changing from "Debug View"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 14, 2002
-<h3>
-What's new in this drop</h3>
-<li>As part of the transition to configuration-based launching, early adopters may
-continue to access the launch configuration dialog by Shift-clicking the run and debug
-buttons, but configuration-based launches will NOT appear in the history, and
-CANNOT be relaunched.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9166">9166</a>: NPE in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9483">9483</a>: NPE in LaunchConfigurationTypePropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9652">9652</a>: IllegalArgumentException out of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9704">9704</a>: NPE on shutdown in BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 12, 2002
-<h3>
-What's new in this drop</h3>
-<li>Removed deprecated constant IDebugUIConstants.ID_PROCESS_VIEW</li>
-<li>Basic icons and their support has been removed</li>
-<li>Breakpoint property sheet has been replaced with breakpoint properties dialog.
- Choose "Properties..." from the pop-up menu in the breakpoints view.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8230">8230</a>: Console does not show process as <terminated>; better tracking of changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9194">9194</a>: Attempting to modify locked resource tree in BreakpointManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9218">9218</a>: NPE in LaunchConfigurationLabelDecorator.isLaunchConfigFile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9280">9280</a>: Debug event handlers performing runnables after dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9057">9057</a>: API - CHANGE event should be better specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9111">9111</a>: Invalid thread access running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6370">6370</a>: Breakpoint Properties Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9327">9327</a>: JavaDebugOptionsManager startup loading breakpoints during resource changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9178">9178</a>: Remove All Terminated always disabled?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9065">9065</a>: WID opening editor for breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8296">8296</a>: Debug With menu items have interesting numbering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9421">9421</a>: NPE out of the LaunchView on shutdown with running target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7301">7301</a>: no way to switch to custom debug perspective on debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5311">5311</a>: Missing debug information should be conveyed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1683">1683</a>: Extra Action delegates (1GIGUK0)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9299">9299</a>: NPE in LaunchView.showMarkerForCurrentSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch configuration infrastructure and UI is available for early adopters.
-Developers that have contributed launchers should migrate to launch configurations. To
-access launch configurations from the workbench, press the run/debug buttons while holding
-the SHIFT key down.</li>
-<li>The debugger indicates variables that have changed since the last suspend. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>.</i>
-<li>The debug action set has been renamed from Debug/Run to Debug. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>: Rename Debug action set from "Debug/Run" to "Debug"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8945">8945</a>: Non-Persisted breakpoint can be incorrectly deleted at startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7965">7965</a>: Debug view refresh flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>: Feature: notification of changing variables (1G5NRPC)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1721">1721</a>: Small Feature: separate disable/enable breakpoints (1GKKEI5)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8245">8245</a>: Launch preferences page problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1621">1621</a>: Debugger doesn't come to front when breakpoint is hit (1GEUZEX)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9102">9102</a>: Remove & Terminate walkback<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6807">6807</a>: launch configurations not crash proof<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7837">7837</a>: Launch configuration page verifier error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8235">8235</a>: Ctrl-space does not work for code assist in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7763">7763</a>: (usability) selecting in variables view with details pane causes un-maximize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7814">7814</a>: API for char range within a line<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8501">8501</a>: "Disable all" breakpoints action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7864">7864</a>: Need API for selection changes in debug view<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 24, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8059">8059</a>: NPE out of ControlActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8005">8005</a>: Terminate & Remove disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8063">8063</a>: NPE in BreakpointsView when closing workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8318">8318</a>: internal error occured, if open the menu "Debug -> Debug History"<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 22, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breakpoint API has been updated to allow selective persistence of breakpoint
-of the same type</li>
-<li>Breakpoint API now allows for "hidden" breakpoints. @see IBreakpoint.isRegistered()</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7578">7578</a>: .metadata launch files not in correct location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7626">7626</a>: Widget is disposed error relaunching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1710">1710</a>: DCR - Launcher should have control over perspective switching (1GJUT9J)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6480">6480</a>: Launch configurations - store with workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7961">7961</a>: updating source twice per suspend event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7507">7507</a>: debugger keyboard shortcuts do not work in 20020109<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2990">2990</a>: Internal errors when fast clicking in debug stack (1GLDZVH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7974">7974</a>: Stack overflow pression "remove all" from Expression View<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1563">1563</a>: Fully qualified rendering of launch element name (1GD7U0Z)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7418">7418</a>: Need the Process view back<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7627">7627</a>: Tooltips not working in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7755">7755</a>: The Breakpoints pane should highlight the breakpoint where the debugger stops<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5141">5141</a>: Breakpoint manager can use new marker API<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 15, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6088">6088</a>: Move "qualified name" rendering to java debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7420">7420</a>: "Debug UI.xml" references JDT<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7580">7580</a>: NPE out of AbstractDebugEventHandler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7513">7513</a>: Terminate and remove fails to remove when timeouts occur<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7316">7316</a>: Inconsistent casing for Show detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7370">7370</a>: TimeoutException occurs during stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1714">1714</a>: Confusion of launches from different projects in history (1GJYNLK)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 9, 2002
-<h3>
-What's new in this drop</h3>
-<li>The debugger now uses the workbench editor re-use policy.</li>
-<li>There is no longer a Process view. The Debug view shows all debug
-sessions and processes launched. When a workspace is re-started that
-had a Process view open, an error message will appear explaining that
-the Process view could not be created.</li>
-<li>The debug action set has been split into two groups - debug and launch.
-Existing debug and Java perspectives need to be closed and re-opened to obtain
-run and debug buttons in the toolbar. @see bug 1724.</li>
-<li>There is no longer an Inspector view - it has been replaced with an
-Expressions view. When a workspace is re-started that had an Inspector
-view open, an error message will appear explaining the Inspector view
-could not be created.</li>
-<li>A launch can be annotated with client specific data. @see bug 6481.</li>
-<li>A launch can now contain more than one debug target. API has changed
- in ILaunch, ILaunchListener, and ILaunchManager to suppport this.</li>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7120">7120</a>: NPE during shutdown of DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6954">6954</a>: Use new workbench API for openning perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6206">6206</a>: Make AbstractDebugView API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7151">7151</a>: Toggling ShowDetailPaneAction sets focus to the launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7164">7164</a>: NPE during shutdown to do with DebugSelectionManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1724">1724</a>: Feature: split debug action set in to debug & launch (1GKCQVZ)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7167">7167</a>: NPE shutting down in abstract debug view 'save state'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6771">6771</a>: DebugEvent constructors changed to take IDebugElement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1574">1574</a>: Settings in debug views not persisted (1GDTUNW)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6105">6105</a>: Step accelerators should not take focus from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1671">1671</a>: Option to autoclear terminated processes (1GHSO3L)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6357">6357</a>: Combine Process/Debug Views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6200">6200</a>: Extensible set of debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7204">7204</a>: Copy variables action needs icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7031">7031</a>: Inspector is missing a toString area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6213</a>: Breakpoints view improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6481</a>: Feature: Annotate launch with transaction id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1617">1617</a>: type names not always shown in inspector (1GEULC4)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6484">6484</a>: Ability for "super adaptor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6783">6783</a>: Console should not steal focus while writing output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7277">7277</a>: Step detail events for into/over/return<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6214">6214</a>: More that one debug target per lanuch<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6482">6482</a>: Ability to group debug targets in one launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6215">6215</a>: Exception handling in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1688">1688</a>: Object display options (1GIKMIG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1606">1606</a>: Feature: Source Lookup (1GEPJEN)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1553">1553</a>: Handling of no source is confusing (1GC2TVU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7166">7166</a>: Remove terminated launches preference does not applied correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7169">7169</a>: Debug "F" keys not enabled properly on new editor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 18, 2001
-<h3>
-What's new in this drop</h3>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5260">5260</a>: TVT: Properties view for debug process is missing substitution variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7003">7003</a>: Debug With menu launches incorrect program (not finding selection)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1548">1548</a>: Extensible launch modes (1GBEQYO)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1592">1592</a>: DebugPlugin must allow for null elements in updateHistory() (1GEI3C1)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6886">6886</a>: Request: Keep perspective when running application<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1627">1627</a>: Previous editor's unsaved contents are still visible (1GEX5LS)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 11, 2001
-<h3>
-What's new in this drop</h3>
-	<ul>
-	<li>The "relaunch last" action has been remapped to use F9 instead of F10.
-	Please see "<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10" for details.
-	</li></ul>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10 <br>
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 6, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Variables view stays empty with stack frame selected (1GLE8PW) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6577">6577</a>: NPE in DebugContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6598">6598</a>: Problem using old workspace with new build <br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 4, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6216">6216</a>: Help for debug views in 1.0 <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Newly added resources cannot be checked out <br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1715">1715</a>: Consider removing state change actions from BreakpointsView (1GKKT90)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1559">1559</a>: Debugger doesn't pop to front when breakpoint hit (1GD7P7D) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1564">1564</a>: README: printf's in native code only show up in console at the end of execution (1GD80QZ) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1588">1588</a>: README: System.exit(0) from Scrapbook (1GE8JU3) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5485">5485</a>: NPE if missing launcher when using launch history <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1770">1770</a>: Last launch not updated upon deletion (1GLEANH) <br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 27, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Procedural Debug API - new debug element interfaces have been defined to support the notion of registers,
-register groups, memory blocks, and memory block retrieval:
-	<ul>
-	<li>IRegister - a register in a register group</li>
-	<li>IRegisterGroup - register groups are available from each stack frame (that supports registers)</li>
-	<li>IMemoryBlock - a contiguos block of bytes from memory allocated by a running program</li>
-	<li>IMemoryBlockRetrieval - support to retrieve arbitrary blocks of memory from a running program</li>
-	</ul>
-</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1720">1720</A>: Issue: breakpoint manager breaks lazy plug-in load rule (1GK<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6097">6097</A>: The inspector is not refresh<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 20, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>API Change - method addition - @see ILaunch.getLaunchConfiguration(). This does
-not break any clients, as the only implementation of ILaunch is org.eclipse.debug.core.Launch,
-which has been updated.</li>
-<li>API Change - method return value - @see ILaunch.getLauncher(). A launch
-is now allowed to return null for #getLauncher() when it was created by a launch
-configuration rather than a launcher. This does not break any clients, as launch configurations
-are not in use yet. The main client that will have to be updated is the Debug UI.</li>
-<li>New debug preference - "Build (if required) before launch"</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4023">4023</A>: Prompt user for save and build before run  (1GGCBO0)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5818">5818</A>: Debugger Source Lookup page claims project is closed<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5895">5895</A>: NPE out of the Console view on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5896">5896</A>: NPE out of LaunchManagerVisitor on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1623">1623</A>: StackFrame selected but toolbar actions disable (1GEV0L7)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5681">5681</A>: Show debug perspective doesn't reuse my perspective<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5909">5909</A>: Should have terminate on Debug menu<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5582">5582</A>: Keyboard shortcut for run/debug<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5789">5789</A>: Console Empty on Hello World Examples<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5951">5951</A>: Console buffer not flushed?<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5946">5946</A>: NPE  in LaunchManagerVisitor<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5808">5808</A>: Console output being lost<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5925">5925</A>: DebugView does not survive platform crash<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 13, 2001
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5360">5360</A>: ListenerList#removeAll<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5613">5613</A>: Debugger hangs when it hits breakpoints during self hosting<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4269">4269</A>: Simplifying debugger perspective (1GKRAWI)<br>
-
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5588">5588</A>: General Protection Fault double clicking on breakpoint in th<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5795">5795</A>: Reached Breakpoint, but no stacktrace<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 12, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Draft definition and infrastructure for launch configurations.</li>
-<li>API Change: Presentation of variable value details allows for long running
-computation. @see IDebugModelPresentation.computeDetail(IValue, IValueDetailListener). @see IValueDetailListener.
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5686">5686</A>: Launch/Run actions should be available on menubar<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5579">5579</A>: Would like option to switch to Debug perspective on breakpoi<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
deleted file mode 100644
index 3e0da8c..0000000
--- a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,410 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 25, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35459">35459</a>: "Run As ..." menu disabled<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 24, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35410">35410</a>: VariableView#fExpandedVariables is not always cleaned<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34901">34901</a>: Typos(?)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34899">34899</a>: Typos<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34554">34554</a>: console: locking during 6 second clear request on big contents<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 6, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33767">33767</a>: Step with filters label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33993">33993</a>: NPE in launch config getMemento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33996">33996</a>: Making a shared favorite config does not appear in fav's<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 4, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32631">32631</a>: Problem with text input from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32668">32668</a>: Invalid thread access disposing process drop down menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32706">32706</a>: Can re-enable LCD when disabled for run in foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32621">32621</a>: Console Pref page: punctuation and capitalization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33289">33289</a>: Console: ShowProcess tooltip should use book capitilization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29752">29752</a>: Removal of the "launchers" extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31519">31519</a>: action set part associations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33579">33579</a>: NPE in launch view event handler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33613">33613</a>: NPE in console line notifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32722">32722</a>: Attempting two background builds at same time: lose console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33620">33620</a>: NPE attempting to launch from a LCD with no selection area (Run Ant...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33153">33153</a>: Debug As and Run As actions are ignored if there is no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33185">33185</a>: Activate workbench when breakpoint hit should be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32775">32775</a>: BadLocationException on file hyperlink from ant build<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 20, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18665">18665</a>: Launch progress message bar is too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32191">32191</a>: LaunchManager added too late as resource changed listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31431">31431</a>: Show In...from the Console to the Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32247">32247</a>: Missing hashCode in org.eclipse.debug.internal.core.LaunchConfigurationInfo<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32176">32176</a>: Hyperlink on wrapped line draws line badly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32275">32275</a>: Debug console selection shows the wrong information<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30513">30513</a>: Step actions should be disabled when debug view closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31161">31161</a>: Dialogs don't use standard platform spacing for buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31216">31216</a>: Offer Show In...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11991">11991</a>: Renamed config not updated in history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31745">31745</a>: No feedback for navigating links in console using keyboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30586">30586</a>: NPE opening editor in LaunchView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32433">32433</a>: ShowProcessAction reference to its process keeps hyperlinks in memory<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 18, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31565">31565</a>: Selecting part of stack trace in console loses focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29326">29326</a>: Launch configuration with errors can be launched<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29045">29045</a>: StringIndexOutOfBoundsException from Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31394">31394</a>: New console UI does not provide a "Clear History" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31898">31898</a>: Error in the status bar without any text selected in the console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30901">30901</a>: Dialog flicker when launching a program<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31500">31500</a>: Double click for create a new launch configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 11, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31321">31321</a>: disable/enable breakpoints does not scale<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31502">31502</a>: Refactor LaunchHistoryPreferenceTab<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30411">30411</a>: Exceptions deleting Launch Configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28148">28148</a>: Debug and Run toolbar actions missing mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30493">30493</a>: No need for the verify key listener in the VariablesView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22815">22815</a>: Support delete key in viewers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30125">30125</a>: Provide inforpops for launch configuration types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30332">30332</a>: Not enough IDisconnect support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28827">28827</a>: Run Screen Sizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30167">30167</a>: Would like a way to navigate back from debugger to corresponding launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30333">30333</a>: Problem when multiple debug events occur at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30831">30831</a>: Console View: Terminate and Clear are too close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29503">29503</a>: Debug preference page error messaging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 28, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29877">29877</a>: Chkpii errors in debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28295">28295</a>: ConcurrentModificationException during "Run Ant..." build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18306">18306</a>: Use safe runnables for listeners and "untrusted" code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30037">30037</a>: Use platform support for breakpoint persistence<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29843">29843</a>: tooltip of the debug and run buttons displays "Debu&g" and "Ru&n"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30307">30307</a>: Apparent mispelled catalog reference in Expressions pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30222">30222</a>: External tool builder build command path is fully qualified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30324">30324</a>: NPE restoring shared launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29112">29112</a>: Add key binding to "open link" action in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30180">30180</a>: Stale launch if runtime-workbench launch is canceled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29028">29028</a>: Stack trace hyperlink does not work after clear<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 21, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24154">24154</a>: Add interfaces to debug core for enhanced debug function...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27782">27782</a>: Improve Debug UI plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29660">29660</a>: Only top stack frame icon correct after long step<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29676">29676</a>: Better error reporting when a launch config goes missing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29720">29720</a>: launch dialog for edit/run of a single config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26157">26157</a>: launch config working sets applied globally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27989">27989</a>: Provide 'final verification' launch configuration API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29450">29450</a>: LaunchManager.searchForFiles optimization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24821">24821</a>: [Key Bindings] Provide debug action definitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29153">29153</a>: Migrate extension point schema ownership<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 14, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28969">28969</a>: convenience action to open LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27342">27342</a>: No busy cursor when creating new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25569">25569</a>: Checkbox in launch config doesn't keep its value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27164">27164</a>: shared launch configs and "validate edit"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29064">29064</a>: Attached source not recognized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27830">27830</a>: Use IActionDelegate2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28033">28033</a>: external tools dialog title shows as "&External Tools"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27403">27403</a>: Should consider using the new font propogation support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22927">22927</a>: Add word-wrap option to Variables display area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28127">28127</a>: NPE if AbstractDebugView handling exception early<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22230">22230</a>: #setButtonLayoutData addition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24754">24754</a>: Preferences - should offer font choice for variable details pane<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 07, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28386">28386</a>: Source selection disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28571">28571</a>: Text selection updates on evaluation end<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10016">10016</a>: Flicker of System.err output in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28060">28060</a>: Launch#canTerminate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24884">24884</a>: Launching progress monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28562">28562</a>: details area does not update when BP hit while stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7715">7715</a>: Console does not show output of selected process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28867">28867</a>: [Console] Navigation between output of hosted/debugged apps<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27172">27172</a>: Hang copying variables with cycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29052">29052</a>: ConsolePreferencePage problem<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28383">28383</a>: Debug view flashes during stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28245">28245</a>: No launchAdded notification on first relaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28282">28282</a>: Launch view doesn't select stack frame when it is made visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27011">27011</a>: NPE from LaunchConfigurationTabGroupViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28317">28317</a>: NPE exiting workbench<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 13, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28050">28050</a>: Extra separator if no history, only favorites.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27881">27881</a>: Remote Debug Connection Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28088">28088</a>: Console view caused NPE when "becomesVisible"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27092">27092</a>: Only update variables/expressions when visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28227">28227</a>: NPE painting console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28100">28100</a>: Re-factor "isVisible" debug view function<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25437">25437</a>: Console Performance when output alternates between streams<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 10, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27139">27139</a>: Common tab has duplicate accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23216">23216</a>: Shared launches marked as favorites do not show up after importing existing project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23951">23951</a>: Flicker when closing launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26333">26333</a>: Improve launch manager startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24715">24715</a>: Launch dialog open return codes are internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26335">26335</a>: Improve debug plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27834">27834</a>: LaunchHistory registers unnecessary listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27607">27607</a>: Better Ant project names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26503">26503</a>: launch groups/dropdown should support shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27877">27877</a>: Don't use a marker for stack frame line highlighting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27816">27816</a>: Re-work launch actions to use launch group framework<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27952">27952</a>: hyperlink region should not be stored in hyperlink<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 03, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27353">27353</a>: ConsoleContentProvider -> ConsoleColorProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27347">27347</a>: Process types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27200">27200</a>: "Show console when program writes ..." doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19674">19674</a>: LaunchConfigurationDialog is over 3,000 lines (whew!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27248">27248</a>: Launch config dialog is grotesquely large<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 26, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18814">18814</a>: Cannot 'save changes' and duplicate a Launch configuration at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25745">25745</a>: NPE if no tab group specified for a configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26996">26996</a>: get/setAttributes on ILaunchConfiguration/WorkingCopy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26702">26702</a>: Allow single launch config to be edited<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 12, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25701">25701</a>: Instruction pointer disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23477">23477</a>: Most recent launch config lost after each restart<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 05, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1524">1524</a>: Feature: Displaying Instruction pointer (1G3A7CG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 22, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24738">24738</a>: Launch Config Dialog: Pressing cancel permanently diables 'Apply'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16817">16817</a>: DebugException: The resource tree is locked for modifications.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 15, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24364">24364</a>: Investigate opening launch config dialog from inside a delegate's launch() method<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 8, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24270">24270</a>: UI hangs when try to debug with 'bad' VM arguments<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 1, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24100">24100</a>: LaunchConfigurationWorkingSetPage.setSelection should work without container being set<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Sept 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23124">23124</a>: Presentation of "no source"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23266">23266</a>: NPE exception in VariablesViewContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22595">22595</a>: No code assist in details pane<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 27, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22283">22283</a>: ArrayIndexOutOfBoundsException in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19856">19856</a>: Create a new launch configuration should always be an option in launch configuration wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18877">18877</a>: Flicker in VariablesView when rapid stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 06, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21585">21585</a>: Evaluating expression switches editors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9687">9687</a>: Should have busy cursor opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21640">21640</a>: Show types action in Variables view is confused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18787">18787</a>: Slightly off message in details pane of Expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15847">15847</a>: Disable Run / Debug buttons in toolbar if no contribution is associated with that mode<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 30, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21504">21504</a>: Both "enable" and "disable" breakpoints actions are enabled when multiple breakpoints are selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20431">20431</a>: Run/debug include in favorites setting ineffective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19099">19099</a>: Console in different window keeps name of terminated and removed debug target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20504">20504</a>: Launch view accelerator update workaround no longer needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20602">20602</a>: Potential NPE in AbstractDebugView when subclass does not persist state in memento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20610">20610</a>: [Console] Terminate button disabled on Clear Console, even when app still running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20713">20713</a>: 2 requests to change value of variable when enter pressed on invalid value.<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_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/schema/breakpoints.exsd b/org.eclipse.debug.core/schema/breakpoints.exsd
deleted file mode 100644
index 9aafb13..0000000
--- a/org.eclipse.debug.core/schema/breakpoints.exsd
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="breakpoints" name="Breakpoints"/>
-      </appInfo>
-      <documentation>
-         This extension point defines a mechanism for defining new types of breakpoints.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="breakpoint" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="breakpoint">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this breakpoint type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="markerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified identifier (id) of the corresponding marker definition for breakpoints of this type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the java class that implements &lt;samp&gt;IBreakpoint&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.Breakpoint"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.breakpoints&quot;&gt;
-  &lt;breakpoint
-   id=&quot;com.example.ExampleBreakpoint&quot;
-   markerType=&quot;com.example.ExampleBreakpointMarker&quot;
-   class=&quot;com.example.ExampleBreakpointImpl&quot;&gt;
-  &lt;/breakpoint&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of breakpoint is implemented by the class &quot;com.example.BreakpointImpl&quot;.
-There is an associated marker definition for &quot;com.example.ExampleBreakpointMarker&quot;, defining the attributes of this breakpoint.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IBreakpoint&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd b/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
deleted file mode 100644
index 6a3ff56..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationComparators" name="Launch Configuration Comparators"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a configurable mechanism for comparing specific attributes of a launch configuration.
-In general, launch configuration attributes can be compared for equality via the default implementation of &lt;samp&gt;java.lang.Object.equals(Object)&lt;/samp&gt;.
-However, attributes that require special handling should implement this extension point.
-For example, when an attribute is stored as XML, it is possible that two strings representing an equivalent attribute have different whitespace formatting.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationComparator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                 an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchConfigurationComparator">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this extension.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="attribute" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the launch configuration attribute name that this comparator compares.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully-qualified name of a class that implements &lt;samp&gt;java.util.Comparator&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="java.util.Comparator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration comparator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.debug.core.launchConfigurationComparators"&gt;
-		&lt;launchConfigurationComparator
-			id="com.example.ExampleIdentifier"
-			attribute="com.example.ExampleAttributeName"
-			class="com.example.ComparatorImplementation"&gt;
-		&lt;/launchConfigurationComparator&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of launch configuration comparator will be consulted when comparing the equality of attributes keyed with name &lt;samp&gt;com.example.ExampleAttributeName&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully-qualified name of a Java class that implements the interface &lt;b&gt;java.util.Comparator&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd b/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
deleted file mode 100644
index daed026..0000000
--- a/org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchConfigurationTypes" name="Launch Configuration Types"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a configurable mechanism for launching applications.
-Each launch configuration type has a name, supports one or more modes (run and/or debug), and specifies a delegate
-responsible for the implementation of launching an application.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationType" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchConfigurationType">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="fileExtension" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch configuration type.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="delegate" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this type will delegate to instances of this class to perform launching.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILaunchConfigurationDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a comma-separated list of the modes this type of lauch configuration supports - &quot;run&quot; and/or &quot;debug&quot;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a human-readable name for this type of launch configuration.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type is accessible by users.  Defaults to true if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  an optional attribute that specifies this launch configuration type&apos;s category. The default value is unspecified (null). Categories are client defined. This attribute was added in the 2.1 release.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourcePathComputerId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourcePathComputers extension that is used to compute a default source lookup path for launch configurations of this type
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="sourceLocatorId" type="string">
-            <annotation>
-               <documentation>
-                  The unique identifier of a sourceLocators extension that is used to create the source locator for sessions launched using launch configurations of this type
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="fileExtension">
-      <complexType>
-         <attribute name="extension" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a file extension that this launch configuration type can be used for.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="default" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether this launch configuration type should be the default launch configuration type for the specified file extension.  Defaults to false if not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration type extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchConfigurationTypes&quot;&gt;
-  &lt;launchConfigurationType
-   id=&quot;com.example.ExampleIdentifier&quot;
-   delegate=&quot;com.example.ExampleLaunchConfigurationDelegate&quot;
-   modes=&quot;run,debug&quot;
-   name=&quot;Example Application&quot;&gt;
-   &lt;fileExtension extension=&quot;txt&quot; default=&quot;true&quot;/&gt;
-   &lt;fileExtension extension=&quot;gif&quot; default=&quot;false&quot;/&gt;
-  &lt;/launchConfigurationType&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified type of launch configuration supports both run and debug modes. 
-The launch configuration is applicable to .txt and .gif files, and is the default launch configuration for .txt files.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;delegate&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.ILaunchConfigurationDelegate&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/launchDelegates.exsd b/org.eclipse.debug.core/schema/launchDelegates.exsd
deleted file mode 100644
index 1666393..0000000
--- a/org.eclipse.debug.core/schema/launchDelegates.exsd
+++ /dev/null
@@ -1,142 +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 extensisble, it may be neccessary to contribute additional launch delegates to an existing launch configuration type. Each launch delegate is contributed for a specific launch configuration type. A launch delegate supports one or more launch modes, and specifies a delegate responsible for the implementation of launching.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="launchDelegate">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  specifies a unique identifier for this launch delegate.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies the fully qualified name of the Java class that implements &lt;samp&gt;ILaunchConfigurationDelegate&lt;/samp&gt;.
-Launch configuration instances of this delegate&apos;s type will delegate to instances of this class to perform launching.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a comma-separated list of the modes this lauch delegate supports.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  identifier of an existing launch configuration type that this launch delegate is capable of launching.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a launch delegate extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchDelegates&quot;&gt;
-  &lt;launchDelegate
-   id=&quot;com.example.ExampleProfileDelegate&quot;
-   delegate=&quot;com.example.ExampleProfileDelegate&quot;
-   type=&quot;org.eclipse.jdt.launching.localJavaApplication&quot;
-   modes=&quot;profile&quot;&gt;
-  &lt;/launchDelegate&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified launch delegate is contributed to launch Java applications in profile mode.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/launchModes.exsd b/org.eclipse.debug.core/schema/launchModes.exsd
deleted file mode 100644
index 3f1a95b..0000000
--- a/org.eclipse.debug.core/schema/launchModes.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="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>

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </documentation>

-   </annotation>

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="launchMode">

-      <annotation>

-         <appInfo>

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

-         </appInfo>

-      </annotation>

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

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

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A human-readable label that describes the launch mode

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a launch delegate extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.core.launchModes&quot;&gt;
-  &lt;launchMode
-   mode=&quot;profile&quot;
-   label=&quot;Profile&quot;&gt;
-  &lt;/launchMode&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the profile launch mode is contributed.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/launchers.exsd b/org.eclipse.debug.core/schema/launchers.exsd
deleted file mode 100644
index 02528ab..0000000
--- a/org.eclipse.debug.core/schema/launchers.exsd
+++ /dev/null
@@ -1,220 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.core" id="launchers" name="Launcher (Obsolete)"/>
-      </appInfo>
-      <documentation>
-         This extension point has been replaced by the launchConfigurationTypes extension point. Extensions of this type are obsolete as of release 2.0 and are ignored. This extension point was used to contribute launchers. 
-A launcher was responsible for initiating a debug session 
-or running a program and registering the result with the 
-launch manager.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launcher" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launcher">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a unique identifier that can be used to reference 
-this launcher.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.debug.core.model.ILauncherDelegate&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.ILauncherDelegate"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A comma separated list of modes this launcher supports. 
-The two supported modes are &quot;run&quot; and &quot;debug&quot; - 
-as defined in &lt;samp&gt;org.eclipse.debug.core.ILaunchManager&lt;/samp&gt;. 
-A launcher may be capable of launching in one or both modes.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a label to use for the launcher. This attribute is used by the debug UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="wizard" type="string">
-            <annotation>
-               <documentation>
-                  fully qualified name of the class that implements 
-&lt;samp&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/samp&gt;. 
-This attribute is used by the debug UI. A launcher 
-may contribute a wizard that allows users to configure 
-and launch specific attributes.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.wizard.Wizard:org.eclipse.debug.ui.ILaunchWizard"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="public" type="boolean">
-            <annotation>
-               <documentation>
-                  whether a launcher is publically visible in the debug UI.
-If &quot;true&quot;,  the launcher will be available from the 
-debug UI - the launcher will appear as a choice 
-for a default launcher, launches created by this 
-launcher will appear in the launch history, and the 
-launcher will be available from the drop-down run/debug 
-toolbar actions.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  a description of the launcher.  Currently only used 
-if the wizard attribute is specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="perspective" type="string">
-            <annotation>
-               <documentation>
-                  the identifier of the perspective that will be switched 
-to on a successful launch.  Default value is the 
-identifier for the debug perspective. This attribute 
-is used by the debug UI.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  a relative path of an icon that will represent the launcher 
-in the UI if specified.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launcher extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension 
-      point = &quot;org.eclipse.debug.core.launchers&quot;&gt; 
-         &lt;launcher 
-             id = &quot;com.example.ExampleLauncher&quot;
-             class = &quot;com.example.launchers.ExampleLauncher&quot; 
-             modes = &quot;run, debug&quot;
-        label = &quot;Example Launcher&quot;
-      wizard = &quot;com.example.launchers.ui.ExampleLaunchWizard&quot;     
-      public = &quot;true&quot;
-      description = &quot;Launches example programs&quot;
-      perspective= &quot;com.example.JavaPerspective&quot;&gt;  
-         &lt;/launcher&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the specified launcher supports 
-both run and debug modes. Following a successful launch, 
-the debug UI will change to the Java perspective. When 
-the debug UI presents the user with a list of launchers 
-to choose from, &quot;Example Launcher&quot; will appear as one of 
-the choices with the &quot;Launches example programs&quot; as the 
-description, and the wizard specified by 
-&lt;samp&gt;com.example.launchers.ui.ExampleLaunchWizard&lt;/samp&gt;
-will be used to configure any launch specific details.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;samp&gt;class&lt;/samp&gt; must be a fully 
-qualified class name of a Java class that implements 
-the interface 
-&lt;samp&gt;org.eclipse.debug.core.ILauncherDelegate&lt;/samp&gt;. 
-Value of the attribute &lt;samp&gt;wizard&lt;/samp&gt; must be a 
-fully qualified class name of a Java class that 
-implements &lt;samp&gt;org.eclipse.debug.ui.ILaunchWizard&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd b/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
deleted file mode 100644
index 0141b37..0000000
--- a/org.eclipse.debug.core/schema/logicalStructureTypes.exsd
+++ /dev/null
@@ -1,132 +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>

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

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

-            <annotation>

-               <documentation>

-                  a description of this logical structure

-               </documentation>

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

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

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/memoryRenderings.exsd b/org.eclipse.debug.core/schema/memoryRenderings.exsd
deleted file mode 100644
index 1279fc3..0000000
--- a/org.eclipse.debug.core/schema/memoryRenderings.exsd
+++ /dev/null
@@ -1,208 +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="memoryRenderings" name="Rendering Extension"/>

-      </appInfo>

-      <documentation>

-         This in an internal extension point that allows plugins to define renderings for memory blocks. This extension point is being released for internal use only in Eclipse 3.0, and may become public API in a future release. A rendering is a UI representation of a memory block.  In addition to the HEX representation created by default in the Memory View, a memory block can be presented in other formats.  For example, the raw data of a memory block can be rendered in to text and displayed as ASCII strings.  The data can also be rendered into numerical values and displayed as integer or decimal numbers.
-
-This extension point allows plugins to define renderings suitable for their needs.  They can also define their own rendering views to display the renderings they define.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

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

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

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

-         </choice>

-         <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="rendering">

-      <annotation>

-         <documentation>

-            This element defines a rendering.  A rendering is comprised of an id, a name, optionally, a rendering factory, and a list of rendering properties.

-         </documentation>

-      </annotation>

-      <complexType>

-         <sequence>

-            <choice>

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

-            </choice>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  Required unique identifier for the rendering.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Required name of the rendering

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Optional field for specifying a class that implements IRenderingFactory.  IRenderingFactory is for creating an IMemoryRendering object.  If this field is not defined, then a default rendering factory will be used.  MemoryRendering will be created and stored in the memory rendering manager.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="rendering_property">

-      <annotation>

-         <documentation>

-            For specifying rendering specific properties.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  Rendering this property belongs to.  The rendering must be defined before the property.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Name of the property

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Value of this property

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="default_renderings">

-      <annotation>

-         <documentation>

-            Default renderings to create when an object of &quot;memoryBlockClass&quot; is created.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  Name of the memory block class.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  List of renderings to be created when a memory block of type &quot;memboryBlockClass&quot; is created.  Sepcify rendering ids and delimit them with comma.  The rendering will not be added if its rendering id is not one of the listed valid renderings specified in rendering_binding.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="rendering_binding">

-      <annotation>

-         <documentation>

-            Binds a memory block with a list of renderings.  Allows plugins to define a list of valid renderings for their memory blocks.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  Class name of the memory block to bind the renderings to.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  List of renderings valid for the memory block.  Delimit rendering ids with comma.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Eclipse 3.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2004 International Business Machines Corporation. All rights reserved.
-This program and the accompanying materials are made available under the terms of
-the Common Public License which accompanies this distribution.

-      </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 9878a54..0000000
--- a/org.eclipse.debug.core/schema/processFactories.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="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>

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </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 IProcessFactory.

-               </documentation>

-               <appInfo>

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

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <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="org.eclipse.debug.core.processFactories"&gt;

-		&lt;processFactory

-			    id="com.example.ExampleIdentifier"

-			    class="com.example.ExampleProcessFactory"&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>

-         &lt;p&gt;

-&lt;a href="hglegal.htm"&gt;

- &lt;img SRC="ngibmcpy.gif"

-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."

-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;

-&lt;/p&gt;

-      </documentation>

-   </annotation>

-</schema>

diff --git a/org.eclipse.debug.core/schema/sourceContainerTypes.exsd b/org.eclipse.debug.core/schema/sourceContainerTypes.exsd
deleted file mode 100644
index 4878533..0000000
--- a/org.eclipse.debug.core/schema/sourceContainerTypes.exsd
+++ /dev/null
@@ -1,146 +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>

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </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 use for presentation purposes.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A class that implements ISourceContainerTypeDelegate

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

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

-         &lt;p&gt;
-  &lt;a href=&quot;hglegal.htm&quot;&gt;
-   &lt;img SRC=&quot;ngibmcpy.gif&quot;
-     ALT=&quot;Copyright (c) 2003, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-     BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-  &lt;/p&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/sourceLocators.exsd b/org.eclipse.debug.core/schema/sourceLocators.exsd
deleted file mode 100644
index 883831b..0000000
--- a/org.eclipse.debug.core/schema/sourceLocators.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.core" id="sourceLocators" name="Source Locators"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a mechanism specifying a source locator to be used with a launch configuration.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="sourceLocator" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                 an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="sourceLocator">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this source locator.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements IPersistableSourceLocator.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.model.IPersistableSourceLocator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a human-readable name, describing the type of this source locator.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a source locator extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.debug.core.sourceLocators"&gt;
-		&lt;sourceLocator
-			id="com.example.ExampleIdentifier"
-			class="com.example.ExampleSourceLocator"
-			name="Example Source Locator"&gt;
-		&lt;/sourceLocator&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.model.IPersistableSourceLocator&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/sourcePathComputers.exsd b/org.eclipse.debug.core/schema/sourcePathComputers.exsd
deleted file mode 100644
index 98e28bc..0000000
--- a/org.eclipse.debug.core/schema/sourcePathComputers.exsd
+++ /dev/null
@@ -1,138 +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>

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         3.0

-      </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 ISourcePathComputerDelegate.

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

-         &lt;p&gt;
-  &lt;a href=&quot;hglegal.htm&quot;&gt;
-   &lt;img SRC=&quot;ngibmcpy.gif&quot;
-     ALT=&quot;Copyright (c) 2003 IBM Corporation and others. All Rights Reserved.&quot;
-     BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-  &lt;/p&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.core/schema/statusHandlers.exsd b/org.eclipse.debug.core/schema/statusHandlers.exsd
deleted file mode 100644
index a100b79..0000000
--- a/org.eclipse.debug.core/schema/statusHandlers.exsd
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.core">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.core" id="statusHandlers" name="Status Handlers"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a mechanism for separating the generation and resolution of an error.
-The interaction between the source of the error and the resolution is client-defined.
-It is a client responsibility to look up and delegate to status handlers when an error condition occurs.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="statusHandler" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                 an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="statusHandler">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this status handler.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of the Java class that implements IStatusHandler.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.core.IStatusHandler"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="plugin" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Plug-in identifier that corresponds to the plug-in of the status this handler is registered for.  (i.e. IStatus.getPlugin()).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="code" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the status code this handler is registered for.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a status handler extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.debug.core.statusHandlers"&gt;
-		&lt;statusHandler
-			id="com.example.ExampleIdentifier"
-			class="com.example.ExampleStatusHandler"
-			plugin="com.example.ExamplePluginId"
-			code="123"&gt;
-		&lt;/statusHandler&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified status handler will be registered for to handle status objects with a plug-in identifier of 
-&lt;samp&gt;com.example.ExamplePluginId&lt;/samp&gt; and a status code of &lt;samp&gt;123&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.core.IStatusHandler&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/schema/watchExpressionDelegates.exsd b/org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
deleted file mode 100644
index 44dffee..0000000
--- a/org.eclipse.debug.core/schema/watchExpressionDelegates.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="watchExpressionDelegates" name="watchExpressionDelegates"/>
-      </appInfo>
-      <documentation>
-         This extension provides a mechanism for providing delegates to evaluate watch expressions on a per debug model basis. Watch expression delegates perform evaluations for watch expressions and report the results asynchronously.
-      </documentation>
-   </annotation>
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </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;samp&gt;org.eclipse.debug.core.model.IWatchExpressionDelegate&lt;/samp&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="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="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;
-&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>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.core/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.debug.ui/.classpath b/org.eclipse.debug.ui/.classpath
deleted file mode 100644
index 34566f5..0000000
--- a/org.eclipse.debug.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="ui"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.debug.ui/.cvsignore b/org.eclipse.debug.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/org.eclipse.debug.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/.options b/org.eclipse.debug.ui/.options
deleted file mode 100644
index 03af25d..0000000
--- a/org.eclipse.debug.ui/.options
+++ /dev/null
@@ -1 +0,0 @@
- org.eclipse.debug.ui/debug=true
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/.project b/org.eclipse.debug.ui/.project
deleted file mode 100644
index bd63b2b..0000000
--- a/org.eclipse.debug.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.debug.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.debug.ui/about.html b/org.eclipse.debug.ui/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.debug.ui/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/build.properties b/org.eclipse.debug.ui/build.properties
deleted file mode 100644
index 6b84fa6..0000000
--- a/org.eclipse.debug.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-               .options,\
-               plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-
-source.dtui.jar = ui/
-src.includes=about.html, schema/
diff --git a/org.eclipse.debug.ui/doc/.cvsignore b/org.eclipse.debug.ui/doc/.cvsignore
deleted file mode 100644
index c3d27e2..0000000
--- a/org.eclipse.debug.ui/doc/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-book.css
-org_eclipse_debug_ui_consoleColorProviders.html
-org_eclipse_debug_ui_consoleLineTrackers.html
-org_eclipse_debug_ui_debugModelPresentations.html
-org_eclipse_debug_ui_launchConfigurationTabGroups.html
-org_eclipse_debug_ui_launchConfigurationTypeImages.html
-org_eclipse_debug_ui_launchGroups.html
-org_eclipse_debug_ui_launchShortcuts.html
-org_eclipse_debug_ui_sourceContainerPresentations.html
-org_eclipse_debug_ui_stringVariablePresentations.html
-schema.css
diff --git a/org.eclipse.debug.ui/hglegal2003.htm b/org.eclipse.debug.ui/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.debug.ui/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.ui/icons/full/dlcl16/changevariablevalue_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
deleted file mode 100644
index d33c4d3..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/changevariablevalue_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/collapseall.gif b/org.eclipse.debug.ui/icons/full/dlcl16/collapseall.gif
deleted file mode 100644
index bc3c2be..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
deleted file mode 100644
index 98626a8..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/copy_edit_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/copyviewtoclipboard_tsk.gif b/org.eclipse.debug.ui/icons/full/dlcl16/copyviewtoclipboard_tsk.gif
deleted file mode 100644
index 3a4c6c3..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/copyviewtoclipboard_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
deleted file mode 100644
index 83482f5..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/debuglast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_hide.gif b/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_hide.gif
deleted file mode 100644
index 0c564ff..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_hide.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_right.gif b/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_right.gif
deleted file mode 100644
index ce1a29c..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_right.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_under.gif b/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_under.gif
deleted file mode 100644
index 5bffca2..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/det_pane_under.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
deleted file mode 100644
index 803d910..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/disabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
deleted file mode 100644
index 587f8c9..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/disconnect_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/edtsrclkup_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/edtsrclkup_co.gif
deleted file mode 100644
index 2c6b58b..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/edtsrclkup_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
deleted file mode 100644
index 0e83deb..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/enabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/lock_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/lock_co.gif
deleted file mode 100644
index b776478..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/memoryreset_tsk.gif b/org.eclipse.debug.ui/icons/full/dlcl16/memoryreset_tsk.gif
deleted file mode 100644
index bd3b45d..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/memoryreset_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif b/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
deleted file mode 100644
index f538ca7..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/metharg_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/monitorexpression_tsk.gif b/org.eclipse.debug.ui/icons/full/dlcl16/monitorexpression_tsk.gif
deleted file mode 100644
index dfbf68f..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/monitorexpression_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/printview_tsk.gif b/org.eclipse.debug.ui/icons/full/dlcl16/printview_tsk.gif
deleted file mode 100644
index 4d2722f..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/printview_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
deleted file mode 100644
index ecd1be5..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/rem_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
deleted file mode 100644
index 559e462..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/removememory_tsk.gif b/org.eclipse.debug.ui/icons/full/dlcl16/removememory_tsk.gif
deleted file mode 100644
index 559e462..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/removememory_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
deleted file mode 100644
index dc016e8..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/resume_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
deleted file mode 100644
index b6d7453..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/runlast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/runtoline_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/runtoline_co.gif
deleted file mode 100644
index 50912b3..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/runtoline_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/skip_brkp.gif b/org.eclipse.debug.ui/icons/full/dlcl16/skip_brkp.gif
deleted file mode 100644
index 8b1e9b4..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/skip_brkp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepbystep_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepbystep_co.gif
deleted file mode 100644
index fdbf370..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepbystep_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
deleted file mode 100644
index 61c5ad7..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepinto_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
deleted file mode 100644
index c194def..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepover_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
deleted file mode 100644
index 67fa335..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/stepreturn_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
deleted file mode 100644
index e47777b..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/synced.gif b/org.eclipse.debug.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
deleted file mode 100644
index 1a33ac8..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
deleted file mode 100644
index 4f3dcba..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
deleted file mode 100644
index 9b46637..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/terminate_rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
deleted file mode 100644
index 8341fba..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/tnames_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif b/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
deleted file mode 100644
index edb400b..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/toggledetailpane_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dlcl16/var_cntnt_prvdr.gif b/org.eclipse.debug.ui/icons/full/dlcl16/var_cntnt_prvdr.gif
deleted file mode 100644
index 50b6cec..0000000
--- a/org.eclipse.debug.ui/icons/full/dlcl16/var_cntnt_prvdr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif b/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
deleted file mode 100644
index 6434db2..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/environment_co.gif b/org.eclipse.debug.ui/icons/full/dtool16/environment_co.gif
deleted file mode 100644
index 11640f1..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/environment_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/profile_exc.gif b/org.eclipse.debug.ui/icons/full/dtool16/profile_exc.gif
deleted file mode 100644
index 6c80d29..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/profile_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif b/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
deleted file mode 100644
index 20c6a23..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/dtool16/watch_exp.gif b/org.eclipse.debug.ui/icons/full/dtool16/watch_exp.gif
deleted file mode 100644
index 38f60cd..0000000
--- a/org.eclipse.debug.ui/icons/full/dtool16/watch_exp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
deleted file mode 100644
index 87e57e3..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/changevariablevalue_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/collapseall.gif b/org.eclipse.debug.ui/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index dc923f5..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
deleted file mode 100644
index 7f5fe98..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/copy_edit_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/copyviewtoclipboard_tsk.gif b/org.eclipse.debug.ui/icons/full/elcl16/copyviewtoclipboard_tsk.gif
deleted file mode 100644
index 540860f..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/copyviewtoclipboard_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
deleted file mode 100644
index cb68be1..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/debuglast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_hide.gif b/org.eclipse.debug.ui/icons/full/elcl16/det_pane_hide.gif
deleted file mode 100644
index 42fca3f..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_hide.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_right.gif b/org.eclipse.debug.ui/icons/full/elcl16/det_pane_right.gif
deleted file mode 100644
index d590470..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_right.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_under.gif b/org.eclipse.debug.ui/icons/full/elcl16/det_pane_under.gif
deleted file mode 100644
index dee0cbc..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/det_pane_under.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
deleted file mode 100644
index f6b9f8a..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/disabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
deleted file mode 100644
index d8fdd8a..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/disconnect_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/edtsrclkup_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/edtsrclkup_co.gif
deleted file mode 100644
index 94eedf6..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/edtsrclkup_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/enabled_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/lock_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/memoryreset_tsk.gif b/org.eclipse.debug.ui/icons/full/elcl16/memoryreset_tsk.gif
deleted file mode 100644
index 5f0e7c2..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/memoryreset_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif b/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
deleted file mode 100644
index 9e3a547..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/metharg_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/monitorexpression_tsk.gif b/org.eclipse.debug.ui/icons/full/elcl16/monitorexpression_tsk.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/monitorexpression_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/printview_tsk.gif b/org.eclipse.debug.ui/icons/full/elcl16/printview_tsk.gif
deleted file mode 100644
index 045de75..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/printview_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
deleted file mode 100644
index 28a3785..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/rem_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/removememory_tsk.gif b/org.eclipse.debug.ui/icons/full/elcl16/removememory_tsk.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/removememory_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
deleted file mode 100644
index 9b43960..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/resume_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
deleted file mode 100644
index 93919e9..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/runlast_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/runtoline_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/runtoline_co.gif
deleted file mode 100644
index ec2c353..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/runtoline_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/skip_brkp.gif b/org.eclipse.debug.ui/icons/full/elcl16/skip_brkp.gif
deleted file mode 100644
index c1751c3..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/skip_brkp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepbystep_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepbystep_co.gif
deleted file mode 100644
index 4635a71..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepbystep_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
deleted file mode 100644
index 75d165b..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepinto_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
deleted file mode 100644
index 1ec36ae..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepover_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
deleted file mode 100644
index 4c2f219..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/stepreturn_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
deleted file mode 100644
index 161e3f5..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/synced.gif b/org.eclipse.debug.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
deleted file mode 100644
index 6d47276..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_all_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
deleted file mode 100644
index dc47edf..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
deleted file mode 100644
index 8124628..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/terminate_rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
deleted file mode 100644
index 330fc38..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/tnames_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif b/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
deleted file mode 100644
index ea13622..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/toggledetailpane_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/elcl16/var_cntnt_prvdr.gif b/org.eclipse.debug.ui/icons/full/elcl16/var_cntnt_prvdr.gif
deleted file mode 100644
index 245c72e..0000000
--- a/org.eclipse.debug.ui/icons/full/elcl16/var_cntnt_prvdr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif b/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
deleted file mode 100644
index afe775b..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/debug_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/environment_co.gif b/org.eclipse.debug.ui/icons/full/etool16/environment_co.gif
deleted file mode 100644
index 716df43..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/environment_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/profile_exc.gif b/org.eclipse.debug.ui/icons/full/etool16/profile_exc.gif
deleted file mode 100644
index dee84fb..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/profile_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif b/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
deleted file mode 100644
index ddd88df..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/etool16/watch_exp.gif b/org.eclipse.debug.ui/icons/full/etool16/watch_exp.gif
deleted file mode 100644
index d37495a..0000000
--- a/org.eclipse.debug.ui/icons/full/etool16/watch_exp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif b/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
deleted file mode 100644
index f529c5a..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/breakpoint_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif b/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
deleted file mode 100644
index ac5431f..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/debug_persp.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif b/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
deleted file mode 100644
index ac5431f..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/debug_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/details_view.gif b/org.eclipse.debug.ui/icons/full/eview16/details_view.gif
deleted file mode 100644
index c81630a..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/details_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/memory_view.gif b/org.eclipse.debug.ui/icons/full/eview16/memory_view.gif
deleted file mode 100644
index 7ce1112..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/memory_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/register_view.gif b/org.eclipse.debug.ui/icons/full/eview16/register_view.gif
deleted file mode 100644
index 7134210..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/register_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif b/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
deleted file mode 100644
index e35f594..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/variable_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif b/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
deleted file mode 100644
index c55cb58..0000000
--- a/org.eclipse.debug.ui/icons/full/eview16/watchlist_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/arraypartition_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/arraypartition_obj.gif
deleted file mode 100644
index 052915a..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/arraypartition_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
deleted file mode 100644
index a831fe7..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
deleted file mode 100644
index 74b26c3..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/brkpd_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/common_tab.gif b/org.eclipse.debug.ui/icons/full/obj16/common_tab.gif
deleted file mode 100644
index d11c996..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/common_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
deleted file mode 100644
index c1e4ee3..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/debugt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/debugts_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/debugts_obj.gif
deleted file mode 100644
index 0d71e42..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/debugts_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
deleted file mode 100644
index 81fb7b4..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/debugtt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/environment_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/environment_obj.gif
deleted file mode 100644
index 3150162..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/environment_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/envvar_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/envvar_obj.gif
deleted file mode 100644
index d079ebb..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/envvar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
deleted file mode 100644
index 66fd649..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/expression_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/fldr_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/fldr_obj.gif
deleted file mode 100644
index 51e703b..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/genericreggroup_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/genericreggroup_obj.gif
deleted file mode 100644
index bb86ad3..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/genericreggroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/genericregister_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/genericregister_obj.gif
deleted file mode 100644
index 7134210..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/genericregister_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
deleted file mode 100644
index 1f4ec30..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/genericvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/inst_ptr.gif b/org.eclipse.debug.ui/icons/full/obj16/inst_ptr.gif
deleted file mode 100644
index 5a192d8..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/inst_ptr.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/inst_ptr_top.gif b/org.eclipse.debug.ui/icons/full/obj16/inst_ptr_top.gif
deleted file mode 100644
index a9d1c61..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/inst_ptr_top.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/jar_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/jar_obj.gif
deleted file mode 100644
index 2fa1d77..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/jar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
deleted file mode 100644
index b0dfd3b..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/ldebug_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
deleted file mode 100644
index 9acfceb..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/lrun_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/memory_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/memory_obj.gif
deleted file mode 100644
index cdc52ef..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/memory_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/memorychanged_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/memorychanged_obj.gif
deleted file mode 100644
index 0733d3d..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/memorychanged_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
deleted file mode 100644
index adf3a2e..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/osprc_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
deleted file mode 100644
index 9f0d791..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/osprct_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/persp_tab.gif b/org.eclipse.debug.ui/icons/full/obj16/persp_tab.gif
deleted file mode 100644
index 9328079..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/persp_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/prj_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/prj_obj.gif
deleted file mode 100644
index a4ea580..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj.gif
deleted file mode 100644
index b11bfe2..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif b/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
deleted file mode 100644
index d58def4..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/readwrite_obj_disabled.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/refresh_tab.gif b/org.eclipse.debug.ui/icons/full/obj16/refresh_tab.gif
deleted file mode 100644
index 3ec515b..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/refresh_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/rundebug.gif b/org.eclipse.debug.ui/icons/full/obj16/rundebug.gif
deleted file mode 100644
index 809cca0..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/rundebug.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
deleted file mode 100644
index f1e585b..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/stckframe_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
deleted file mode 100644
index 5211f2c..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/stckframe_running_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
deleted file mode 100644
index 76596dd..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/terminatedlaunch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
deleted file mode 100644
index 31fd249..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/thread_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
deleted file mode 100644
index 45c23a9..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/threads_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif b/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
deleted file mode 100644
index a7302ed..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/threadt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/obj16/workset.gif b/org.eclipse.debug.ui/icons/full/obj16/workset.gif
deleted file mode 100644
index 2e4de3d..0000000
--- a/org.eclipse.debug.ui/icons/full/obj16/workset.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/error.gif b/org.eclipse.debug.ui/icons/full/ovr16/error.gif
deleted file mode 100644
index 119dccc..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/error.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif b/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
deleted file mode 100644
index e1e4536..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/stcksync_ov.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif b/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
deleted file mode 100644
index a9a3cdc..0000000
--- a/org.eclipse.debug.ui/icons/full/ovr16/transparent.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.gif
deleted file mode 100644
index 2be3b24..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/addsrcloc_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
deleted file mode 100644
index 4c59d0b..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/debug_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.gif
deleted file mode 100644
index bdaa7fb..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/edtsrclkup_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.gif
deleted file mode 100644
index 87599a2..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/profile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif b/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
deleted file mode 100644
index afd6f21..0000000
--- a/org.eclipse.debug.ui/icons/full/wizban/run_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/ngibmcpy2003.gif b/org.eclipse.debug.ui/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.debug.ui/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.ui/plugin.properties b/org.eclipse.debug.ui/plugin.properties
deleted file mode 100644
index 809be3f..0000000
--- a/org.eclipse.debug.ui/plugin.properties
+++ /dev/null
@@ -1,239 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
-###############################################################################
-
-pluginName=Debug UI
-
-BreakpointsView.name=Breakpoints
-commonTabName=&Common
-ConsoleColorProvidersExtensionName= Console Color Providers
-ConsoleFontDefinition.description= The debug console text font is used by the debug console
-ConsoleFontDefinition.label= Debug Console Text Font
-ConsoleLineTrackersExtensionName= Console Line Trackers
-LaunchingPreferencePage.name=Launching
-ViewManagementPreferencePage.name=View Management
-ConsolePreferencePage.name=Console
-DebugModelContextBindingsName=Debug Model Context Bindings
-DebugModelActivityBindingsName=Debug Model Activity Bindings
-ContextViewBindingsName=Context View Bindings
-
-BreakpoingActionSet.label=Breakpoints
-CopyToClipboardAction.label=&Copy Stack
-CopyVariablesToClipboardAction.label=Copy &Variables
-DebugActionSet.label=Debug
-DebugConfigurations.label=D&ebug...
-debugCurrentInstructionPointer=Debug Current Instruction Pointer
-debugCallStack=Debug Call Stack
-DebugDropDownAction.label=Debug
-DebugHistoryMenuAction.label=Debug &History
-DebugLastAction.label=&Debug Last Launched
-DebugLaunchGroup.label=Debu&g
-DebugModelPresentationExtensionName=Debug Model Presentation
-DebugPerspective.name=Debug
-DebugPreferencePage.name=Run/Debug
-DebugView.name=Debug
-DebugViewsCategory.name=Debug
-DebugWithConfigurationAction.label=Debug &As
-DetailPaneFontDefinition.label=Detail Pane Text Font
-DetailPaneFontDefinition.description=The detail pane text font is used in the detail panes of debug views
-DisableBreakpointsAction.label=&Disable
-DisconnectAction.label=Disconn&ect
-DisconnectAction.tooltip=Disconnect
-EnableBreakpointsAction.label=&Enable
-ExpressionView.name=Expressions
-LaunchActionSet.label=Launch
-LaunchConfigurationTabGroupExtensionName=Launch Configuration Tab Group
-LaunchShortcutsName=Launch Shortcut
-LaunchConfigurationTypeImageExtensionName=Launch Configuration Type Image 
-LaunchConfigurationTypePropertyPage.name=Launch Configuration Type
-LaunchConfigurationTypesPreferencePage.name=Launch Configuration Types
-LauncherPropertyPage.name=Launcher
-LaunchGroupsExtensionName=Launch Groups
-OpenDebugConfigurations.label=De&bug...
-OpenRunConfigurations.label=Ru&n...
-OpenProfileConfigurations.label=&Profile...
-processPropertyPageName=Process Information
-ProcessesView.name=Processes
-ProfileLaunchGroup.label=&Profile
-ProfileDropDownAction.label=Profile
-ProfileWithConfigurationAction.label=Pro&file As
-ProfileHistoryMenuAction.label=Profile Histor&y
-ProfileLastAction.label=Profi&le Last Launched
-ProfileActionSet.label=Profile
-RegistersView.name=Registers
-RelaunchAction.label=Re&launch
-RemoveAction.label=Rem&ove
-RemoveAllAction.label=Remove A&ll
-RemoveAllBreakpointsAction.tooltip=Remove All Breakpoints
-RemoveAllExpressionsAction.tooltip=Remove All Expressions
-RemoveAllTerminatedAction.label=Remove &All Terminated
-RemoveAllTerminatedAction.tooltip=Remove All Terminated Launches
-RemoveBreakpointAction.tooltip=Remove Selected Breakpoints
-RemoveExpressionAction.tooltip=Remove Selected Expressions
-ResumeAction.label=Resu&me
-ResumeAction.tooltip=Resume
-RunDropDownAction.label=&Run
-RunMenu.label=&Run
-RunLastAction.label=&Run Last Launched
-RunLaunchGroup.label=Ru&n
-RunConfigurations.label=R&un Configurations...
-RunHistoryMenuAction.label=R&un History
-RunWithConfigurationAction.label=Run A&s
-RunToLine.label=Run to &Line
-SelectAll.label=Select &All
-StepWithFiltersAction.label=Use Step &Filters
-StepWithFiltersAction.tooltip=Use Step Filters/Step Debug
-StepIntoAction.label=Step &Into
-StepIntoAction.tooltip=Step Into
-StepOverAction.label=Step &Over
-StepOverAction.tooltip=Step Over
-StepReturnAction.label=Step Ret&urn
-StepReturnAction.tooltip=Step Return
-StringVariablePresentationsName=String Variable Presentations
-SuspendAction.label=&Suspend
-SuspendAction.tooltip=Suspend
-TerminateAction.label=&Terminate
-TerminateAction.tooltip=Terminate
-TerminateAllAction.label=Termi&nate All
-TerminateAndRemoveAction.label=Terminate and Remo&ve
-ToggleBreakpointAction.label=Toggle Line Brea&kpoint
-ToggleMethodBreakpointAction.label=Toggle &Method Breakpoint
-ToggleWatchpointAction.label=Toggle &Watchpoint
-VariablesView.name=Variables
-StringVariablePreferencePage.name=String Substitution
-
-#string subtitution variables
-string_prompt.description=Returns the text value entered into a prompt dialog. When one argument is provided, it is used as a prompt hint on the input dialog. When a second argument is provided, it is used as an initial value in the input dialog. The first and second arguments must be separated with a ':'.
-file_prompt.description=Returns the absolute file system path of a file chosen in a file selection dialog. When one argument is provided, it is used a prompt hint on the dialog title. When a second argument is provided, it is used as an initial value for the file selection dialog. The first and second arguments must be separated with a ':'.
-folder_prompt.description=Returns the absolute file system path of a directory chosen in a directory selection dialog. When one argument is provided, it is used a prompt hint on the dialog title. When a second argument is provided, it is used as an initial value for the directory selection dialog. The first and second arguments must be separated with a ':'.
-container_loc.description=Returns the absolute file system path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-container_path.description=Returns the workspace relative path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-container_name.description=Returns the name of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_loc.description=Returns the absolute file system path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_path.description=Returns the workspace relative path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_name.description=Returns the name of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_loc.description=Returns the absolute file system path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_path.description=Returns the workspace relative path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_name.description=Returns the name of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-workspace_loc.description=Returns the absolute file system path of the workspace root. When an argument is specified, the absolute file system path of the resource identified by a workspace relative path is returned.
-selected_text.description=Returns the text currently selected in the active editor.
-
-providerName=Eclipse.org
-
-runCategory.name= Run/Debug
-runCategory.description= Run/Debug command category
-
-NoSourceFoundEditor.name= No Source Found
-
-DetailPaneWordWrapAction.label=&Wrap Text in Details Pane
-DetailPaneWordWrapAction.tooltip=Wrap text in the Details pane
-
-Context.debugging.description= Debugging Programs
-Context.debugging.name= Debugging
-
-ActionDefinition.toggleStepFilters.name= Toggle Step Filters
-ActionDefinition.toggleStepFilters.description= Toggles enablement of debug step filters
-
-ActionDefinition.stepInto.name= Step Into
-ActionDefinition.stepInto.description= Step into
-
-ActionDefinition.stepOver.name= Step Over
-ActionDefinition.stepOver.description= Step over
-
-ActionDefinition.stepReturn.name= Step Return
-ActionDefinition.stepReturn.description= Step return
-
-ActionDefinition.resume.name=Resume
-ActionDefinition.resume.description=Resume
-
-ActionDefinition.runToLine.name=Run to Line
-ActionDefinition.runToLine.description=Resume and break when execution reaches the current line
-
-ActionDefinition.terminate.name=Terminate
-ActionDefinition.terminate.description=Terminate
-
-ActionDefinition.toggleBreakpoint.name=Toggle Line Breakpoint
-ActionDefinition.toggleBreakpoint.description=Creates or removes a line breakpoint
-
-ActionDefinition.suspend.name=Suspend
-ActionDefinition.suspend.description=Suspend
-
-ActionDefinition.openProfile.name=Profile...
-ActionDefinition.openProfile.description=Open profile launch configuration dialog
-
-ActionDefinition.profileLast.name=Profile Last Launched
-ActionDefinition.profileLast.description=Profile the last launch in profile mode
-
-ActionDefinition.openRun.name=Run...
-ActionDefinition.openRun.description=Open run launch configuration dialog
-
-ActionDefinition.debugLast.name=Debug Last Launched
-ActionDefinition.debugLast.description=Debug the last launch in debug mode
-
-ActionDefinition.runLast.name=Run Last Launched
-ActionDefinition.runLast.description=Relaunch the last launch in run mode
-
-ActionDefinition.openDebug.name=Debug...
-ActionDefinition.openDebug.description=Open debug launch configuration dialog
-
-ActionDefinition.followHyperlink.name= Follow Hyperlink
-ActionDefinition.followHyperlink.description= Follow a hyperlink in the debug console
-
-ActionDefinition.toggleWatchpoint.name=Toggle Watchpoint
-ActionDefinition.toggleWatchpoint.description=Creates or removes a watchpoint
-
-ActionDefinition.toggleMethodBreakpoint.name=Toggle Method Breakpoint
-ActionDefinition.toggleMethodBreakpoint.description=Creates or removes a method breakpoint
-
-ActionDefinition.skipAllBreakpoints.name=Skip All Breakpoints
-ActionDefinition.skipAllBreakpoints.description=Sets whether or not any breakpoint should suspend execution
-
-SkipAllBreakpointsAction.label=&Skip All Breakpoints
-editWatchExpressionAction.label=&Edit Watch Expression
-editWatchExpressionAction.tooltip=Edit the selected watch expression
-reevaluateWatchExpressionAction.label=&Reevaluate Watch Expression
-reevaluateWatchExpressionAction.tooltip=Reevaluate the watch expression in the selected stack frame
-addWatchExpressionAction.label=&Add Watch Expression
-addWatchExpressionAction.tooltip=Create a new watch expression
-convertToWatchExpressionAction.label=Convert to &Watch Expression
-convertToWatchExpressionAction.tooltip=Convert an inspect expression to a watch expression
-Watch.label=Wa&tch
-
-enableWatchExpressionAction.label=Enable
-enableWatchExpressionAction.tooltip=Enable watch expression
-
-disableWatchExpressionAction.label=Disable
-disableWatchExpressionAction.tooltip=Disable watch expression
-
-BreakpointMarkerPreference.label= Breakpoints
-
-SourceContainerPresentationsName = Source Container Presentations
-
-DebugContextMenu.label=&Debug
-RunContextMenu.label=&Run
-ProfileContextMenu.label=&Profile
-LaunchMenuNoneApplicable.label=(None Applicable)
-
-containerName.workingSet = Working set
-sourceNotFoundEditorName=Source Not Found Editor
-
-debugPresentation.label= Debug
-
-MemoryViewName = Memory
-MemoryRenderingViewName = Memory Rendering
-
-MemoryViewTableFontDefinition.label=Memory views table Font
-MemoryViewTableFontDefinition.description=The font used in memory views tables.
-
-RawHex = Hex
-rawHexMemoryRendering.name= Raw Hex Memory Rendering
-
-ViewManagementAction.label=&View Management...
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/plugin.xml b/org.eclipse.debug.ui/plugin.xml
deleted file mode 100644
index 949209a..0000000
--- a/org.eclipse.debug.ui/plugin.xml
+++ /dev/null
@@ -1,1920 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.debug.ui"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.debug.internal.ui.DebugUIPlugin">
-
-   <runtime>
-      <library name="dtui.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.debug.ui,org.eclipse.debug.internal.ui"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.expressions"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-<!-- Extension points -->
-   <extension-point id="consoleColorProviders" name="%ConsoleColorProvidersExtensionName" schema="schema/consoleColorProviders.exsd"/>
-   <extension-point id="consoleLineTrackers" name="%ConsoleLineTrackersExtensionName" schema="schema/consoleLineTrackers.exsd"/>
-   <extension-point id="debugModelPresentations" name="%DebugModelPresentationExtensionName" schema="schema/debugModelPresentations.exsd"/>
-   <extension-point id="launchConfigurationTabGroups" name="%LaunchConfigurationTabGroupExtensionName" schema="schema/launchConfigurationTabGroups.exsd"/>
-   <extension-point id="launchConfigurationTypeImages" name="%LaunchConfigurationTypeImageExtensionName" schema="schema/launchConfigurationTypeImages.exsd"/>
-   <extension-point id="launchGroups" name="%LaunchGroupsExtensionName" schema="schema/launchGroups.exsd"/>
-   <extension-point id="launchShortcuts" name="%LaunchShortcutsName" schema="schema/launchShortcuts.exsd"/>
-   <extension-point id="stringVariablePresentations" name="%StringVariablePresentationsName"/>
-   <extension-point id="sourceContainerPresentations" name="%SourceContainerPresentationsName" schema="schema/sourceContainerPresentations.exsd"/>
-   <extension-point id="debugModelContextBindings" name="%DebugModelContextBindingsName" schema="schema/debugModelContextBindings.exsd"/>
-   <extension-point id="contextViewBindings" name="%ContextViewBindingsName" schema="schema/contextViewBindings.exsd"/>
-
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%DebugPerspective.name"
-            icon="icons/full/eview16/debug_persp.gif"
-            class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory"
-            id="org.eclipse.debug.ui.DebugPerspective">
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.debug.ui.DebugPerspective">
-         <actionSet
-               id="org.eclipse.ui.NavigateActionSet">
-         </actionSet>
-		 <actionSet
-               id="org.eclipse.debug.ui.breakpointActionSet">
-         </actionSet>         
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%DebugViewsCategory.name"
-            id="org.eclipse.debug.ui">
-      </category>
-      <view
-            name="%DebugView.name"
-            icon="icons/full/eview16/debug_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.launch.LaunchView"
-            id="org.eclipse.debug.ui.DebugView">
-      </view>
-      <view
-            name="%BreakpointsView.name"
-            icon="icons/full/eview16/breakpoint_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView"
-            id="org.eclipse.debug.ui.BreakpointView">
-      </view>
-      <view
-            name="%VariablesView.name"
-            icon="icons/full/eview16/variable_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.variables.VariablesView"
-            id="org.eclipse.debug.ui.VariableView">
-      </view>
-      <view
-            name="%ExpressionView.name"
-            icon="icons/full/eview16/watchlist_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.expression.ExpressionView"
-            id="org.eclipse.debug.ui.ExpressionView">
-      </view>
-      <view
-            name="%RegistersView.name"
-            icon="icons/full/eview16/register_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.registers.RegistersView"
-            id="org.eclipse.debug.ui.RegisterView">
-      </view>
-      <view
-            name="%MemoryViewName"
-            icon="icons/full/eview16/memory_view.gif"
-            category="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.views.memory.MemoryView"
-            id="org.eclipse.debug.ui.MemoryView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%DebugPreferencePage.name"
-            class="org.eclipse.debug.internal.ui.preferences.DebugPreferencePage"
-            id="org.eclipse.debug.ui.DebugPreferencePage">
-      </page>
-      <page
-            name="%LaunchingPreferencePage.name"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.LaunchingPreferencePage"
-            id="org.eclipse.debug.ui.LaunchingPreferencePage">
-      </page>
-      <page
-            name="%ViewManagementPreferencePage.name"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.ViewManagementPreferencePage"
-            id="org.eclipse.debug.ui.ViewManagementPreferencePage">
-      </page>
-      <page
-            name="%ConsolePreferencePage.name"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.ConsolePreferencePage"
-            id="org.eclipse.debug.ui.ConsolePreferencePage">
-      </page>
-      <page
-            name="%StringVariablePreferencePage.name"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.debug.internal.ui.preferences.StringVariablePreferencePage"
-            id="org.eclipse.debug.ui.StringVariablePreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%DebugActionSet.label"
-            visible="false"
-            id="org.eclipse.debug.ui.debugActionSet">
-         <menu
-               label="%RunMenu.label"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="stepGroup">
-            </separator>
-            <groupMarker
-                  name="stepIntoGroup">
-            </groupMarker>
-            <groupMarker
-                  name="stepOverGroup">
-            </groupMarker>
-            <groupMarker
-                  name="stepReturnGroup">
-            </groupMarker>
-            <groupMarker
-                  name="emptyStepGroup">
-            </groupMarker>
-         </menu>
-         <action
-               id="org.eclipse.debug.ui.actions.ToggleStepFilters"
-               hoverIcon="icons/full/elcl16/stepbystep_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.ToggleStepFiltersActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.ToggleStepFilters"
-               disabledIcon="icons/full/dlcl16/stepbystep_co.gif"
-               icon="icons/full/elcl16/stepbystep_co.gif"
-               helpContextId="step_with_filters_action_context"
-               label="%StepWithFiltersAction.label"
-               menubarPath="org.eclipse.ui.run/emptyStepGroup"
-               style="toggle"
-               state="false">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.RunToLine"
-               class="org.eclipse.debug.internal.ui.actions.RetargetRunToLineAction"
-               definitionId="org.eclipse.debug.ui.commands.RunToLine"
-               helpContextId="run_to_line_action_context"
-               disabledIcon="icons/full/dlcl16/runtoline_co.gif"
-               icon="icons/full/elcl16/runtoline_co.gif"
-               label="%RunToLine.label"
-               menubarPath="org.eclipse.ui.run/emptyStepGroup">
-         </action>                  
-         <action
-               id="org.eclipse.debug.ui.actions.StepReturn"
-               hoverIcon="icons/full/elcl16/stepreturn_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepReturn"
-               disabledIcon="icons/full/dlcl16/stepreturn_co.gif"
-               icon="icons/full/elcl16/stepreturn_co.gif"
-               helpContextId="step_return_action_context"
-               label="%StepReturnAction.label"
-               menubarPath="org.eclipse.ui.run/stepReturnGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.StepOver"
-               hoverIcon="icons/full/elcl16/stepover_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepOver"
-               disabledIcon="icons/full/dlcl16/stepover_co.gif"
-               icon="icons/full/elcl16/stepover_co.gif"
-               helpContextId="step_over_action_context"
-               label="%StepOverAction.label"
-               menubarPath="org.eclipse.ui.run/stepOverGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.StepInto"
-               hoverIcon="icons/full/elcl16/stepinto_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.StepInto"
-               disabledIcon="icons/full/dlcl16/stepinto_co.gif"
-               icon="icons/full/elcl16/stepinto_co.gif"
-               helpContextId="step_into_action_context"
-               label="%StepIntoAction.label"
-               menubarPath="org.eclipse.ui.run/stepIntoGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.Terminate"
-               hoverIcon="icons/full/elcl16/terminate_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Terminate"
-               disabledIcon="icons/full/dlcl16/terminate_co.gif"
-               icon="icons/full/elcl16/terminate_co.gif"
-               helpContextId="terminate_action_context"
-               label="%TerminateAction.label"
-               menubarPath="org.eclipse.ui.run/stepGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.Suspend"
-               hoverIcon="icons/full/elcl16/suspend_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Suspend"
-               disabledIcon="icons/full/dlcl16/suspend_co.gif"
-               icon="icons/full/elcl16/suspend_co.gif"
-               helpContextId="suspend_action_context"
-               label="%SuspendAction.label"
-               menubarPath="org.eclipse.ui.run/stepGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.Resume"
-               hoverIcon="icons/full/elcl16/resume_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"
-               definitionId="org.eclipse.debug.ui.commands.Resume"
-               disabledIcon="icons/full/dlcl16/resume_co.gif"
-               icon="icons/full/elcl16/resume_co.gif"
-               helpContextId="resume_action_context"
-               label="%ResumeAction.label"
-               menubarPath="org.eclipse.ui.run/stepGroup">
-         </action>
-      </actionSet>
-   </extension>         
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%LaunchActionSet.label"
-            visible="false"
-            id="org.eclipse.debug.ui.launchActionSet">
-         <menu
-               label="%RunMenu.label"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="relaunchGroup">
-            </separator>
-            <separator
-                  name="runGroup">
-            </separator>
-            <separator
-                  name="debugGroup">
-            </separator>
-            <separator
-                  name="emptyLaunchGroup">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-               label="%OpenRunConfigurations.label"
-               helpContextId="open_run_configurations_action_context"
-               class="org.eclipse.debug.internal.ui.actions.OpenRunConfigurations"
-               menubarPath="org.eclipse.ui.run/runGroup"
-               id="org.eclipse.debug.ui.actions.OpenRunConfigurations">
-         </action>
-         <action
-               label="%RunWithConfigurationAction.label"
-               pulldown="true"
-               helpContextId="run_with_configuration_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RunAsAction"
-               menubarPath="org.eclipse.ui.run/runGroup"
-               id="org.eclipse.debug.internal.ui.actions.RunWithConfigurationAction">
-         </action>
-         <action
-               label="%RunHistoryMenuAction.label"
-               pulldown="true"
-               helpContextId="run_history_menu_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction"
-               menubarPath="org.eclipse.ui.run/runGroup"
-               id="org.eclipse.debug.internal.ui.actions.RunHistoryMenuAction">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.DebugLast"
-               hoverIcon="icons/full/elcl16/debuglast_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.DebugLastAction"
-               definitionId="org.eclipse.debug.ui.commands.DebugLast"
-               disabledIcon="icons/full/dlcl16/debuglast_co.gif"
-               icon="icons/full/elcl16/debuglast_co.gif"
-               helpContextId="debug_last_action_context"
-               label="%DebugLastAction.label"
-               menubarPath="org.eclipse.ui.run/relaunchGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.RunLast"
-               hoverIcon="icons/full/elcl16/runlast_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RunLastAction"
-               definitionId="org.eclipse.debug.ui.commands.RunLast"
-               disabledIcon="icons/full/dlcl16/runlast_co.gif"
-               icon="icons/full/elcl16/runlast_co.gif"
-               helpContextId="run_last_action_context"
-               label="%RunLastAction.label"
-               menubarPath="org.eclipse.ui.run/relaunchGroup">
-         </action>
-         <action
-               id="org.eclipse.debug.internal.ui.actions.RunDropDownAction"
-               toolbarPath="debug"
-               hoverIcon="icons/full/etool16/run_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.RunToolbarAction"
-               disabledIcon="icons/full/dtool16/run_exc.gif"
-               icon="icons/full/etool16/run_exc.gif"
-               helpContextId="run_action_context"
-               label="%RunDropDownAction.label"
-               pulldown="true">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-               label="%OpenDebugConfigurations.label"
-               helpContextId="open_debug_configurations_action_context"
-               class="org.eclipse.debug.internal.ui.actions.OpenDebugConfigurations"
-               menubarPath="org.eclipse.ui.run/debugGroup"
-               id="org.eclipse.debug.ui.actions.OpenDebugConfigurations">
-         </action>
-         <action
-               label="%DebugWithConfigurationAction.label"
-               pulldown="true"
-               helpContextId="debug_with_configuration_action_context"
-               class="org.eclipse.debug.internal.ui.actions.DebugAsAction"
-               menubarPath="org.eclipse.ui.run/debugGroup"
-               id="org.eclipse.debug.internal.ui.actions.DebugWithConfigurationAction">
-         </action>
-         <action
-               label="%DebugHistoryMenuAction.label"
-               pulldown="true"
-               helpContextId="debug_history_menu_action_context"
-               class="org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction"
-               menubarPath="org.eclipse.ui.run/debugGroup"
-               id="org.eclipse.debug.internal.ui.actions.DebugHistoryMenuAction">
-         </action>
-         <action
-               id="org.eclipse.debug.internal.ui.actions.DebugDropDownAction"
-               toolbarPath="debug"
-               hoverIcon="icons/full/etool16/debug_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.DebugToolbarAction"
-               disabledIcon="icons/full/dtool16/debug_exc.gif"
-               icon="icons/full/etool16/debug_exc.gif"
-               helpContextId="debug_action_context"
-               label="%DebugDropDownAction.label"
-               pulldown="true">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%BreakpoingActionSet.label"
-            visible="false"
-            id="org.eclipse.debug.ui.breakpointActionSet">
-         <menu
-               label="%RunMenu.label"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="breakpointGroup">
-            </separator>
-            <groupMarker
-                  name="lineBreakpointGroup">
-            </groupMarker>
-            <groupMarker
-                  name="emptyBreakpointGroup">
-            </groupMarker>
-         </menu>
-          <action
-               definitionId="org.eclipse.debug.ui.commands.SkipAllBreakpoints"
-               label="%SkipAllBreakpointsAction.label"
-               icon="icons/full/elcl16/skip_brkp.gif"
-               helpContextId="skip_all_breakpoints_action_context"
-               class="org.eclipse.debug.internal.ui.actions.SkipAllBreakpointsAction"
-               menubarPath="org.eclipse.ui.run/breakpointGroup"
-               style="toggle"
-               id="org.eclipse.debug.ui.actions.SkipAllBreakpoints">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.ToggleWatchpoint"
-               label="%ToggleWatchpointAction.label"
-               icon="icons/full/obj16/readwrite_obj.gif"
-               disabledIcon="icons/full/obj16/readwrite_obj_disabled.gif"
-               helpContextId="toggle_watchpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RetargetWatchpointAction"
-               menubarPath="org.eclipse.ui.run/breakpointGroup"
-               id="org.eclipse.debug.ui.actions.ToggleWatchpoint">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint"
-               label="%ToggleMethodBreakpointAction.label"
-               icon="icons/full/obj16/brkp_obj.gif"
-               disabledIcon="icons/full/obj16/brkpd_obj.gif"
-               helpContextId="toggle_method_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RetargetMethodBreakpointAction"
-               menubarPath="org.eclipse.ui.run/breakpointGroup"
-               id="org.eclipse.debug.ui.actions.ToggleMethodBreakpoint">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.ToggleBreakpoint"
-               label="%ToggleBreakpointAction.label"
-               icon="icons/full/obj16/brkp_obj.gif"
-               disabledIcon="icons/full/obj16/brkpd_obj.gif"
-               helpContextId="toggle_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RetargetToggleLineBreakpointAction"
-               menubarPath="org.eclipse.ui.run/breakpointGroup"
-               id="org.eclipse.debug.ui.actions.ToggleBreakpoint">
-         </action>         
-      </actionSet>
-   </extension>   
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ProfileActionSet.label"
-            visible="false"
-            id="org.eclipse.debug.ui.profileActionSet">
-         <menu
-               label="%RunMenu.label"
-               path="emptyLaunchGroup"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="relaunchGroup">
-            </separator>
-            <separator
-                  name="profileGroup">
-            </separator>
-         </menu>
-         <action
-               id="org.eclipse.debug.internal.ui.actions.ProfileDropDownAction"
-               toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
-               hoverIcon="icons/full/etool16/profile_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.ProfileToolbarAction"
-               disabledIcon="icons/full/dtool16/profile_exc.gif"
-               icon="icons/full/etool16/profile_exc.gif"
-               helpContextId="profile_action_context"
-               label="%ProfileDropDownAction.label"
-               pulldown="true">
-         </action>
-         <action
-               definitionId="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-               label="%OpenProfileConfigurations.label"
-               helpContextId="open_profile_configurations_action_context"
-               class="org.eclipse.debug.internal.ui.actions.OpenProfileConfigurations"
-               menubarPath="org.eclipse.ui.run/profileGroup"
-               id="org.eclipse.debug.ui.actions.OpenProfileConfigurations">
-         </action>
-         <action
-               label="%ProfileWithConfigurationAction.label"
-               pulldown="true"
-               helpContextId="profile_with_configuration_action_context"
-               class="org.eclipse.debug.internal.ui.actions.ProfileAsAction"
-               menubarPath="org.eclipse.ui.run/profileGroup"
-               id="org.eclipse.debug.internal.ui.actions.ProfileWithConfigurationAction">
-         </action>
-         <action
-               label="%ProfileHistoryMenuAction.label"
-               pulldown="true"
-               helpContextId="profile_history_menu_action_context"
-               class="org.eclipse.debug.internal.ui.actions.ProfileHistoryMenuAction"
-               menubarPath="org.eclipse.ui.run/profileGroup"
-               id="org.eclipse.debug.internal.ui.actions.ProfileHistoryMenuAction">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.actions.ProfileLast"
-               hoverIcon="icons/full/etool16/profile_exc.gif"
-               class="org.eclipse.debug.internal.ui.actions.ProfileLastAction"
-               definitionId="org.eclipse.debug.ui.commands.ProfileLast"
-               disabledIcon="icons/full/dtool16/profile_exc.gif"
-               icon="icons/full/etool16/profile_exc.gif"
-               helpContextId="profile_last_action_context"
-               label="%ProfileLastAction.label"
-               menubarPath="org.eclipse.ui.run/relaunchGroup">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.viewActions">
-      <viewContribution
-            targetID="org.eclipse.debug.ui.DebugView"
-            id="org.eclipse.debug.ui.PulldownActions">
-         <action
-               id="org.eclipse.debug.ui.debugview.pulldown.ViewManagementAction"
-               class="org.eclipse.debug.internal.ui.actions.ViewManagementAction"
-               helpContextId="view_management_action_context"
-               label="%ViewManagementAction.label"
-               menubarPath="additions">
-         </action>
-      </viewContribution>
-<!-- Contributions to Debug View Toolbar -->
-      <viewContribution
-            targetID="org.eclipse.debug.ui.DebugView"
-            id="org.eclipse.debug.ui.debugview.toolbar">
-<!-- Thread Group -->
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.removeAllTerminated"
-               toolbarPath="threadGroup"
-               hoverIcon="icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"
-               disabledIcon="icons/full/dlcl16/rem_all_co.gif"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_terminated_action_context"
-               label="%RemoveAllTerminatedAction.label"
-               tooltip="%RemoveAllTerminatedAction.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.disconnect"
-               toolbarPath="threadGroup"
-               hoverIcon="icons/full/elcl16/disconnect_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.DisconnectActionDelegate"
-               disabledIcon="icons/full/dlcl16/disconnect_co.gif"
-               icon="icons/full/elcl16/disconnect_co.gif"
-               helpContextId="disconnect_action_context"
-               label="%DisconnectAction.label"
-               tooltip="%DisconnectAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IDisconnect">
-            </selection>
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.terminate"
-               toolbarPath="threadGroup"
-               hoverIcon="icons/full/elcl16/terminate_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"
-               disabledIcon="icons/full/dlcl16/terminate_co.gif"
-               icon="icons/full/elcl16/terminate_co.gif"
-               helpContextId="terminate_action_context"
-               label="%TerminateAction.label"
-               tooltip="%TerminateAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.ITerminate">
-            </selection>
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.suspend"
-               toolbarPath="threadGroup"
-               hoverIcon="icons/full/elcl16/suspend_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"
-               disabledIcon="icons/full/dlcl16/suspend_co.gif"
-               enablesFor="1"
-               icon="icons/full/elcl16/suspend_co.gif"
-               label="%SuspendAction.label"
-               helpContextId="suspend_action_context"
-               tooltip="%SuspendAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.ISuspendResume">
-            </selection>
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.resume"
-               toolbarPath="threadGroup"
-               hoverIcon="icons/full/elcl16/resume_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"
-               disabledIcon="icons/full/dlcl16/resume_co.gif"
-               enablesFor="1"
-               icon="icons/full/elcl16/resume_co.gif"
-               label="%ResumeAction.label"
-               helpContextId="resume_action_context"
-               tooltip="%ResumeAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.ISuspendResume">
-            </selection>
-         </action>
-<!-- Step Group -->
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.stepReturn"
-               toolbarPath="stepReturnGroup"
-               hoverIcon="icons/full/elcl16/stepreturn_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"
-               disabledIcon="icons/full/dlcl16/stepreturn_co.gif"
-               enablesFor="1"
-               icon="icons/full/elcl16/stepreturn_co.gif"
-               label="%StepReturnAction.label"
-               helpContextId="step_return_action_context"
-               tooltip="%StepReturnAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.stepOver"
-               toolbarPath="stepOverGroup"
-               hoverIcon="icons/full/elcl16/stepover_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"
-               disabledIcon="icons/full/dlcl16/stepover_co.gif"
-               enablesFor="1"
-               icon="icons/full/elcl16/stepover_co.gif"
-               label="%StepOverAction.label"
-               helpContextId="step_over_action_context"
-               tooltip="%StepOverAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.stepInto"
-               toolbarPath="stepIntoGroup"
-               hoverIcon="icons/full/elcl16/stepinto_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"
-               disabledIcon="icons/full/dlcl16/stepinto_co.gif"
-               enablesFor="1"
-               icon="icons/full/elcl16/stepinto_co.gif"
-               label="%StepIntoAction.label"
-               helpContextId="step_into_action_context"
-               tooltip="%StepIntoAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-<!-- Render Group -->
-         <action
-               id="org.eclipse.debug.ui.debugview.toolbar.toggleStepFilters"
-               toolbarPath="renderGroup"
-               hoverIcon="icons/full/elcl16/stepbystep_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.ToggleStepFiltersActionDelegate"
-               disabledIcon="icons/full/dlcl16/stepbystep_co.gif"
-               icon="icons/full/elcl16/stepbystep_co.gif"
-               label="%StepWithFiltersAction.label"
-               helpContextId="step_with_filters_action_context"
-               tooltip="%StepWithFiltersAction.tooltip"
-               style="toggle"
-               state="false">
-         </action>         
-      </viewContribution>
-<!-- Contributions to Breakpoints View Toolbar -->
-      <viewContribution
-            targetID="org.eclipse.debug.ui.BreakpointView"
-            id="org.eclipse.debug.ui.breakpointsview.toolbar">
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.removeAll"
-               toolbarPath="breakpointGroup"
-               hoverIcon="icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllBreakpointsAction"
-               disabledIcon="icons/full/dlcl16/rem_all_co.gif"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_breakpoints_action_context"
-               label="%RemoveAllAction.label"
-               tooltip="%RemoveAllBreakpointsAction.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.breakpointsView.toolbar.remove"
-               toolbarPath="breakpointGroup"
-               hoverIcon="icons/full/elcl16/rem_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveBreakpointAction"
-               disabledIcon="icons/full/dlcl16/rem_co.gif"
-               icon="icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_breakpoint_action_context"
-               label="%RemoveAction.label"
-               tooltip="%RemoveBreakpointAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IBreakpoint">
-            </selection>
-         </action>
-      </viewContribution>
-<!-- Contributions to Expression View Toolbar -->
-      <viewContribution
-            targetID="org.eclipse.debug.ui.VariableView"
-            id="org.eclipse.debug.ui.variableView.toolbar">
-         <action
-               label="%DetailPaneWordWrapAction.label"
-               style="toggle"
-               helpContextId="detail_pane_word_wrap_action_context"
-               class="org.eclipse.debug.internal.ui.views.variables.DetailPaneWordWrapAction"
-               tooltip="%DetailPaneWordWrapAction.tooltip"
-               menubarPath="viewActions"
-               id="org.eclipse.debug.ui.variableViewActions.toolbar.detailPaneWordWrap">
-         </action>
-      </viewContribution>
-      <viewContribution
-            targetID="org.eclipse.debug.ui.ExpressionView"
-            id="org.eclipse.debug.ui.expressionsView.toolbar">
-         <action
-               id="org.eclipse.debug.ui.expresssionsView.toolbar.removeAll"
-               toolbarPath="expressionGroup"
-               hoverIcon="icons/full/elcl16/rem_all_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllExpressionsAction"
-               disabledIcon="icons/full/dlcl16/rem_all_co.gif"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_expressions_action_context"
-               label="%RemoveAllAction.label"
-               tooltip="%RemoveAllExpressionsAction.tooltip">
-         </action>
-         <action
-               id="org.eclipse.debug.ui.expresssionsView.toolbar.remove"
-               toolbarPath="expressionGroup"
-               hoverIcon="icons/full/elcl16/rem_co.gif"
-               class="org.eclipse.debug.internal.ui.actions.RemoveExpressionAction"
-               disabledIcon="icons/full/dlcl16/rem_co.gif"
-               icon="icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_expression_action_context"
-               label="%RemoveAction.label"
-               tooltip="%RemoveExpressionAction.tooltip">
-            <selection
-                  class="org.eclipse.debug.core.model.IExpression">
-            </selection>
-            <selection
-                  class="org.eclipse.debug.core.model.IVariable">
-            </selection>
-         </action>
-         <action
-               label="%DetailPaneWordWrapAction.label"
-               helpContextId="detail_pane_word_wrap_action_context"
-               class="org.eclipse.debug.internal.ui.views.variables.DetailPaneWordWrapAction"
-               state="false"
-               tooltip="%DetailPaneWordWrapAction.tooltip"
-               menubarPath="viewActions"
-               id="org.eclipse.debug.ui.expresssionsView.toolbar.detailPaneWordWrap">
-         </action>
-      </viewContribution>
-      <viewContribution
-            targetID="org.eclipse.debug.ui.RegistersView"
-            id="org.eclipse.debug.ui.registersView.toolbar">
-         <action
-               label="%DetailPaneWordWrapAction.label"
-               style="toggle"
-               helpContextId="detail_pane_word_wrap_action_context"
-               tooltip="%DetailPaneWordWrapAction.tooltip"
-               class="org.eclipse.debug.internal.ui.views.variables.DetailPaneWordWrapAction"
-               menubarPath="viewActions"
-               id="org.eclipse.debug.ui.variableViewActions.toolbar.detailPaneWordWrap">
-         </action>
-      </viewContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-<!-- Watch expression actions -->
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IExpression"
-            id="org.eclipse.debug.ui.ExpressionActions">
-         <visibility>
-            <not>
-               <objectClass
-                     name="org.eclipse.debug.core.model.IWatchExpression">
-               </objectClass>
-            </not>
-         </visibility>
-         <action
-               label="%convertToWatchExpressionAction.label"
-               helpContextId="convert_to_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.ConvertToWatchExpressionAction"
-               tooltip="%convertToWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               enablesFor="*"
-               id="org.eclipse.debug.ui.actions.ConvertToWatchExpression">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IVariable"
-            id="org.eclipse.debug.ui.WatchActions">
-         <action
-               label="%Watch.label"
-               icon="icons/full/etool16/watch_exp.gif"
-               helpContextId="variable_watch_action_context"
-               class="org.eclipse.debug.internal.ui.actions.WatchAction"
-               menubarPath="openOnGroup"
-               enablesFor="+"
-               id="org.eclipse.jdt.debug.ui.actions.WatchAction">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IWatchExpression"
-            id="org.eclipse.debug.ui.WatchExpressionActions">
-         <action
-               label="%editWatchExpressionAction.label"
-               helpContextId="edit_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.EditWatchExpressionAction"
-               tooltip="%editWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.watchExpressionActions.EditWatchExpression">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IWatchExpression"
-            id="org.eclipse.debug.ui.WatchExpressionActions">
-         <action
-               label="%enableWatchExpressionAction.label"
-               helpContextId="enable_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.EnableWatchExpressionAction"
-               tooltip="%enableWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.watchExpressionActions.EnableWatchExpression">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IWatchExpression"
-            id="org.eclipse.debug.ui.WatchExpressionActions">
-         <action
-               label="%disableWatchExpressionAction.label"
-               helpContextId="disable_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.DisableWatchExpressionAction"
-               tooltip="%disableWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.watchExpressionActions.DisableWatchExpression">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.debug.core.model.IWatchExpression"
-            id="org.eclipse.debug.WatchExpressionActions">
-         <action
-               label="%reevaluateWatchExpressionAction.label"
-               helpContextId="reevaluate_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.ReevaluateWatchExpressionAction"
-               tooltip="%reevaluateWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.watchExpressionActions.ReevaluateWatchExpression">
-         </action>
-      </objectContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.ExpressionView"
-            id="org.eclipse.debug.ui.ExpressionViewPopupActions">
-         <action
-               label="%addWatchExpressionAction.label"
-               icon="icons/full/etool16/watch_exp.gif"
-               helpContextId="add_watch_expression_context"
-               class="org.eclipse.debug.internal.ui.actions.AddWatchExpressionAction"
-               tooltip="%addWatchExpressionAction.tooltip"
-               menubarPath="additions"
-               id="org.eclipse.debug.ui.expressionViewActions.AddWatchExpression">
-         </action>
-      </viewerContribution>
-<!-- Contributions to Debug View Popup Menu -->
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.DebugView"
-            id="org.eclipse.debug.ui.debugview.popupMenu">
-<!-- Edit Group -->
-         <action
-               label="%CopyToClipboardAction.label"
-               icon="icons/full/elcl16/copy_edit_co.gif"
-               helpContextId="copy_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyToClipboardActionDelegate"
-               menubarPath="editGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyToClipboard">
-            <selection
-                  class="org.eclipse.debug.core.model.IDebugElement">
-            </selection>
-         </action>
-<!-- Launch Group -->
-         <action
-               label="%TerminateAllAction.label"
-               icon="icons/full/elcl16/terminate_all_co.gif"
-               helpContextId="terminate_all_action_context"
-               class="org.eclipse.debug.internal.ui.actions.TerminateAllAction"
-               menubarPath="launchGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.terminateAll">
-         </action>
-         <action
-               label="%RelaunchAction.label"
-               icon="icons/full/elcl16/runlast_co.gif"
-               helpContextId="relaunch_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RelaunchActionDelegate"
-               menubarPath="launchGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.relaunch">
-         </action>
-         <action
-               label="%TerminateAndRemoveAction.label"
-               icon="icons/full/elcl16/terminate_rem_co.gif"
-               helpContextId="terminate_and_remove_action_context"
-               class="org.eclipse.debug.internal.ui.actions.TerminateAndRemoveActionDelegate"
-               menubarPath="launchGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.terminateAndRemove">
-            <selection
-                  class="org.eclipse.debug.core.model.ITerminate">
-            </selection>
-         </action>
-<!-- Thread Group -->
-         <action
-               label="%RemoveAllTerminatedAction.label"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_terminated_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction"
-               menubarPath="launchGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.removeAllTerminated">
-         </action>
-         <action
-               label="%DisconnectAction.label"
-               icon="icons/full/elcl16/disconnect_co.gif"
-               helpContextId="disconnect_action_context"
-               class="org.eclipse.debug.internal.ui.actions.DisconnectActionDelegate"
-               menubarPath="threadGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.disconnect">
-            <selection
-                  class="org.eclipse.debug.core.model.IDisconnect">
-            </selection>
-         </action>
-         <action
-               label="%TerminateAction.label"
-               icon="icons/full/elcl16/terminate_co.gif"
-               helpContextId="terminate_action_context"
-               definitionId="org.eclipse.debug.ui.commands.Terminate"
-               class="org.eclipse.debug.internal.ui.actions.TerminateActionDelegate"
-               menubarPath="threadGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.terminate">
-            <selection
-                  class="org.eclipse.debug.core.model.ITerminate">
-            </selection>
-         </action>
-         <action
-               label="%SuspendAction.label"
-               icon="icons/full/elcl16/suspend_co.gif"
-               helpContextId="suspend_action_context"
-               definitionId="org.eclipse.debug.ui.commands.Suspend"
-               class="org.eclipse.debug.internal.ui.actions.SuspendActionDelegate"
-               menubarPath="threadGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.debugview.popupMenu.suspend">
-            <selection
-                  class="org.eclipse.debug.core.model.ISuspendResume">
-            </selection>
-         </action>
-         <action
-               label="%ResumeAction.label"
-               icon="icons/full/elcl16/resume_co.gif"
-               helpContextId="resume_action_context"
-               definitionId="org.eclipse.debug.ui.commands.Resume"
-               class="org.eclipse.debug.internal.ui.actions.ResumeActionDelegate"
-               menubarPath="threadGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.debugview.popupMenu.resume">
-            <selection
-                  class="org.eclipse.debug.core.model.ISuspendResume">
-            </selection>
-         </action>
-<!-- Step Group -->
-         <action
-               label="%StepReturnAction.label"
-               icon="icons/full/elcl16/stepreturn_co.gif"
-               helpContextId="step_return_action_context"
-               definitionId="org.eclipse.debug.ui.commands.StepReturn"
-               class="org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"
-               menubarPath="stepReturnGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.debugview.popupMenu.stepReturn">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-         <action
-               label="%StepOverAction.label"
-               icon="icons/full/elcl16/stepover_co.gif"
-               helpContextId="step_over_action_context"
-               definitionId="org.eclipse.debug.ui.commands.StepOver"
-               class="org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"
-               menubarPath="stepOverGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.debugview.popupMenu.stepOver">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-         <action
-               label="%StepIntoAction.label"
-               icon="icons/full/elcl16/stepinto_co.gif"
-               helpContextId="step_into_action_context"
-               definitionId="org.eclipse.debug.ui.commands.StepInto"
-               class="org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"
-               menubarPath="stepIntoGroup"
-               enablesFor="1"
-               id="org.eclipse.debug.ui.debugview.popupMenu.stepInto">
-            <selection
-                  class="org.eclipse.debug.core.model.IStep">
-            </selection>
-         </action>
-<!-- Render Group -->  
-         <action
-               label="%StepWithFiltersAction.label"
-               icon="icons/full/elcl16/stepbystep_co.gif"
-               helpContextId="step_with_filters_action_context"
-               definitionId="org.eclipse.debug.ui.commands.ToggleStepFilters"
-               class="org.eclipse.debug.internal.ui.actions.ToggleStepFiltersActionDelegate"
-               menubarPath="renderGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.stepWithFilters"
-               style="toggle"
-               state="false">
-         </action>         
-      </viewerContribution>
-<!-- Contributions to Breakpoints View Popup Menu -->
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.BreakpointView"
-            id="org.eclipse.debug.ui.breakpointview.popupMenu">
-         <action
-               label="%RemoveAllAction.label"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_breakpoints_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllBreakpointsAction"
-               menubarPath="breakpointGroup"
-               id="org.eclipse.debug.ui.actions.RemoveAllBreakpoints">
-         </action>
-         <action
-               label="%RemoveAction.label"
-               icon="icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RemoveBreakpointAction"
-               menubarPath="breakpointGroup"
-               id="org.eclipse.debug.ui.actions.RemoveBreakpoint">
-            <selection
-                  class="org.eclipse.debug.core.model.IBreakpoint">
-            </selection>
-         </action>
-         <action
-               label="%DisableBreakpointsAction.label"
-               icon="icons/full/elcl16/disabled_co.gif"
-               helpContextId="disable_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.DisableBreakpointsAction"
-               menubarPath="breakpointGroup"
-               enablesFor="2+"
-               id="org.eclipse.debug.ui.actions.DisableBreakpoint">
-            <selection
-                  class="org.eclipse.debug.core.model.IBreakpoint">
-            </selection>
-         </action>
-         <action
-               label="%EnableBreakpointsAction.label"
-               icon="icons/full/elcl16/enabled_co.gif"
-               helpContextId="enable_breakpoint_action_context"
-               class="org.eclipse.debug.internal.ui.actions.EnableBreakpointsAction"
-               menubarPath="breakpointGroup"
-               enablesFor="2+"
-               id="org.eclipse.debug.ui.actions.EnableBreakpoint">
-            <selection
-                  class="org.eclipse.debug.core.model.IBreakpoint">
-            </selection>
-         </action>
-         <action
-               label="%SelectAll.label"
-               helpContextId="select_all_breakpoints_action_context"
-               class="org.eclipse.debug.internal.ui.actions.SelectAllBreakpointsAction"
-               menubarPath="breakpointGroup"
-               id="org.eclipse.debug.ui.actions.SelectAllBreakpointsAction">
-         </action>
-      </viewerContribution>
-<!-- Contributions to Variables View Popup Menu -->
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.VariableView"
-            id="org.eclipse.debug.ui.variablesView.popupMenu">
-<!-- Variable Group -->
-         <action
-               label="%CopyVariablesToClipboardAction.label"
-               icon="icons/full/elcl16/copy_edit_co.gif"
-               helpContextId="copy_variables_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyVariablesToClipboardActionDelegate"
-               menubarPath="variableGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard">
-            <selection
-                  class="org.eclipse.debug.core.model.IDebugElement">
-            </selection>
-         </action>
-         <action
-               label="%SelectAll.label"
-               helpContextId="select_all_variables_action_context"
-               class="org.eclipse.debug.internal.ui.actions.SelectAllVariablesAction"
-               menubarPath="variableGroup"
-               id="org.eclipse.debug.ui.actions.SelectAllVariablesAction">
-         </action>
-      </viewerContribution>
-<!-- Contributions to Expression View Popup Menu -->
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.ExpressionView"
-            id="org.eclipse.debug.ui.expressionView.popupMenu">
-<!-- Expression Group -->
-         <action
-               label="%RemoveAllAction.label"
-               icon="icons/full/elcl16/rem_all_co.gif"
-               helpContextId="remove_all_expressions_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RemoveAllExpressionsAction"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.removeAllExpressionsAction">
-         </action>
-         <action
-               label="%RemoveAction.label"
-               icon="icons/full/elcl16/rem_co.gif"
-               helpContextId="remove_expression_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RemoveExpressionAction"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.removeExpressionAction">
-            <selection
-                  class="org.eclipse.debug.core.model.IExpression">
-            </selection>
-            <selection
-                  class="org.eclipse.debug.core.model.IVariable">
-            </selection>
-         </action>
-         <action
-               label="%CopyVariablesToClipboardAction.label"
-               icon="icons/full/elcl16/copy_edit_co.gif"
-               helpContextId="copy_variables_to_clipboard_action_context"
-               class="org.eclipse.debug.internal.ui.actions.CopyVariablesToClipboardActionDelegate"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard">
-            <selection
-                  class="org.eclipse.debug.core.model.IDebugElement">
-            </selection>
-         </action>
-         <action
-               label="%SelectAll.label"
-               helpContextId="select_all_expressions_action_context"
-               class="org.eclipse.debug.internal.ui.actions.SelectAllExpressionsAction"
-               menubarPath="expressionGroup"
-               id="org.eclipse.debug.ui.actions.SelectAllExpressionsAction">
-         </action>
-      </viewerContribution>
-      <viewerContribution
-            targetID="org.eclipse.debug.ui.RegistersView"
-            id="org.eclipse.debug.ui.registersView.popupMenu">
-<!-- Variable Group -->
-         <action
-               menubarPath="variableGroup"
-               class="org.eclipse.debug.internal.ui.actions.CopyVariablesToClipboardActionDelegate"
-               icon="icons/full/elcl16/copy_edit_co.gif"
-               label="%CopyVariablesToClipboardAction.label"
-               id="org.eclipse.debug.ui.debugview.popupMenu.copyVariablesToClipboard"
-               helpContextId="copy_variables_to_clipboard_action_context">
-            <selection
-                  class="org.eclipse.debug.core.model.IDebugElement">
-            </selection>
-         </action>
-         <action
-               class="org.eclipse.debug.internal.ui.actions.SelectAllVariablesAction"
-               label="%SelectAll.label"
-               menubarPath="variableGroup"
-               helpContextId="select_all_variables_action_context"
-               id="org.eclipse.debug.ui.actions.SelectAllVariablesAction">
-         </action>
-      </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationFactory"
-            id="org.eclipse.debug.ui.PersistableLaunchConfigurationFactory">
-      </factory>
-      <factory
-            class="org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationTypeFactory"
-            id="org.eclipse.debug.ui.PersistableLaunchConfigurationTypeFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%NoSourceFoundEditor.name"
-            icon="/icons/full/obj16/stckframe_obj.gif"
-            class="org.eclipse.debug.internal.ui.views.launch.SourceNotFoundEditor"
-            contributorClass="org.eclipse.ui.part.EditorActionBarContributor"
-            id="org.eclipse.debug.ui.NoSourceFoundEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.statusHandlers">
-      <statusHandler
-            code="115"
-            plugin="org.eclipse.debug.core"
-            class="org.eclipse.debug.internal.ui.WorkingDirectoryStatusHandler"
-            id="org.eclipse.debug.ui.statusHandler.workingDirectory">
-      </statusHandler>
-      <statusHandler
-            code="200"
-            plugin="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.sourcelookup.Prompter"
-            id="org.eclipse.debug.ui.statusHandler.prompter">
-      </statusHandler>  
-      <statusHandler
-            code="205"
-            plugin="org.eclipse.debug.ui"
-            class="org.eclipse.debug.internal.ui.sourcelookup.ResolveDuplicatesHandler"
-            id="org.eclipse.debug.ui.statusHandler.selectSourceDialog">
-      </statusHandler>      
-      <statusHandler
-            plugin="org.eclipse.debug.core"
-            code="201"
-            class="org.eclipse.debug.internal.ui.launchConfigurations.DebugModePromptStatusHandler"
-            id="org.eclipse.debug.ui.statusHandler.debugModePromptStatusHandler">
-      </statusHandler>
-      <statusHandler
-            plugin="org.eclipse.debug.core"
-            code="202"
-            class="org.eclipse.debug.internal.ui.launchConfigurations.CompileErrorPromptStatusHandler"
-            id="org.eclipse.debug.ui.statusHandler.compileErrorPromptStatusHandler">
-      </statusHandler> 
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%DebugLaunchGroup.label"
-            bannerImage="icons/full/wizban/debug_wiz.gif"
-            image="icons/full/etool16/debug_exc.gif"
-            mode="debug"
-            id="org.eclipse.debug.ui.launchGroup.debug">
-      </launchGroup>
-      <launchGroup
-            label="%RunLaunchGroup.label"
-            bannerImage="icons/full/wizban/run_wiz.gif"
-            image="icons/full/etool16/run_exc.gif"
-            mode="run"
-            id="org.eclipse.debug.ui.launchGroup.run">
-      </launchGroup>
-      <launchGroup
-            label="%ProfileLaunchGroup.label"
-            bannerImage="icons/full/wizban/profile_wiz.gif"
-            image="icons/full/etool16/profile_exc.gif"
-            mode="profile"
-            id="org.eclipse.debug.ui.launchGroup.profile">
-      </launchGroup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.debug.core.model.IProcess"
-            name="%processPropertyPageName"
-            class="org.eclipse.debug.internal.ui.preferences.ProcessPropertyPage"
-            id="org.eclipse.debug.ui.properties.process">
-      </page>
-      <page
-            objectClass="org.eclipse.debug.core.model.IDebugTarget"
-            name="%processPropertyPageName"
-            class="org.eclipse.debug.internal.ui.preferences.ProcessPropertyPage"
-            id="org.eclipse.debug.ui.properties.process">
-      </page>
-   </extension>
-<!-- commands and their bindings -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <category
-            name="%runCategory.name"
-            description="%runCategory.description"
-            id="org.eclipse.debug.ui.category.run">
-      </category>
-      <command
-            name="%ActionDefinition.toggleStepFilters.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.toggleStepFilters.description"
-            id="org.eclipse.debug.ui.commands.ToggleStepFilters">
-      </command>
-      <keyBinding
-            string="Shift+F5"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ToggleStepFilters"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.stepInto.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepInto.description"
-            id="org.eclipse.debug.ui.commands.StepInto">
-      </command>
-      <keyBinding
-            string="F5"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.StepInto"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.stepOver.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepOver.description"
-            id="org.eclipse.debug.ui.commands.StepOver">
-      </command>
-      <keyBinding
-            string="F6"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.StepOver"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.stepReturn.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.stepReturn.description"
-            id="org.eclipse.debug.ui.commands.StepReturn">
-      </command>
-      <keyBinding
-            string="F7"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.StepReturn"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.resume.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.resume.description"
-            id="org.eclipse.debug.ui.commands.Resume">
-      </command>
-      <keyBinding
-            string="F8"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.Resume"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.terminate.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.terminate.description"
-            id="org.eclipse.debug.ui.commands.Terminate">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.Terminate"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.suspend.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.suspend.description"
-            id="org.eclipse.debug.ui.commands.Suspend">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.Suspend"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.openProfile.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openProfile.description"
-            id="org.eclipse.debug.ui.commands.OpenProfileConfigurations">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.openRun.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openRun.description"
-            id="org.eclipse.debug.ui.commands.OpenProfileConfigurations">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.openDebug.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.openDebug.description"
-            id="org.eclipse.debug.ui.commands.OpenProfileConfigurations">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.OpenProfileConfigurations"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.debugLast.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.debugLast.description"
-            id="org.eclipse.debug.ui.commands.DebugLast">
-      </command>
-      <keyBinding
-            string="F11"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.DebugLast"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-      		platform="carbon"
-            string="Command+F11"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.DebugLast"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.runLast.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.runLast.description"
-            id="org.eclipse.debug.ui.commands.RunLast">
-      </command>
-      <keyBinding
-            string="Ctrl+F11"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.RunLast"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-      		platform="carbon"
-            string="Command+Shift+F11"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.RunLast"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>      
-      <command
-            name="%ActionDefinition.profileLast.name"
-            category="org.eclipse.debug.ui.category.run"
-            description="%ActionDefinition.profileLast.description"
-            id="org.eclipse.debug.ui.commands.ProfileLast">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ProfileLast"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.runToLine.name"
-            description="%ActionDefinition.runToLine.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.RunToLine">
-      </command>
-      <keyBinding
-            string="Ctrl+R"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.RunToLine"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>          
-      <keyBinding
-      		platform="carbon"
-            string="Command+R"
-            scope="org.eclipse.debug.ui.debugging"
-            command="org.eclipse.debug.ui.commands.RunToLine"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.toggleBreakpoint.name"
-            description="%ActionDefinition.toggleBreakpoint.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleBreakpoint">
-      </command>
-      <keyBinding
-            string="Ctrl+Shift+B"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ToggleBreakpoint"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <keyBinding
-      		platform="carbon"
-            string="Command+Shift+B"
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ToggleBreakpoint"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.skipAllBreakpoints.name"
-            description="%ActionDefinition.skipAllBreakpoints.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.SkipAllBreakpoints">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.SkipAllBreakpoints"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.toggleWatchpoint.name"
-            description="%ActionDefinition.toggleWatchpoint.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleWatchpoint">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ToggleWatchpoint"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.toggleMethodBreakpoint.name"
-            description="%ActionDefinition.toggleMethodBreakpoint.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.commands.ToggleMethodBreakpoint"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>      
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors.annotationTypes">
-      <type
-         name="org.eclipse.debug.core.breakpoint"
-         markerType="org.eclipse.debug.core.breakpointMarker">
-      </type>
-      <type
-         name="org.eclipse.debug.ui.currentIP">
-      </type>
-      <type
-         name="org.eclipse.debug.ui.secondaryIP">
-      </type>
-   </extension>   
-   <extension
-         point="org.eclipse.ui.editors.markerAnnotationSpecification">
-      <specification
-            colorPreferenceValue="0,0,255"
-            annotationType="org.eclipse.debug.core.breakpoint"
-            colorPreferenceKey="breakpointIndicationColor"
-            overviewRulerPreferenceValue="true"
-            presentationLayer="3"
-            label="%BreakpointMarkerPreference.label"
-            textPreferenceValue="false"
-            textPreferenceKey="breakpointIndication"
-            verticalRulerPreferenceKey="breakpointVerticalRuler"
-            verticalRulerPreferenceValue="true"
-            overviewRulerPreferenceKey="breakpointIndicationInOverviewRuler"
-            icon="icons/full/obj16/brkp_obj.gif"
-            annotationImageProvider="org.eclipse.debug.internal.ui.BreakpointImageProvider">
-      </specification>
-      <specification
-            colorPreferenceValue="217,255,226"
-            annotationType="org.eclipse.debug.ui.currentIP"
-            icon="icons/full/obj16/inst_ptr_top.gif"
-            verticalRulerPreferenceValue="true"
-            colorPreferenceKey="currentIPColor"
-            overviewRulerPreferenceValue="true"
-            highlightPreferenceKey="currentIPHighlight"
-            presentationLayer="6"
-            highlightPreferenceValue="true"
-            label="%debugCurrentInstructionPointer"
-            textPreferenceValue="false"
-            textPreferenceKey="currentIPIndication"
-            verticalRulerPreferenceKey="currentIPVerticalRuler"
-            overviewRulerPreferenceKey="currentIPOverviewRuler">
-      </specification>
-      <specification
-            colorPreferenceValue="217,255,226"
-            annotationType="org.eclipse.debug.ui.secondaryIP"
-            icon="icons/full/obj16/inst_ptr.gif"
-            verticalRulerPreferenceValue="true"
-            colorPreferenceKey="secondaryIPColor"
-            overviewRulerPreferenceValue="true"
-            highlightPreferenceKey="secondaryIPHighlight"
-            presentationLayer="6"
-            highlightPreferenceValue="true"
-            label="%debugCallStack"
-            textPreferenceValue="false"
-            textPreferenceKey="secondaryIPIndication"
-            verticalRulerPreferenceKey="secondaryIPVerticalRuler"
-            overviewRulerPreferenceKey="secondaryIPOverviewRuler">
-      </specification>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="workspace_loc"
-            description="%workspace_loc.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.WorkspaceResolver">
-      </variable>
-      <variable
-            name="project_loc"
-            description="%project_loc.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ProjectResolver">
-      </variable>
-      <variable
-            name="project_path"
-            description="%project_path.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ProjectResolver">
-      </variable>
-      <variable
-            name="project_name"
-            description="%project_name.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ProjectResolver">
-      </variable>
-      <variable
-            name="resource_loc"
-            description="%resource_loc.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver">
-      </variable>
-      <variable
-            name="resource_path"
-            description="%resource_path.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver">
-      </variable>
-      <variable
-            name="resource_name"
-            description="%resource_name.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver">
-      </variable>
-      <variable
-            name="container_loc"
-            description="%container_loc.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ContainerResolver">
-      </variable>
-      <variable
-            name="container_path"
-            description="%container_path.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ContainerResolver">
-      </variable>
-      <variable
-            name="container_name"
-            description="%container_name.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.ContainerResolver">
-      </variable>
-      <variable
-            name="string_prompt"
-            description="%string_prompt.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.StringPrompt">
-      </variable>
-      <variable
-            name="file_prompt"
-            description="%file_prompt.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.FilePrompt">
-      </variable>
-      <variable
-            name="folder_prompt"
-            description="%folder_prompt.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.FolderPrompt">
-      </variable>
-      <variable
-            name="selected_text"
-            description="%selected_text.description"
-            resolver="org.eclipse.debug.internal.ui.stringsubstitution.SelectedTextResolver">
-      </variable>
-   </extension>
-<!-- String Variable Presentations -->
-   <extension
-         point="org.eclipse.debug.ui.stringVariablePresentations">
-      <variablePresentation
-            argumentSelector="org.eclipse.debug.internal.ui.stringsubstitution.ResourceSelector"
-            variableName="resource_path">
-      </variablePresentation>
-      <variablePresentation
-            argumentSelector="org.eclipse.debug.internal.ui.stringsubstitution.ResourceSelector"
-            variableName="resource_loc">
-      </variablePresentation>
-      <variablePresentation
-            argumentSelector="org.eclipse.debug.internal.ui.stringsubstitution.ResourceSelector"
-            variableName="resource_name">
-      </variablePresentation>
-   </extension>
-<!-- Launch Config Comparators -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.debug.core.ATTR_REFRESH_SCOPE"
-            class="org.eclipse.debug.internal.ui.launchConfigurations.WorkingSetComparator"
-            id="org.eclipse.debug.ui.workingSetComparator">
-      </launchConfigurationComparator>
-   </extension>
-   
-<!-- Editor -->
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%sourceNotFoundEditorName"
-            icon="icons/full/obj16/stckframe_obj.gif"
-            class="org.eclipse.debug.internal.ui.sourcelookup.CommonSourceNotFoundEditor"
-            id="org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor">
-      </editor>
-   </extension>
-<!-- ==================================================================== -->
-<!--  Implementation of the Working set source container type			 -->
-<!-- ==================================================================== -->
-   <extension
-         point="org.eclipse.debug.core.sourceContainerTypes">     
-      <sourceContainerType
-            name="%containerName.workingSet"
-            class="org.eclipse.debug.internal.ui.sourcelookup.WorkingSetSourceContainerType"
-            id="org.eclipse.debug.ui.containerType.workingSet">
-      </sourceContainerType>    
-   </extension>
-<!-- ==================================================================== -->
-<!--  Implementations of the 7 provided source containers presentation support-->
-<!-- ==================================================================== -->
-   <extension
-         point="org.eclipse.debug.ui.sourceContainerPresentations">
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.ProjectSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.project"
-            icon="icons/full/obj16/prj_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.project">
-      </sourceContainerPresentation>
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.WorkingSetSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.ui.containerType.workingSet"
-            icon="icons/full/obj16/workset.gif"
-            id="org.eclipse.debug.ui.containerPresentation.workingSet">
-      </sourceContainerPresentation>           
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.DirectorySourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.directory"
-            icon="icons/full/obj16/fldr_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.directory">
-      </sourceContainerPresentation>
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.FolderSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.folder"
-            icon="icons/full/obj16/fldr_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.folder">
-      </sourceContainerPresentation>
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.WorkspaceSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.workspace"
-            icon="icons/full/obj16/prj_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.workspace">
-      </sourceContainerPresentation>
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.ArchiveSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.archive"
-            icon="icons/full/obj16/jar_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.archive">
-      </sourceContainerPresentation>  
-      <sourceContainerPresentation
-            browserClass="org.eclipse.debug.internal.ui.sourcelookup.browsers.ExternalArchiveSourceContainerBrowser"
-            containerTypeID="org.eclipse.debug.core.containerType.externalArchive"
-            icon="icons/full/obj16/jar_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.externalArchive">
-      </sourceContainerPresentation>      
-      <sourceContainerPresentation           
-            containerTypeID="org.eclipse.debug.core.containerType.default"
-            icon="icons/full/obj16/prj_obj.gif"
-            id="org.eclipse.debug.ui.containerPresentation.default">
-      </sourceContainerPresentation>
-   </extension>
-<!-- ========================================= -->
-<!-- Adapter factories for source lookup       -->
-<!-- ========================================= -->
-	<extension point="org.eclipse.core.runtime.adapters">
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceElementAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceElementAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.ZipEntryStorage">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>         
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceContainerAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>         
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceContainerAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>          
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceContainerAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>
-         <factory 
-            class="org.eclipse.debug.internal.ui.sourcelookup.SourceContainerAdapterFactory"
-            adaptableType="org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-         </factory>                            
-    </extension>
-<!-- ========================================= -->
-<!-- Contextual Launch                         -->
-<!-- ========================================= -->
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="java.lang.Object"
-            id="org.eclipse.debug.ui.contextualLaunch.profile">
-        <action
-               label="%ProfileContextMenu.label"
-               style="pulldown"
-               class="org.eclipse.debug.internal.ui.actions.ProfileContextualLaunchAction"
-               menubarPath="additions"
-               enablesFor="+"
-               id="org.eclipse.debug.ui.contextualLaunch.profile.submenu">
-        </action>    
-        <enablement>
-         	<test property="org.eclipse.debug.ui.launchable" value="profile"/>
-        </enablement>        
-      </objectContribution>
-      <objectContribution
-            objectClass="java.lang.Object"
-            id="org.eclipse.debug.ui.contextualLaunch.debug">
-        <action
-               label="%DebugContextMenu.label"
-               style="pulldown"
-               class="org.eclipse.debug.internal.ui.actions.DebugContextualLaunchAction"
-               menubarPath="additions"
-               enablesFor="+"
-               id="org.eclipse.debug.ui.contextualLaunch.debug.submenu">
-         </action>
-         <enablement>
-         	<test property="org.eclipse.debug.ui.launchable" value="debug"/>
-         </enablement>     
-       </objectContribution>    
-       <objectContribution
-            objectClass="java.lang.Object"
-            id="org.eclipse.debug.ui.contextualLaunch.run">
-         <action
-               label="%RunContextMenu.label"
-               style="pulldown"
-               class="org.eclipse.debug.internal.ui.actions.RunContextualLaunchAction"
-               menubarPath="additions"
-               enablesFor="+"
-               id="org.eclipse.debug.ui.contextualLaunch.run.submenu">
-         </action>                  
-         <enablement>
-         	<test property="org.eclipse.debug.ui.launchable" value="run"/>
-         </enablement>
-      </objectContribution>
-    </extension>  
-   <extension point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-      		namespace="org.eclipse.debug.ui"
-            properties="matchesPattern, projectNature, matchesContentType"
-            type="org.eclipse.core.runtime.IAdaptable"
-            class="org.eclipse.debug.internal.ui.ResourceExtender"
-            id="org.eclipse.debug.ui.IResourceExtender">
-      </propertyTester>
-	  <propertyTester
-			namespace="org.eclipse.debug.ui"
-			properties="launchable"
-			type="java.lang.Object"
-			class="org.eclipse.debug.internal.ui.actions.LaunchablePropertyTester"
-			id="org.eclipse.debug.ui.propertyTesters.launchable">		
-	  </propertyTester>      
-   </extension>
-<!-- Context extensions -->
-  <extension
-        point="org.eclipse.ui.contexts">
-     <context
-           name="%Context.debugging.name"
-           description="%Context.debugging.description"
-           id="org.eclipse.debug.ui.debugging"
-           parentId="org.eclipse.ui.contexts.window">
-     </context>
-  </extension>
-  <extension
-        point="org.eclipse.debug.ui.contextViewBindings">
-     <contextViewBinding
-            viewId="org.eclipse.debug.ui.VariableView"
-            contextId="org.eclipse.debug.ui.debugging">
-     </contextViewBinding>
-     <contextViewBinding
-            viewId="org.eclipse.debug.ui.DebugView"
-            contextId="org.eclipse.debug.ui.debugging">
-     </contextViewBinding>
-     <contextViewBinding
-            viewId="org.eclipse.debug.ui.ExpressionView"
-            contextId="org.eclipse.debug.ui.debugging"
-            autoOpen="false">
-     </contextViewBinding>
-     <contextViewBinding
-           viewId="org.eclipse.debug.ui.BreakpointView"
-           contextId="org.eclipse.debug.ui.debugging">
-     </contextViewBinding>
-  </extension>
-  
-   <extension
-         point="org.eclipse.ui.themes">
-		<themeElementCategory label="%debugPresentation.label" id="org.eclipse.debug.ui.presentation"/>
-      <fontDefinition
-            label="%DetailPaneFontDefinition.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId= "org.eclipse.debug.ui.presentation"
-            id="org.eclipse.debug.ui.DetailPaneFont">
-         <description>
-            %DetailPaneFontDefinition.description
-         </description>         
-      </fontDefinition>
-      <fontDefinition
-            label="%MemoryViewTableFontDefinition.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId= "org.eclipse.debug.ui.presentation"
-            id="org.eclipse.debug.ui.MemoryViewTableFont">
-         <description>
-            %MemoryViewTableFontDefinition.description
-         </description>
-      </fontDefinition>
-   </extension>
-<!-- raw hex rendering for Memory View -->
-   <extension
-     id="org.eclipse.debug.ui.rendering.raw_memory"
-     name="%rawHexMemoryRendering.name"
-     point="org.eclipse.debug.core.memoryRenderings">
-	  <rendering
-	        name="%RawHex"
-	        renderingId="org.eclipse.debug.ui.rendering.raw_memory"
-	        renderingFactory="org.eclipse.debug.internal.ui.views.memoryHexRenderingFactory">
-	        <rendering_property
-	            renderingId="org.eclipse.debug.ui.rendering.raw_memory"
-	            name="viewTabFactory"
-	            value="org.eclipse.debug.internal.ui.views.memory.MemoryRenderingViewTabFactory">
-	        </rendering_property>
-	        <rendering_property
-	            renderingId="org.eclipse.debug.ui.rendering.raw_memory"
-	            name="renderer"
-	            value="org.eclipse.debug.internal.ui.views.memory.HexRenderer">
-	        </rendering_property>
-	  </rendering>
-   </extension>   
-</plugin>
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/schema/consoleColorProviders.exsd b/org.eclipse.debug.ui/schema/consoleColorProviders.exsd
deleted file mode 100644
index 96c1f15..0000000
--- a/org.eclipse.debug.ui/schema/consoleColorProviders.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.ui" id="consoleColorProviders" name="Console Color Providers"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a mechanism for contributing a console document coloring scheme for a process. The color provider will be used to color output in the console.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="consoleColorProvider" 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="consoleColorProvider">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this console color provider.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements IConsoleColorProvider
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.console.IConsoleColorProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="processType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the type of process this color provider is for. This attribute corresponds to the process attribute IProcess.ATTR_PROCESS_TYPE.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         2.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-      The following is an example of a console color provider extension point: 
-&lt;pre&gt;
-&lt;extension point="org.eclipse.debug.ui.consoleColorProviders"&gt;
-  &lt;consoleColorProvider 
-     id="com.example.ExampleConsoleColorProvider"
-     class="com.example.ExampleConsoleColorProvider"
-     processType=&quot;ExampleProcessType&quot;&gt;
-  &lt;/consoleColorProvider&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the contributed color provider will be used for processes of type "ExampleProcessType", which corresponds to the process attribute IProcess.ATTR_PROCESS_TYPE. Process types are client defined, and are set by clients that create processes.
-
-      </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.ui.console.IConsoleColorProvider&lt;/b&gt;. 
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd b/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd
deleted file mode 100644
index 5b58b78..0000000
--- a/org.eclipse.debug.ui/schema/consoleLineTrackers.exsd
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.ui" id="consoleLineTrackers" name="Console Line Trackers"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a mechanism to listen to console output for a type of process.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="consoleLineTracker" 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="consoleLineTracker">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this console line tracker. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements IConsoleLineTracker
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.console.IConsoleLineTracker"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="processType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the type of process this line tracker is for. This attribute corresponds to the process attribute IProcess.ATTR_PROCESS_TYPE. 
-               </documentation>
-            </annotation>
-         </attribute>
-	 </complexType>
-   </element>
-   
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         2.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-      The following is an example of a console line tracker extension point: 
-
- &lt;pre&gt;
-&lt;extension point="org.eclipse.debug.ui.consoleLineTrackers"&gt;
-  &lt;consoleLineTracker 
-     id="com.example.ExampleConsoleLineTracker"
-     class="com.example.ExampleConsoleLineTracker"
-     processType=&quot;ExampleProcessType&quot;&gt;
-  &lt;/consoleLineTracker&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the contributed line tracker will be notified as lines are appended to the console for processes of type "ExampleProcessType", which corresponds to the process attribute IProcess.ATTR_PROCESS_TYPE. Process types are client defined, and are set by clients that create processes.
-
-      </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.ui.console.IConsoleLineTracker&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/contextViewBindings.exsd b/org.eclipse.debug.ui/schema/contextViewBindings.exsd
deleted file mode 100644
index 96a0b05..0000000
--- a/org.eclipse.debug.ui/schema/contextViewBindings.exsd
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.ui" id="contextViewBindings" name="Context View Bindings"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for associating a view with a context identifier. When a context is activated by the Debug view, views associated with it (and also views associated with any parent contexts) are opened, closed, or activated. Contributors have the option to override the automatic open and close behavior.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="contextViewBinding" 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="contextViewBinding">
-      <complexType>
-         <attribute name="contextId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the context identifier that this binding is for
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="viewId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the view which should be associated with the specified context. When the specified context is activated in the Debug view, this view will be automatically activated.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="autoOpen" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether the specified view should be automatically opened when the given context is activated. If unspecified, the specified view will be automatically opened.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="autoClose" type="boolean">
-            <annotation>
-               <documentation>
-                  specifies whether the specified view should be automatically closed when a context that isn&apos;t associated with the view is activated. If unspecified, the specified view will be automatically closed.
-               </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 context view binding contribution:
-&lt;pre&gt;
-&lt;extension
-      point="org.eclipse.debug.ui.contextViewBindings"&gt;
-   &lt;contextViewBinding
-         contextId="com.example.mydebugger.debugging"
-         viewId="com.example.view"
-         autoOpen="true"
-         autoClose="false"&gt;
-   &lt;/modelContextBinding&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, when a context with the specified identifier is activated by the Debug view, the given view will be automatically opened. When a context which is bound to a different debug model is activated that isn't associated with the view, the view will not be automatically closed.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd b/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd
deleted file mode 100644
index 49d901e..0000000
--- a/org.eclipse.debug.ui/schema/debugModelContextBindings.exsd
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.ui" id="debugModelContextBindings" name="Debug Model Context Bindings"/>
-      </appInfo>
-      <documentation>
-This extension point provides a mechanism for specifying a context that should be associated with the given debug model.
-
-The Debug view uses these bindings to automatically enable contexts. When an element in the Debug view which provides an IDebugModelProvider adapter or a stack frame with the specified debug model identifier is selected, the context with the given identifier will be enabled.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="modelContextBinding" 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="modelContextBinding">
-      <complexType>
-         <attribute name="debugModelId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the debug model identifier this binding is for
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="contextId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the context identifier of the context that should be associated with the given debug model
-               </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 debug model context binding contribution:
-&lt;pre&gt;
-&lt;extension
-      point="org.eclipse.debug.ui.debugModelContextBindings"&gt;
-   &lt;modelContextBinding
-         contextId="com.example.myLanguage.debugging"
-         debugModelId="com.example.myLanguageDebugModel"&gt;
-   &lt;/modelContextBinding&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, when a stack frame with the debug model identifier of &quot;com.example.myLanguageDebugModel&quot; is selected, the context with the identifier &quot;com.example.myLanguage.debugging&quot; will be enabled.
-   </documentation>
-</annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2004 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/debugModelPresentations.exsd b/org.eclipse.debug.ui/schema/debugModelPresentations.exsd
deleted file mode 100644
index 826aadf..0000000
--- a/org.eclipse.debug.ui/schema/debugModelPresentations.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.ui" id="debugModelPresentations" name="Debug Model Presentation"/>
-   </appInfo>
-   <documentation>
-      This extension point allows tools to handle the 
-presentation aspects of a debug model. 
-A debug model presentation is responsible for 
-providing labels, images, and editors for elements 
-in a specific debug model.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="debugModelPresentation" 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="debugModelPresentation">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  fully qualifed name of a Java class that implements the 
-&lt;samp&gt;org.eclipse.debug.ui.IDebugModelPresentation&lt;/samp&gt;
-interface.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.IDebugModelPresentation"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-          <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the identifier of the debug model this presentation is responsible for
-               </documentation>
-            </annotation>
-         </attribute>
-          <attribute name="detailsViewerConfiguration" type="string" use="optional">
-            <annotation>
-               <documentation>
-                  the fully qualified name of the Java class that is an instance of org.eclipse.jface.text.source.SourceViewerConfiguration. When specified, the source viewer configuration will be used in the "details" area of the variables and expressions view when displaying the details of an element from the debug model associated with this debug model presentation. When unspecified, a default configuration is used. 
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a debug model presentations extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point = "org.eclipse.debug.ui.debugModelPresentations"&gt; 
-       &lt;debugModelPresentation 
-           class = "com.example.JavaModelPresentation"
-           id = "com.example.JavaDebugModel"&gt;
-       &lt;/debugModelPresentation&gt; 
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-In the example above, the class 
-&lt;samp&gt;com.example.JavaModelPresentation&lt;/samp&gt; will be 
-used to render and present debug elements originating 
-from the debug model identified by 
-&lt;samp&gt;com.example.JavaDebugModel&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         Value of the action attribute &lt;samp&gt;class&lt;/samp&gt; must be a fully 
-qualified class name of a Java class that implements 
-&lt;samp&gt;org.eclipse.debug.ui.IDebugModelPresentation&lt;/samp&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd
deleted file mode 100644
index 8b6bf56..0000000
--- a/org.eclipse.debug.ui/schema/launchConfigurationTabGroups.exsd
+++ /dev/null
@@ -1,169 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.ui" id="launchConfigurationTabGroups" name="Launch Configuration Tab Groups"/>
-      </appInfo>
-      <documentation>
-         This extension point provides a mechanism for contributing a group of tabs to the launch configuration
-dialog for a type of launch configuration.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationTabGroup" 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="launchConfigurationTabGroup">
-      <complexType>
-         <sequence>
-            <element ref="launchMode" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch configuration tab group.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="type" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a launch configuration type that this tab group is applicable to (corresponds to the id of a
-launch configuration type extension).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a fully qualified name of a Java class that implements &lt;samp&gt;ILaunchConfigurationTabGroup&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier that specifies the help context to associate with this tab group&apos;s launch configuration type
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A description of the Launch Configuration Type
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="launchMode">
-      <annotation>
-         <documentation>
-            A launch mode element specifies a launch mode this tab group is specific to. A tab group can be associated with one or more launch modes. For backwards compatibility (previous to 3.0), a launch mode does not need to be specified. When unspecified, a tab group is registered as the default tab group for the associated launch configration type (i.e. applicable to all supported launch modes for which a specific tab group has not been contributed).
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="mode" type="string" use="required">
-            <annotation>
-               <documentation>
-                  identifier for a launch mode this tab group is specific to.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="perspective" type="string">
-            <annotation>
-               <documentation>
-                  the default perspective identifier associated with this launch configuration type and launch mode. This allows an extension to cause a perspective switch (or open) when a corresponding launch is registered with the debug plug-in. When unspecified, it indicates that by default, no perspective switch should occurr.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A description of the Launch Configuration Type specific to this launchMode.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch configuration tab group extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.ui.launchConfigurationTabGroups&quot;&gt;
-  &lt;launchConfigurationTabGroup
-      id=&quot;com.example.ExampleTabGroup&quot;
-      type=&quot;com.example.ExampleLaunchConfigurationTypeIdentifier&quot;
-      class=&quot;com.example.ExampleLaunchConfigurationTabGroupClass&quot;&gt;
-  &lt;/launchConfigurationTabGroup&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the above example, the contributed tab group will be shown for the launch configuration type with
-identifier &lt;samp&gt;com.example.ExampleLaunchConfigurationTypeIdentifier&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.ui.ILaunchConfigurationTabGroup&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd b/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd
deleted file mode 100644
index 9629237..0000000
--- a/org.eclipse.debug.ui/schema/launchConfigurationTypeImages.exsd
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.ui" id="launchConfigurationTypeImages" name="Launch Configuration Type Images"/>
-   </appInfo>
-   <documentation>
-      This extension point provides a way to associate an image with a launch configuration type.
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="launchConfigurationTypeImage" 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="launchConfigurationTypeImage">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch configuration type image.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="configTypeID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified ID of a launch configuration type.(in 2.1, this attribute can also be specified using the "type" attribute, to be consistent with the launchConfigurationTabGroups extension point).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the plugin-relative path of an image file.
-               </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 launch configuration type image extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.debug.ui.launchConfigurationTypeImages"&gt;
-		&lt;launchConfigurationTypeImage
-			  id="com.example.FirstLaunchConfigurationTypeImage"
-			  configTypeID="com.example.FirstLaunchConfigurationType"
-			  icon="icons/FirstLaunchConfigurationType.gif"&gt;
-		&lt;/launchConfigurationTypeImage&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-   
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchGroups.exsd b/org.eclipse.debug.ui/schema/launchGroups.exsd
deleted file mode 100644
index 7d7187a..0000000
--- a/org.eclipse.debug.ui/schema/launchGroups.exsd
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-   <appInfo>
-      <meta.schema plugin="org.eclipse.debug.ui" id="launchGroups" name="Launch Groups"/>
-   </appInfo>
-   <documentation>
-      This extension point provides support for defining a group of launch configurations to be viewed together in the launch configuration dialog, and support a launch history (recent and favorite launches).
-   </documentation>
-</annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-	         <element ref="launchGroup" 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="launchGroup">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch group. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="mode" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the launch mode associated with this group - i.e. run or debug. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string" use="optional">
-            <annotation>
-               <documentation>
-                  specifies the category of launch configurations in this group. When unspecified, the category is null. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a translatable label used to render this group. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="image" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a plug-in relative path to an image used to render this group in trees, lists, tabs, etc. 
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-                  <attribute name="bannerImage" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a plug-in relative path to an image used to render this group in a wizard or dialog banner area. 
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-                  <attribute name="public" type="string" use="optional">
-            <annotation>
-               <documentation>
-                  specifies whether this launch group is public and should be have a visible launch history tab in the debug preferences. The implied value is true, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         2.1
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch group extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-	&lt;extension point="org.eclipse.debug.ui.launchGroups"&gt;
-		&lt;launchGroup
-			  id="com.example.ExampleLaunchGroupId"
-			  mode="run"
-			  label="Run"
-			  image="icons\run.gif"
-			  bannerImage="icons\runBanner.gif"&gt;
-		&lt;/launchGroup&gt;
-	&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-In the above example, the launch group will consist of all launch configurations with no category that support run mode.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href="hglegal.htm"&gt;
- &lt;img SRC="ngibmcpy.gif"
-   ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved."
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/launchShortcuts.exsd b/org.eclipse.debug.ui/schema/launchShortcuts.exsd
deleted file mode 100644
index 6afb2a9..0000000
--- a/org.eclipse.debug.ui/schema/launchShortcuts.exsd
+++ /dev/null
@@ -1,236 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.debug.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.debug.ui" id="filaunchShortcuts" name="Launch Shortcuts"/>
-      </appInfo>
-      <documentation>
-         This extension point provides support for selection sensitive launching.  Extensions register a shortcut which
-appears in the run and/or debug cascade menus to launch the workbench selection or active editor.
-      </documentation>
-   </annotation>
-
-   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="shortcut" 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="shortcut">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="perspective" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="contextualLaunch" minOccurs="0" maxOccurs="1"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a unique identifier for this launch shortcut.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="modes" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a comma-separated list of modes this shortcut supports.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the fully qualified name of a class which implements
-&lt;samp&gt;org.eclipse.debug.ui.ILaunchShortcut&lt;/samp&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.debug.ui.ILaunchShortcut"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies a label used to render this shortcut.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  specifies a plugin-relative path to an image used to render this shortcut. Icon is optional because it is up to other plugins (i.e. Views) to render it.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="category" type="string">
-            <annotation>
-               <documentation>
-                  specifies the launch configuration type category this shortcut is applicable for. When unspecified, the category is null (default).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="helpContextId" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier that specifies the help context to associate with this launch shortcut
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="perspective">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the unique identifier of a perspective in which a menu shortcut for this launch shortcut will appear.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="contextualLaunch">
-      <annotation>
-         <documentation>
-            Holds all descriptions for adding shortcuts to the Run context menu (pop-up).
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="contextLabel" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="contextLabel">
-      <annotation>
-         <documentation>
-            Specify the label for a contextual launch mode.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="mode" use="required">
-            <annotation>
-               <documentation>
-                  specifies a mode from the set {&quot;run&quot;,&quot;debug&quot;,&quot;profile&quot;}
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="run">
-                  </enumeration>
-                  <enumeration value="debug">
-                  </enumeration>
-                  <enumeration value="profile">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the label to appear in the contextual launch menu.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="enablement" type="string">
-      <annotation>
-         <documentation>
-            Enablement logic using XML expression language. This should use some kind of schema reference.
-         </documentation>
-      </annotation>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of a launch shortcut extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.debug.ui.launchShortcuts&quot;&gt;
-  &lt;shortcut
-     id=&quot;com.example.ExampleLaunchShortcutId&quot;
-     modes=&quot;run,debug&quot;
-     class=&quot;com.example.ExampleLaunchShortcutImpl&quot;
-     label=&quot;Example Launch Shortcut&quot;
-     icon=&quot;icons/examples.gif&quot;&gt;
-     &lt;perspective id=&quot;org.eclipse.jdt.ui.JavaPerspective&quot;/&gt;
-     &lt;perspective id=&quot;org.eclipse.debug.ui.DebugPerspective&quot;/&gt;
-  &lt;/shortcut&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the above example, a launch shortcut will be shown in the run and debug cascade menus with the label
-&quot;Example Launch Shortcut&quot;, in the JavaPerspective and the DebugPerspective.
-      </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.ui.ILaunchShortcut&lt;/b&gt;.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &lt;p&gt;
-&lt;a href=&quot;hglegal.htm&quot;&gt;
- &lt;img SRC=&quot;ngibmcpy.gif&quot;
-   ALT=&quot;Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.&quot;
-   BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd b/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
deleted file mode 100644
index 13e68c9..0000000
--- a/org.eclipse.debug.ui/schema/sourceContainerPresentations.exsd
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.ui" id="sourceContainerPresentations" name="Source Container Presentations"/>

-      </appInfo>

-      <documentation>

-         Extension point to define a presentation aspects of a source container type.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <annotation>

-         <documentation>

-            An extension point to define presentation aspects of a source container type.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique id used to refer to this implementation.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The icon that should be displayed for the source container type and instances.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The unique identifier of the source container type for which this presentation is being provided.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A class that can be called to display a browse dialog for the source container type. Must implement ISourceLocationBrowser.

-               </documentation>

-               <appInfo>

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

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

-         Following is an example of an source container presentation definition.

-&lt;pre&gt;

-   &lt;extension point=&quot;org.eclipse.debug.ui.sourceContainerPresentations&quot;&gt;

-      &lt;sourceContainerPresentation

-            browserClass=&quot;org.eclipse.debug.internal.ui.sourcelookup.browsers.ProjectSourceContainerBrowser&quot;

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

-            icon=&quot;icons/full/obj16/prj_obj.gif&quot;

-            id=&quot;org.eclipse.debug.ui.containerPresentation.project&quot;&gt;

-      &lt;/sourceContainerPresentation&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         &lt;p&gt;
-  &lt;a href=&quot;hglegal.htm&quot;&gt;
-   &lt;img SRC=&quot;ngibmcpy.gif&quot;
-     ALT=&quot;Copyright (c) 2003 IBM Corporation and others. All Rights Reserved.&quot;
-     BORDER=0 height=14 width=324&gt;&lt;/a&gt;
-  &lt;/p&gt;

-      </documentation>

-   </annotation>

-

-</schema>

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

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.debug.ui" id="stringVariablePresentations" name="String Variable Presentations"/>

-      </appInfo>

-      <documentation>

-         This extension point provides a mechanism for contributing a user interface/presentation for a string substitution variable (i.e. a context variable or value variable).

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

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

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  specifies the variable this presentation is for

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  specifies a fully qualified name of a Java class that implements IArgumentSelector

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         2.1

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The following is an example of a variable presentation contribution: 
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.debug.ui.stringVariablePresentations&quot;&gt;
-  &lt;variablePresentation 
-     variableName=&quot;example_variable&quot;
-     argumentSelector=&quot;com.example.ExampleArgumentChooser&quot;&gt;
-  &lt;/variablePresentation&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the contributed presentation will be used for the variable named &quot;example_variable&quot;. An argument selector is specified to configure an argument applicable to the variable.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

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

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/org.eclipse.debug.ui/scripts/exportplugin.xml b/org.eclipse.debug.ui/scripts/exportplugin.xml
deleted file mode 100644
index 2b66e4c..0000000
--- a/org.eclipse.debug.ui/scripts/exportplugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.debug.ui Eclipse plugin
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export debug.ui" 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.ui_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}/dtui.jar"
-			basedir="bin"
-		/>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/dtuisrc.zip">
-			<fileset dir="ui"/>
-		</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.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
deleted file mode 100644
index 7af6cc7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/BreakpointImageProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.texteditor.IAnnotationImageProvider;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-
-/**
- * Provides managed images for breakpoint annotations.
- * @since 3.0
- */
-public class BreakpointImageProvider implements IAnnotationImageProvider {
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getManagedImage(org.eclipse.jface.text.source.Annotation)
-	 */
-	public Image getManagedImage(Annotation annotation) {
-		if (annotation instanceof MarkerAnnotation) {
-			IMarker marker = ((MarkerAnnotation)annotation).getMarker();
-			if (marker != null) {
-				IBreakpoint breakpoint = DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-				if (breakpoint != null) {
-					return DebugUIPlugin.getModelPresentation().getImage(breakpoint);
-				}
-			}
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getImageDescriptorId(org.eclipse.jface.text.source.Annotation)
-	 */
-	public String getImageDescriptorId(Annotation annotation) {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IAnnotationImageProvider#getImageDescriptor(java.lang.String)
-	 */
-	public ImageDescriptor getImageDescriptor(String imageDescritporId) {
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
deleted file mode 100644
index c15bc01..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ColorManager.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Generic color manager.
- */
-public class ColorManager {	
-	
-	private static ColorManager fgColorManager;
-	
-	private ColorManager() {
-	}
-	
-	public static ColorManager getDefault() {
-		if (fgColorManager == null) {
-			fgColorManager= new ColorManager();
-		}
-		return fgColorManager;
-	}
-	
-	protected Map fColorTable= new HashMap(10);
-	
-	public Color getColor(RGB rgb) {
-		Color color= (Color) fColorTable.get(rgb);
-		if (color == null) {
-			color= new Color(Display.getCurrent(), rgb);
-			fColorTable.put(rgb, color);
-		}
-		return color;
-	}
-	
-	public void dispose() {
-		Iterator e= fColorTable.values().iterator();
-		while (e.hasNext())
-			((Color) e.next()).dispose();
-	}
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
deleted file mode 100644
index 575d559..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPerspectiveFactory.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * The debug perspective factory.
- */
-public class DebugPerspectiveFactory implements IPerspectiveFactory {
-	
-	/**
-	 * @see IPerspectiveFactory#createInitialLayout(IPageLayout)
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		
-		IFolderLayout consoleFolder = layout.createFolder(IInternalDebugUIConstants.ID_CONSOLE_FOLDER_VIEW, IPageLayout.BOTTOM, (float)0.75, layout.getEditorArea());
-		consoleFolder.addView(IConsoleConstants.ID_CONSOLE_VIEW);
-		consoleFolder.addView(IPageLayout.ID_TASK_LIST);
-		consoleFolder.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-		consoleFolder.addPlaceholder(IPageLayout.ID_PROP_SHEET);
-		
-		IFolderLayout navFolder= layout.createFolder(IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW, IPageLayout.TOP, (float) 0.45, layout.getEditorArea());
-		navFolder.addView(IDebugUIConstants.ID_DEBUG_VIEW);
-		navFolder.addPlaceholder(IPageLayout.ID_RES_NAV);
-		
-		IFolderLayout toolsFolder= layout.createFolder(IInternalDebugUIConstants.ID_TOOLS_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.50, IInternalDebugUIConstants.ID_NAVIGATOR_FOLDER_VIEW);
-		toolsFolder.addView(IDebugUIConstants.ID_VARIABLE_VIEW);
-		toolsFolder.addView(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-		toolsFolder.addPlaceholder(IDebugUIConstants.ID_EXPRESSION_VIEW);
-		toolsFolder.addPlaceholder(IDebugUIConstants.ID_REGISTER_VIEW);
-		
-		IFolderLayout outlineFolder= layout.createFolder(IInternalDebugUIConstants.ID_OUTLINE_FOLDER_VIEW, IPageLayout.RIGHT, (float) 0.75, layout.getEditorArea());
-		outlineFolder.addView(IPageLayout.ID_OUTLINE);
-		
-		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
-		layout.addActionSet(IDebugUIConstants.DEBUG_ACTION_SET);
-		
-		setContentsOfShowViewMenu(layout);
-	}
-	
-	/** 
-	 * Sets the intial contents of the "Show View" menu.
-	 */
-	protected void setContentsOfShowViewMenu(IPageLayout layout) {
-		layout.addShowViewShortcut(IDebugUIConstants.ID_DEBUG_VIEW);
-		layout.addShowViewShortcut(IDebugUIConstants.ID_VARIABLE_VIEW);
-		layout.addShowViewShortcut(IDebugUIConstants.ID_BREAKPOINT_VIEW);
-		layout.addShowViewShortcut(IDebugUIConstants.ID_EXPRESSION_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-		layout.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
deleted file mode 100644
index 720bf64..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugPluginImages.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.osgi.framework.Bundle;
-
-/**
- * The images provided by the debug plugin.
- */
-public class DebugPluginImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static HashMap imageDescriptors;
-
-	private static final String ATTR_LAUNCH_CONFIG_TYPE_ICON = "icon"; //$NON-NLS-1$
-	private static final String ATTR_LAUNCH_CONFIG_TYPE_ID = "configTypeID"; //$NON-NLS-1$
-	
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-		ICON_BASE_URL= DebugUIPlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String CTOOL= "etool16/"; //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 OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String WIZBAN= "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String OVR= "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
-	private final static String VIEW= "eview16/"; // views //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-		// Actions
-		declareRegistryImage(IDebugUIConstants.IMG_ACT_DEBUG, CTOOL + "debug_exc.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_ACT_RUN, CTOOL + "run_exc.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_ACT_SYNCED, ELCL + "synced.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_SKIP_BREAKPOINTS, ELCL + "skip_brkp.gif"); //$NON-NLS-1$
-		
-		//menus
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE, ELCL + "changevariablevalue_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE, DLCL + "changevariablevalue_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE, ELCL + "changevariablevalue_co.gif"); //$NON-NLS-1$
-		
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST, ELCL + "metharg_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST, DLCL + "metharg_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST, ELCL + "metharg_obj.gif"); //$NON-NLS-1$
-		
-		//Local toolbars
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE, ELCL + "toggledetailpane_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER, ELCL + "det_pane_under.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE_RIGHT, ELCL + "det_pane_right.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DETAIL_PANE_HIDE, ELCL + "det_pane_hide.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_LOCK, ELCL + "lock_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_TYPE_NAMES, ELCL + "tnames_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_DISCONNECT, ELCL + "disconnect_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_LCL_REMOVE_ALL, ELCL + "rem_all_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_SHOW_LOGICAL_STRUCTURE, ELCL + "var_cntnt_prvdr.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_COLLAPSE_ALL, ELCL + "collapseall.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_TERMINATE, ELCL + "terminate_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_RUN_TO_LINE, ELCL + "runtoline_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_MONITOR_EXPRESSION, ELCL + "monitorexpression_tsk.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY, ELCL + "removememory_tsk.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_RESET_MEMORY, ELCL + "memoryreset_tsk.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_COPY_VIEW_TO_CLIPBOARD, ELCL + "copyviewtoclipboard_tsk.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_LCL_PRINT_TOP_VIEW_TAB, ELCL + "printview_tsk.gif"); //$NON-NLS-1$
-
-			
-		// disabled local toolbars
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE, DLCL + "toggledetailpane_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER, DLCL + "det_pane_under.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_RIGHT, DLCL + "det_pane_right.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_HIDE, DLCL + "det_pane_hide.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_LOCK, DLCL + "lock_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TYPE_NAMES, DLCL + "tnames_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_SHOW_LOGICAL_STRUCTURE, DLCL + "var_cntnt_prvdr.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_COLLAPSE_ALL, DLCL + "collapseall.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_TERMINATE, DLCL + "terminate_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_REMOVE_ALL, DLCL + "rem_all_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_RUN_TO_LINE, DLCL + "runtoline_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION, DLCL + "monitorexpression_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY, DLCL + "removememory_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_RESET_MEMORY, DLCL + "memoryreset_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_COPY_VIEW_TO_CLIPBOARD, DLCL + "copyviewtoclipboard_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_DLCL_PRINT_TOP_VIEW_TAB, DLCL + "printview_tsk.gif");  //$NON-NLS-1$
-		
-		// enabled local toolbars
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE, ELCL + "toggledetailpane_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER, ELCL + "det_pane_under.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_RIGHT, ELCL + "det_pane_right.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_HIDE, ELCL + "det_pane_hide.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_LOCK, ELCL + "lock_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TYPE_NAMES, ELCL + "tnames_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_SHOW_LOGICAL_STRUCTURE, ELCL + "var_cntnt_prvdr.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_COLLAPSE_ALL, ELCL + "collapseall.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_TERMINATE, ELCL + "terminate_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION, ELCL + "monitorexpression_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY, ELCL + "removememory_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_RESET_MEMORY, ELCL + "memoryreset_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_COPY_VIEW_TO_CLIPBOARD, ELCL + "copyviewtoclipboard_tsk.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ELCL_PRINT_TOP_VIEW_TAB, ELCL + "printview_tsk.gif");  //$NON-NLS-1$
-		
-		//Object
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_DEBUG, OBJECT + "ldebug_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_RUN, OBJECT + "lrun_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_LAUNCH_RUN_TERMINATED, OBJECT + "terminatedlaunch_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET, OBJECT + "debugt_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_SUSPENDED, OBJECT + "debugts_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_TERMINATED, OBJECT + "debugtt_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_RUNNING, OBJECT + "thread_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED, OBJECT + "threads_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_THREAD_TERMINATED, OBJECT + "threadt_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_STACKFRAME, OBJECT + "stckframe_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_STACKFRAME_RUNNING, OBJECT + "stckframe_running_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_VARIABLE, OBJECT + "genericvariable_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_REGISTER, OBJECT + "genericregister_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_REGISTER_GROUP, OBJECT + "genericreggroup_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT, OBJECT + "brkp_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED, OBJECT + "brkpd_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_WATCHPOINT, OBJECT + "readwrite_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_WATCHPOINT_DISABLED, OBJECT + "readwrite_obj_disabled.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_OS_PROCESS, OBJECT + "osprc_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_OS_PROCESS_TERMINATED, OBJECT + "osprct_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_EXPRESSION, OBJECT + "expression_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER_TOP, OBJECT + "inst_ptr_top.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_INSTRUCTION_POINTER, OBJECT + "inst_ptr.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_ARRAY_PARTITION, OBJECT + "arraypartition_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_ENV_VAR, OBJECT + "envvar_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED, OBJECT + "memorychanged_obj.gif");  //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY, OBJECT + "memory_obj.gif");  //$NON-NLS-1$
-		
-		// tabs
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB, OBJECT + "common_tab.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_REFRESH_TAB, OBJECT + "refresh_tab.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OBJS_PERSPECTIVE_TAB, OBJECT + "persp_tab.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_OBJS_ENVIRONMENT, OBJECT + "environment_obj.gif"); //$NON-NLS-1$
-		
-		// Views
-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_BREAKPOINTS, VIEW + "breakpoint_view.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_EXPRESSIONS, VIEW + "watchlist_view.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_LAUNCHES, VIEW + "debug_view.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_VIEW_VARIABLES, VIEW + "variable_view.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_CVIEW_MEMORY_VIEW, VIEW + "memory_view.gif");  //$NON-NLS-1$
-		
-		// Perspectives
-		declareRegistryImage(IDebugUIConstants.IMG_PERSPECTIVE_DEBUG, VIEW + "debug_persp.gif"); //$NON-NLS-1$
-		
-		//Wizard Banners
-		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_DEBUG, WIZBAN + "debug_wiz.gif"); //$NON-NLS-1$
-		declareRegistryImage(IDebugUIConstants.IMG_WIZBAN_RUN, WIZBAN + "run_wiz.gif"); //$NON-NLS-1$
-			
-		// Overlays
-		declareRegistryImage(IDebugUIConstants.IMG_OVR_ERROR, OVR + "error.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT, OVR + "transparent.gif"); //$NON-NLS-1$		
-				
-		//source location
-		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU, ELCL + "edtsrclkup_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU_DLCL, DLCL + "edtsrclkup_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU_ELCL, ELCL + "edtsrclkup_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_TAB, ELCL + "edtsrclkup_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_ADD_SRC_LOC_WIZ, WIZBAN + "addsrcloc_wiz.gif"); //$NON-NLS-1$
-		declareRegistryImage(IInternalDebugUIConstants.IMG_EDIT_SRC_LOC_WIZ, WIZBAN + "edtsrclkup_wiz.gif"); //$NON-NLS-1$
-		
-		// launch configuration types
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES);
-		IConfigurationElement[] configElements= extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configElements.length; i++) {
-			IConfigurationElement configElement = configElements[i];
-			Bundle bundle = Platform.getBundle(configElement.getDeclaringExtension().getNamespace());
-			URL iconURL = bundle.getEntry("/"); //$NON-NLS-1$
-			String iconPath = configElement.getAttribute(ATTR_LAUNCH_CONFIG_TYPE_ICON);
-			ImageDescriptor imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-			try {
-				iconURL = new URL(iconURL, iconPath);
-				imageDescriptor = ImageDescriptor.createFromURL(iconURL);
-			} catch (MalformedURLException mue) {
-				DebugUIPlugin.log(mue);
-			}
-			String configTypeID = configElement.getAttribute(ATTR_LAUNCH_CONFIG_TYPE_ID);
-			if (configTypeID == null) {
-				// bug 12652
-				configTypeID = configElement.getAttribute("type"); //$NON-NLS-1$
-			}			
-			imageRegistry.put(configTypeID, imageDescriptor);				
-			imageDescriptors.put(configTypeID, imageDescriptor);
-		}
-	}
-
-	/**
-	 * 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) {
-			DebugUIPlugin.log(me);
-		}
-		imageRegistry.put(key, desc);
-		imageDescriptors.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 * @see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(DebugUIPlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image</code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor</code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
deleted file mode 100644
index eca8635..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIAdapterFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationFactory;
-import org.eclipse.debug.internal.ui.launchConfigurations.PersistableLaunchConfigurationTypeFactory;
-import org.eclipse.ui.IPersistableElement;
-
-public class DebugUIAdapterFactory implements IAdapterFactory {
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(Object, Class)
-	 */
-	public Object getAdapter(Object obj, Class adapterType) {
-		if (adapterType.isInstance(obj)) {
-			return obj;
-		}
-		
-		if (adapterType == IPersistableElement.class) {
-			if (obj instanceof ILaunchConfiguration) {
-				return new PersistableLaunchConfigurationFactory((ILaunchConfiguration)obj);
-			} else if (obj instanceof ILaunchConfigurationType) {
-				return new PersistableLaunchConfigurationTypeFactory((ILaunchConfigurationType)obj);
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {IPersistableElement.class};
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
deleted file mode 100644
index a4fd559..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugUIMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.DebugUIMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DebugUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
deleted file mode 100644
index 0fe1b11..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-DebugUIPlugin.23=Build in Progress
-DebugUIPlugin.24=Wait for build to finish?
-DebugUIPlugin.25=Build in Progress
-DebugUIPlugin.26=Wait for build to finish?
-DebugUIPlugin.Build_error._Check_log_for_details._2=Build error. Check log for details.
-DebugUIPlugin.Run/Debug_1=Run/Debug
-
-DebugUITools.6=Launch waiting for completion of: 
-DebugUITools.7={0} waiting for completion of {1}
-DebugUITools.8=Launching
-
-DefaultLabelProvider.<disconnected>_1=<disconnected> 
-DefaultLabelProvider.1=<terminated> 
-DefaultLabelProvider.<unknown>_1=<unknown>
-DefaultLabelProvider.Breakpoint_1=Breakpoint
-DefaultLabelProvider.12=\ (pending)
-DefaultLabelProvider.13=\ <error(s)_during_the_evaluation>
-DefaultLabelProvider.15=\ (disabled)
-DefaultLabelProvider.16=<terminated, exit value: {0}> 
-MultipleInputDialog.6=&Browse...
-MultipleInputDialog.7=Select a file:
-MultipleInputDialog.8=Varia&bles...
-
-WorkingDirectoryStatusHandler.Eclipse_Runtime_1=Eclipse Runtime
-WorkingDirectoryStatusHandler.Eclipse_is_not_able_to_set_the_working_directory_specified_by_the_program_being_launched_as_the_current_runtime_does_not_support_working_directories._nContinue_launch_without_setting_the_working_directory__2=Eclipse is not able to set the working directory specified by the program being launched as the current runtime does not support working directories.\nContinue launch without setting the working directory?
-
-DebugUITools.3=Launching
-DebugUITools.Error_1=Error
-DebugUITools.Exception_occurred_during_launch_2=Exception occurred during launch
-DebugUIPlugin.14=Building
-DebugUIPlugin.15=Launching was interrupted while waiting for a build to finish.
-DebugUIPlugin.16=The workspace is currently building, which may cause relevant resources to change. Wait for the build to complete before launching?
-DebugUIPlugin.17=The workspace is currently waiting for another operation to complete before the build will begin. Wait for the build to complete before launching?
-DebugUIPlugin.18=Incomplete Build
-
-InstructionPointerAnnotation.0=Debug Current Instruction Pointer
-InstructionPointerAnnotation.1=Debug Call Stack
-DebugUIPlugin.19=\ (waiting for build to finish...)
-
-PopupInformationControl.1=Press {0} to {1}
-DebugUIPlugin.21=&Always
-DebugUIPlugin.22=Ne&ver
-DefaultLabelProvider.17=\ [line: {0}]
-
-##############################################################
-# Action
-##############################################################
-AddMemoryBlockAction.title=Add Memory Monitor
-AddMemoryBlockAction.tooltip=Add Memory Monitor
-AddMemoryBlockAction.failed =Add Memory Monitor Failed.
-AddMemoryBlockAction.expressionEvalFailed = Expression cannot be evaluated to an address.
-AddMemoryBlockAction.noMemoryBlock = Failed to get memory monitor.
-RemoveMemoryBlockAction.title=Remove Memory Monitor
-RemoveMemoryBlockAction.tooltip=Remove Memory Monitor
-MemoryViewCellModifier.failure_title = Edit Memory
-MemoryViewCellModifier.failed = Edit failed:
-MemoryViewCellModifier.data_is_invalid = Data is invalid.
-MemoryViewCellModifier.data_is_too_long = Data is too long.
-ResetMemoryBlockAction.title = Reset to Base Address
-ResetMemoryBlockAction.tootip = Reset to Base Address
-ResetMemoryBlockAction.Failed_to_Reset = Failed to Reset
-ResetMemoryBlockAction.Failed_to_reset_to_base_address = Failed to reset to base address.
-GoToAddressAction.title = Go to Address...
-GoToAddressAction.Go_to_address_failed = Go To Address Failed
-GoToAddressAction.Address_is_invalid = Address is invalid
-GoToAddressAction.tooltip = Go to Address...
-FormatColumnAction.byte = byte
-FormatColumnAction.bytes = bytes
-SetColumnSizeDefaultAction.Set_as_default = Set as Default
-CopyViewToClipboardAction.title = Copy To Clipboard
-CopyViewToClipboardAction.tooltip = Copy To Clipboard
-PrintViewTabAction.title = Print
-PrintViewTabAction.tooltip = Print
-PrintViewTabAction.jobtitle = Memory for
-ReformatAction.title = Reformat
-SetDefaultColumnSizePrefAction.DefaultColumnSize = &Default Column Size...
-SetDefaultColumnSizePrefAction.SetDefaultColumnSize = Set Default Column Size
-
-##############################################################
-# Dialog
-##############################################################
-MonitorMemoryBlockDialog.EnterExpressionToMonitor = Enter address or expression to monitor:
-MonitorMemoryBlockDialog.MonitorMemory = Monitor Memory
-MonitorMemoryBlockDialog.NumberOfBytes = Number of bytes:
-GoToAddressDialog.Address = Address:
-GoToAddressDialog.GoToAddress = Go To Address...
-DefaultColumnSizeDialog.DefaultColumnSize = Default Column Size
-DefaultColumnSizeDialog.ColumnSize = &Column Size:
-
-##############################################################
-# View Tab
-##############################################################
-MemoryViewTab.Address = Address
-MemoryViewTab.Error = Error creating tab:\n
-MemoryViewTab.Address_is_out_of_range = Address is out of range.
-MemoryViewTab.Format_is_invalid = Format is invalid.
-MemoryViewTab.Column_size = Column Size
-MemoryViewTab.Add_rendering = Add Rendering
-MemoryViewTab.Unable_to_retrieve_base_address = Unable to retrieve base address from the memory monitor.
-MemoryViewTab.Unknown = <Unknown>
-MemoryViewContentProvider.Unable_to_retrieve_content = Unable to retrieve content.
-
-##############################################################
-# Views
-##############################################################
-MemoryRenderingView.Failed_to_create_rendering = Failed to create rendering
-MemoryRenderingView.Failed_to_create_the_selected_rendering = Failed to create the selected rendering.
-
-##############################################################
-# Managers
-##############################################################
-MemoryRenderingManager.ErrorTitle = Create Rendering Error
-MemoryRenderingManager.ErrorMsg = The selected rendering cannot be created.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
deleted file mode 100644
index a5dd4fe..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ /dev/null
@@ -1,1015 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-
-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.IncrementalProjectBuilder;
-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.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-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.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-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.internal.ui.actions.DebugContextManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.debug.internal.ui.views.console.ConsoleDocumentManager;
-import org.eclipse.debug.internal.ui.views.memory.IMemoryBlockViewSynchronizer;
-import org.eclipse.debug.internal.ui.views.memory.MemoryBlockViewSynchronizer;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.progress.IProgressService;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.w3c.dom.Document;
-
-/**
- * The Debug UI Plugin.
- *
- */
-public class DebugUIPlugin extends AbstractUIPlugin implements ILaunchListener {
-	
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.debug.ui"</code>)
-	 * for the Debug UI plug-in.
-	 */
-	private static final String PI_DEBUG_UI = "org.eclipse.debug.ui"; //$NON-NLS-1$
-	
-	/**
-	 * The singleton debug plugin instance
-	 */
-	private static DebugUIPlugin fgDebugUIPlugin= null;
-	
-	/**
-	 * A utility presentation used to obtain labels
-	 */
-	protected static IDebugModelPresentation fgPresentation = null;
-
-	/**
-	 * Default label provider
-	 */	
-	private static DefaultLabelProvider fgDefaultLabelProvider;
-	
-	/**
-	 * Launch configuration attribute - used by the stand-in launch
-	 * config working copies that are created while a launch is waiting
-	 * for a build to finish. This attribute allows the EditLaunchConfigurationAction
-	 * to access the original config if the user asks to edit it.
-	 */
-	public static String ATTR_LAUNCHING_CONFIG_HANDLE= getUniqueIdentifier() + "launching_config_handle"; //$NON-NLS-1$
-	
-	/**
-	 * Flag indicating whether the debug UI is in trace
-	 * mode. When in trace mode, extra debug information
-	 * is produced.
-	 */
-	private boolean fTrace = false;	
-	
-	/**
-	 * Singleton console document manager
-	 */
-	private ConsoleDocumentManager fConsoleDocumentManager = null;
-	
-	/**
-	 * Perspective manager
-	 */
-	private PerspectiveManager fPerspectiveManager = null;
-	
-	/**
-	 * Launch configuration manager
-	 */
-	private LaunchConfigurationManager fLaunchConfigurationManager = null;
-	
-	/**
-	 * Step filter manager
-	 */
-	private StepFilterManager fStepFilterManager = null;
-	
-	
-	private MemoryBlockViewSynchronizer fMemBlkViewSynchronizer = null;
-	
-	/**
-	 * Returns whether the debug UI plug-in is in trace
-	 * mode.
-	 * 
-	 * @return whether the debug UI plug-in is in trace
-	 *  mode
-	 */
-	public boolean isTraceMode() {
-		return fTrace;
-	}
-	
-	/**
-	 * Logs the given message if in trace mode.
-	 * 
-	 * @param String message to log
-	 */
-	public static void logTraceMessage(String message) {
-		if (getDefault().isTraceMode()) {
-			IStatus s = new Status(IStatus.WARNING, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, message, null);
-			getDefault().getLog().log(s);
-		}
-	}
-
-	/**
-	 * Constructs the debug UI plugin
-	 */
-	public DebugUIPlugin() {
-		super();
-		fgDebugUIPlugin= this;
-	}
-		
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Returns the singleton instance of the debug plugin.
-	 */
-	public static DebugUIPlugin getDefault() {
-		return fgDebugUIPlugin;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_DEBUG_UI;
-	}
-
-	public static IDebugModelPresentation getModelPresentation() {
-		if (fgPresentation == null) {
-			fgPresentation = new DelegatingModelPresentation();
-		}
-		return fgPresentation;
-	}
-	
-	public LaunchConfigurationManager getLaunchConfigurationManager() {
-		if (fLaunchConfigurationManager == null) {
-			fLaunchConfigurationManager = new LaunchConfigurationManager();
-		} 
-		return fLaunchConfigurationManager;
-	}
-
-
-	public IMemoryBlockViewSynchronizer getMemoryBlockViewSynchronizer(){
-	
-		if (fMemBlkViewSynchronizer == null) {
-			fMemBlkViewSynchronizer = new MemoryBlockViewSynchronizer();
-		}
-		
-		return fMemBlkViewSynchronizer;
-	}
-	
-	/**
-	 * Returns the currently active workbench window or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the currently active workbench window or <code>null</code>
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-	
-	/**
-	 * Returns the currently active workbench window shell or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the currently active workbench window shell or <code>null</code>
-	 */
-	public static Shell getShell() {
-		if (getActiveWorkbenchWindow() != null) {
-			return getActiveWorkbenchWindow().getShell();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the default label provider for the debug UI.
-	 */
-	public static ILabelProvider getDefaultLabelProvider() {
-		if (fgDefaultLabelProvider == null) {
-			fgDefaultLabelProvider = new DefaultLabelProvider();
-		}
-		return fgDefaultLabelProvider;
-	}
-
-	/**
-	 * Creates an extension.  If the extension plugin has not
-	 * been loaded a busy cursor will be activated during the duration of
-	 * the load.
-	 *
-	 * @param element the config element defining the extension
-	 * @param classAttribute the name of the attribute carrying the class
-	 * @return the extension object
-	 */
-	public static Object createExtension(final IConfigurationElement element, final String classAttribute) throws CoreException {
-		// If plugin has been loaded create extension.
-		// Otherwise, show busy cursor then create extension.
-		Bundle bundle = Platform.getBundle(element.getDeclaringExtension().getNamespace());
-		if (bundle.getState() == Bundle.ACTIVE) {
-			return element.createExecutableExtension(classAttribute);
-		} 
-		final Object [] ret = new Object[1];
-		final CoreException [] exc = new CoreException[1];
-		BusyIndicator.showWhile(null, new Runnable() {
-			public void run() {
-				try {
-					ret[0] = element.createExecutableExtension(classAttribute);
-				} catch (CoreException e) {
-					exc[0] = e;
-				}
-			}
-		});
-		if (exc[0] != null) {
-			throw exc[0];
-		}
-		return ret[0];
-	}	
-	
-	protected ImageRegistry createImageRegistry() {
-		return DebugPluginImages.initializeImageRegistry();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (fPerspectiveManager != null) {
-				fPerspectiveManager.shutdown();
-			}
-			if (fLaunchConfigurationManager != null) {
-				fLaunchConfigurationManager.shutdown();
-			}
-			if (fConsoleDocumentManager != null) {
-				fConsoleDocumentManager.shutdown();
-			}
-			if (fStepFilterManager != null) {
-				fStepFilterManager.shutdown();
-			}
-			
-			ColorManager.getDefault().dispose();
-			
-			if (fgPresentation != null) {
-				fgPresentation.dispose();
-			}
-			
-			if (fMemBlkViewSynchronizer != null){
-				fMemBlkViewSynchronizer.shutdown();
-			}
-		} finally {
-			super.stop(context);
-		}
-	}
-
-	/**
-	 * @see AbstractUIPlugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		// Listen to launches to lazily create "launch processors"
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-		
-		IAdapterManager manager= Platform.getAdapterManager();
-		DebugUIPropertiesAdapterFactory propertiesFactory = new DebugUIPropertiesAdapterFactory();
-		manager.registerAdapters(propertiesFactory, IDebugElement.class);
-		manager.registerAdapters(propertiesFactory, IProcess.class);
-		DebugUIAdapterFactory uiFactory = new DebugUIAdapterFactory();
-		manager.registerAdapters(uiFactory, ILaunchConfiguration.class);
-		manager.registerAdapters(uiFactory, ILaunchConfigurationType.class);
-		getStandardDisplay().asyncExec(
-			new Runnable() {
-				public void run() {
-					//initialize the selected resource manager
-					SelectedResourceManager.getDefault();
-				}
-			});	
-	}
-
-	/**
-	 * @see AbstractUIPlugin#initializeDefaultPreferences
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore prefs) {
-		//Debug PreferencePage
-		prefs.setDefault(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, MessageDialogWithToggle.PROMPT);
-		prefs.setDefault(IDebugUIConstants.PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT, IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
-		prefs.setDefault(IDebugUIConstants.PREF_SHOW_RUN_PERSPECTIVE_DEFAULT, IDebugUIConstants.PERSPECTIVE_NONE);
-		prefs.setDefault(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, true);
-		prefs.setDefault(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW, true);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE, MessageDialogWithToggle.NEVER);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND, MessageDialogWithToggle.PROMPT);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD, MessageDialogWithToggle.ALWAYS);
-		prefs.setDefault(IDebugUIConstants.PREF_REUSE_EDITOR, true);
-		prefs.setDefault(IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE, false);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE, MessageDialogWithToggle.NEVER);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR, MessageDialogWithToggle.PROMPT);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK, false);
-		
-		//View Management preference page
-		prefs.setDefault(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES, IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
-		prefs.setDefault(IInternalDebugUIConstants.PREF_TRACK_VIEWS, true);
-		
-		//ConsolePreferencePage
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_WRAP, false);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_WIDTH, 80);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, true);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, true);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT, true);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, 80000);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK, 100000);
-		prefs.setDefault(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, 8);
-		
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, new RGB(0, 0, 255));
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, new RGB(0, 200, 125));
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR, new RGB(255, 0, 0));
-		
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.MEMORY_VIEW_UNBUFFERED_LINE_COLOR, new RGB(114, 119, 129));
-		
-		//LaunchHistoryPreferencePage
-		prefs.setDefault(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, 10);
-		
-		//VariableViewsPreferencePage
-		prefs.setDefault(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
-		PreferenceConverter.setDefault(prefs, IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR, new RGB(255, 0, 0));
-		prefs.setDefault(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP, false);
-		
-		//Registers View
-		prefs.setDefault(IDebugPreferenceConstants.REGISTERS_DETAIL_PANE_ORIENTATION, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH);
-		
-		// Variable/Expression view default settings
-		prefs.setDefault(IDebugUIConstants.ID_VARIABLE_VIEW + '+' + "org.eclipse.debug.ui.ShowDetailPaneAction", true); //$NON-NLS-1$
-		prefs.setDefault(IDebugUIConstants.ID_EXPRESSION_VIEW + '+' + "org.eclipse.debug.ui.ShowDetailPaneAction", true); //$NON-NLS-1$
-		prefs.setDefault(IDebugUIConstants.ID_VARIABLE_VIEW + '+' + "org.eclipse.debug.ui.ShowTypeNamesAction", false); //$NON-NLS-1$
-		prefs.setDefault(IDebugUIConstants.ID_EXPRESSION_VIEW + '+' + "org.eclipse.debug.ui.ShowTypeNamesAction", false);		 //$NON-NLS-1$
-		
-		// Step filter preferences
-		prefs.setDefault(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS, false);
-		
-		// set default for column size preference
-		prefs.setDefault(IDebugPreferenceConstants.PREF_COLUMN_SIZE, 
-				IDebugPreferenceConstants.PREF_COLUMN_SIZE_DEFAULT);
-	}
-
-	protected IProcess getProcessFromInput(Object input) {
-		IProcess processInput= null;
-		if (input instanceof IProcess) {
-			processInput= (IProcess) input;
-		} else
-			if (input instanceof ILaunch) {
-				IDebugTarget target= ((ILaunch) input).getDebugTarget();
-				if (target != null) {
-					processInput= target.getProcess();
-				} else {
-					IProcess[] processes= ((ILaunch) input).getProcesses();
-					if ((processes != null) && (processes.length > 0)) {
-						processInput= processes[0];
-					}
-				}
-			} else
-				if (input instanceof IDebugElement) {
-					processInput= ((IDebugElement) input).getDebugTarget().getProcess();
-				}
-
-		return processInput;
-	}
-
-	/**
-	 * Utility method with conventions
-	 */
-	public static void errorDialog(Shell shell, String title, String message, IStatus s) {
-		// if the 'message' resource string and the IStatus' message are the same,
-		// don't show both in the dialog
-		if (s != null && message.equals(s.getMessage())) {
-			message= null;
-		}
-		ErrorDialog.openError(shell, title, message, s);
-	}
-	
-	/**
-	 * 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(), IDebugUIConstants.INTERNAL_ERROR, "Error within Debug UI: ", t); //$NON-NLS-1$
-			log(status);	
-		}
-		ErrorDialog.openError(shell, title, message, status);
-	}
-
-	/**
-	 * 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) {
-		log(newErrorStatus("Error logged from Debug UI: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs the given message if in debug mode.
-	 * 
-	 * @param String message to log
-	 */
-	public static void logDebugMessage(String message) {
-		if (getDefault().isDebugging()) {
-			logErrorMessage(message);
-		}
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		// this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		log(newErrorStatus("Internal message logged from Debug UI: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plugin 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(), IDebugUIConstants.INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Save all dirty editors in the workbench.
-	 * Returns whether the operation succeeded.
-	 * 
-	 * @return whether all saving was completed
-	 */
-	protected static boolean saveAllEditors(boolean confirm) {
-		if (getActiveWorkbenchWindow() == null) {
-			return false;
-		}
-		return PlatformUI.getWorkbench().saveAllEditors(confirm);
-	}	
-	
-	/**
-	 * Save & build the workspace according to the user-specified preferences.  Return <code>false</code> if
-	 * any problems were encountered, <code>true</code> otherwise.
-	 */
-	public static boolean saveAndBuild() {
-		boolean status = true;
-		String saveDirty = getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-		boolean buildBeforeLaunch = getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH);
-		boolean autobuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-		
-		// If we're ignoring dirty editors, check if we need to build
-		if (saveDirty.equals(MessageDialogWithToggle.NEVER)) {
-			if (buildBeforeLaunch) {
-				return doBuild();
-			}
-		} else {
-			status = saveAllEditors(saveDirty.equals(MessageDialogWithToggle.PROMPT));
-			if (status && !autobuilding && buildBeforeLaunch) {
-				status = doBuild();
-			}
-		}
-				
-		return status;
-	}
-	
-	private static boolean doBuild() {
-		try {
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException {
-					try {
-						ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
-					} catch (CoreException e) {
-						throw new InvocationTargetException(e);
-					}
-				}
-			});
-		} catch (InterruptedException e) {
-			// cancelled by user
-			return false;
-		} catch (InvocationTargetException e) {
-			String title= DebugUIMessages.getString("DebugUIPlugin.Run/Debug_1"); //$NON-NLS-1$
-			String message= DebugUIMessages.getString("DebugUIPlugin.Build_error._Check_log_for_details._2"); //$NON-NLS-1$
-			Throwable t = e.getTargetException();
-			errorDialog(getShell(), title, message, t);
-			return false;
-		}
-		return true;
-	}	
-	
-	/**
-	 * 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;		
-	}	
-	
-	/**
-	 * Returns the a color based on the type of output.
-	 * Valid types:
-	 * <li>CONSOLE_SYS_OUT_RGB</li>
-	 * <li>CONSOLE_SYS_ERR_RGB</li>
-	 * <li>CONSOLE_SYS_IN_RGB</li>
-	 * <li>CHANGED_VARIABLE_RGB</li>
-	 */
-	public static Color getPreferenceColor(String type) {
-		return ColorManager.getDefault().getColor(PreferenceConverter.getColor(getDefault().getPreferenceStore(), type));
-	}
-
-	/**
-	 * Returns the console document manager. The manager will be created lazily on 
-	 * the first access.
-	 * 
-	 * @return ConsoleDocumentManager
-	 */
-	public ConsoleDocumentManager getConsoleDocumentManager() {
-		if (fConsoleDocumentManager == null) {
-			fConsoleDocumentManager = new ConsoleDocumentManager();
-		}
-		return fConsoleDocumentManager;
-	}
-	
-	/**
-	 * Serializes a XML document into a string - encoded in UTF8 format,
-	 * with platform line separators.
-	 * 
-	 * @param doc document to serialize
-	 * @return the document as a string
-	 * @throws TransformerException if an unrecoverable error occurs during the serialization
-	 * @throws IOException if the encoding attempted to be used is not supported
-	 */
-	public static String serializeDocument(Document doc) throws TransformerException, IOException {
-		ByteArrayOutputStream s= new ByteArrayOutputStream();
-		
-		TransformerFactory factory= TransformerFactory.newInstance();
-		
-		Transformer transformer= factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-		
-		DOMSource source= new DOMSource(doc);
-		StreamResult outputTarget= new StreamResult(s);
-		transformer.transform(source, outputTarget);
-		
-		return s.toString("UTF8"); //$NON-NLS-1$			
-	}
-	
-	/**
-	 * Returns a Document that can be used to build a DOM tree
-	 * @return the Document
-	 * @throws ParserConfigurationException if an exception occurs creating the document builder
-	 * @since 3.0
-	 */
-	public static Document getDocument() throws ParserConfigurationException {
-		DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
-
-		DocumentBuilder docBuilder= dfactory.newDocumentBuilder();
-		Document doc= docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Determines and returns the selection in the specified window.  If nothing is
-	 * actually selected, look for an active editor.
-	 */
-	public static IStructuredSelection resolveSelection(IWorkbenchWindow window) {
-		if (window == null) {
-			return null;
-		}
-		ISelection selection= window.getSelectionService().getSelection();
-		if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {
-			// there is no obvious selection - go fishing
-			selection= null;
-			IWorkbenchPage page= window.getActivePage();
-			if (page == null) {
-				//workspace is closed
-				return null;
-			}
-
-			// first, see if there is an active editor, and try its input element
-			IEditorPart editor= page.getActiveEditor();
-			Object element= null;
-			if (editor != null) {
-				element= editor.getEditorInput();
-			}
-
-			if (selection == null && element != null) {
-				selection= new StructuredSelection(element);
-			}
-		}
-		return (IStructuredSelection)selection;
-	}
-	
-	/**
-	 * When the first launch is added, instantiate launch processors,
-	 * and stop listening to launch notifications.
-	 * <p>
-	 * Launch processors are:
-	 * <ul>
-	 * <li>console document manager</li>
-	 * <li>perspective manager</li>
-	 * </ul>
-	 * </p>
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-		getConsoleDocumentManager().startup();
-		
-		if (fPerspectiveManager == null) {
-			PerspectiveManager manager = getPerspectiveManager();
-			manager.launchAdded(launch);
-		}
-		
-		if (fStepFilterManager == null) {
-			getStepFilterManager().launchAdded(launch);
-		}
-		DebugContextManager.getDefault().launchesAdded(new ILaunch[] { launch });
-		
-		getLaunchConfigurationManager().startup();
-	}
-	
-	/**
-	 * Returns the persepective manager - instantiating it if required.
-	 * 
-	 * @return
-	 */
-	public PerspectiveManager getPerspectiveManager() {
-		if (fPerspectiveManager == null) {
-			fPerspectiveManager = new PerspectiveManager();
-			fPerspectiveManager.startup();			
-		}
-		return fPerspectiveManager;
-	}
-	
-	/**
-	 * Returns the singleton step filter manager.
-	 * 
-	 * @return the step filter manager
-	 */
-	public StepFilterManager getStepFilterManager() {
-		if (fStepFilterManager == null) {
-			fStepFilterManager = new StepFilterManager();
-		}
-		return fStepFilterManager;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-
-	/**
-	 * Save dirty editors before launching, according to preferences.
-	 * 
-	 * @return whether to proceed with launch 
-	 */
-	public static boolean preLaunchSave() {
-		String saveDirty = getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH);
-		if (saveDirty.equals(MessageDialogWithToggle.NEVER)) {
-			return true;
-		} 
-		return saveAllEditors(saveDirty.equals(MessageDialogWithToggle.PROMPT));
-	}
-	
-	/**
-	 * Builds the workspace (according to preferences) and launches the given launch
-	 * configuration in the specified mode. May return null if autobuild is in process and 
-	 * user cancels the launch.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode launch mode - run or debug
-	 * @param monitor progress monitor
-	 * @exception CoreException if an exception occurs while building or launching
-	 * @return resulting launch or <code>null</code> if user cancels
-	 */
-	public static ILaunch buildAndLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		boolean buildBeforeLaunch = getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH);
-		boolean autobuilding = ResourcesPlugin.getWorkspace().isAutoBuilding();
-		IProgressMonitor subMonitor = monitor;
-		String message = MessageFormat.format("{0}...", new String[]{configuration.getName()}); //$NON-NLS-1$
-		if (!autobuilding && buildBeforeLaunch) {
-			monitor.beginTask(message, 200);
-			return configuration.launch(mode, monitor, true);	
-		} 
-		subMonitor = monitor;
-		subMonitor.beginTask(message, 100);
-		return configuration.launch(mode, subMonitor); 
-	}
-	
-	/**
-	 * Saves and builds the workspace according to current preference settings and
-	 * launches the given launch configuration in the specified mode in the
-	 * foreground with a progress dialog. Reports any exceptions that occur
-	 * in an error dialog.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode launch mode
-	 * @since 3.0
-	 */
-	public static void launchInForeground(final ILaunchConfiguration configuration, final String mode) {
-		if (!DebugUIPlugin.preLaunchSave()) {
-			return;
-		}
-			
-		final IJobManager jobManager = Platform.getJobManager();
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		boolean wait = false;
-		
-		if (jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD).length > 0 || jobManager.find(ResourcesPlugin.FAMILY_MANUAL_BUILD).length >0) {
-			String waitForBuild = store.getString(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD);
-
-			if (waitForBuild.equals(MessageDialogWithToggle.PROMPT)) {
-				MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(getShell(), DebugUIMessages.getString("DebugUIPlugin.23"), DebugUIMessages.getString("DebugUIPlugin.24"), null, false, store, IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD); //$NON-NLS-1$ //$NON-NLS-2$
-				
-				switch (dialog.getReturnCode()) {
-					case IDialogConstants.CANCEL_ID:
-						return;
-					case IDialogConstants.YES_ID:
-						wait = false;
-						break;
-					case IDialogConstants.NO_ID:
-						wait = true;
-						break;
-				}
-			} else if (waitForBuild.equals(MessageDialogWithToggle.ALWAYS)) {
-				wait = true;
-			}
-		}
-
-		if (wait) {
-			IWorkbench workbench = DebugUIPlugin.getDefault().getWorkbench();
-			IProgressService progressService = workbench.getProgressService();
-			final IRunnableWithProgress runnable = new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException {
-					try {
-						jobManager.join(ResourcesPlugin.FAMILY_AUTO_BUILD, monitor);
-						jobManager.join(ResourcesPlugin.FAMILY_MANUAL_BUILD, monitor);
-					} catch (InterruptedException e) {
-						// continue
-					}
-					if (!monitor.isCanceled()) {
-						try {
-							buildAndLaunch(configuration, mode, monitor);
-						} catch (CoreException e) {
-							throw new InvocationTargetException(e);
-						}
-					}
-				}		
-			};			
-			try {
-				progressService.busyCursorWhile(runnable);
-			} catch (InterruptedException e) {
-			} catch (InvocationTargetException e2) {
-				handleInvocationTargetException(e2, configuration, mode);
-			}
-		} else {
-			IRunnableWithProgress runnable = new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException {
-					try {
-						buildAndLaunch(configuration, mode, monitor);
-					} catch (CoreException e) {
-						throw new InvocationTargetException(e);
-					}
-				}		
-			};
-			try {
-				PlatformUI.getWorkbench().getProgressService().busyCursorWhile(runnable);
-			} catch (InvocationTargetException e) {
-				handleInvocationTargetException(e, configuration, mode);
-			} catch (InterruptedException e) {
-			}							
-
-		}
-	}
-	
-	private static void handleInvocationTargetException(InvocationTargetException e, ILaunchConfiguration configuration, String mode) {
-		Throwable targetException = e.getTargetException();
-		Throwable t = e;
-		if (targetException instanceof CoreException) {
-			t = targetException;
-		}
-		if (t instanceof CoreException) {
-			CoreException ce = (CoreException)t;
-			IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(ce.getStatus());
-			if (handler != null) {
-				ILaunchGroup group = DebugUITools.getLaunchGroup(configuration, mode);
-				if (group != null) {
-					DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(configuration), group.getIdentifier(), ce.getStatus());
-					return;
-				}
-			}
-		}
-		DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIMessages.getString("DebugUITools.Error_1"), DebugUIMessages.getString("DebugUITools.Exception_occurred_during_launch_2"), t); //$NON-NLS-1$ //$NON-NLS-2$		
-	}
-	
-	/**
-	 * Saves and builds the workspace according to current preference settings and
-	 * launches the given launch configuration in the specified mode in a background
-	 * Job with progress reported via the Job. Exceptions are reported in the Progress
-	 * view.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode launch mode
-	 * @since 3.0
-	 */
-	public static void launchInBackground(final ILaunchConfiguration configuration, final String mode) {
-		if (!DebugUIPlugin.preLaunchSave()) {
-			return;
-		}
-
-		final IJobManager jobManager = Platform.getJobManager();
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-
-		boolean wait = (jobManager.find(ResourcesPlugin.FAMILY_AUTO_BUILD).length > 0) || (jobManager.find(ResourcesPlugin.FAMILY_MANUAL_BUILD).length > 0);
-		
-		String waitPref = store.getString(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD);
-		if (wait) { // if there are build jobs running, do we wait or not??
-			if (waitPref.equals(MessageDialogWithToggle.PROMPT)) {
-				MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(getShell(), DebugUIMessages.getString("DebugUIPlugin.23"), DebugUIMessages.getString("DebugUIPlugin.24"), null, false, store, IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD); //$NON-NLS-1$ //$NON-NLS-2$
-				
-				switch (dialog.getReturnCode()) {
-					case IDialogConstants.CANCEL_ID:
-						return;
-					case IDialogConstants.YES_ID:
-						wait = true;
-						break;
-					case IDialogConstants.NO_ID:
-						wait = false;
-						break;
-				}
-			} else {
-				wait = waitPref.equals(MessageDialogWithToggle.ALWAYS);
-			}
-		}
-		
-		final boolean waitInJob = wait;
-		Job job = new Job(DebugUIMessages.getString("DebugUITools.3")) { //$NON-NLS-1$
-			public IStatus run(IProgressMonitor monitor) {
-				try {
-					if(waitInJob) {
-						try {
-							jobManager.join(ResourcesPlugin.FAMILY_AUTO_BUILD, monitor);
-							jobManager.join(ResourcesPlugin.FAMILY_MANUAL_BUILD, monitor);
-						} catch (InterruptedException e) {
-							// just continue.
-						}
-					}
-					
-					if (!monitor.isCanceled()) {
-						buildAndLaunch(configuration, mode, monitor);
-					}
-					
-				} catch (CoreException e) {
-					final IStatus status= e.getStatus();
-					IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-					if (handler == null) {
-						return status;
-					}
-					final ILaunchGroup group = DebugUITools.getLaunchGroup(configuration, mode);
-					if (group == null) {
-						return status;
-					}
-					Runnable r = new Runnable() {
-						public void run() {
-							DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(configuration), group.getIdentifier(), status);
-						}	
-					};
-					DebugUIPlugin.getStandardDisplay().asyncExec(r);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-
-		IWorkbench workbench = DebugUIPlugin.getDefault().getWorkbench();
-		IProgressService progressService = workbench.getProgressService();
-
-		job.setPriority(Job.INTERACTIVE);
-		job.setName(DebugUIMessages.getString("DebugUITools.8")); //$NON-NLS-1$
-		if (wait) {
-			progressService.showInDialog(workbench.getActiveWorkbenchWindow().getShell(), job); 
-		}
-		job.schedule();
-	}
-
-	/**
-	 * Returns the label with any acclerators removed.
-	 * 
-	 * @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 && index < (title.length() - 1)){
-				String first = title.substring(0, index);
-				String last = title.substring(index + 1);
-				title = first + last;
-			}		
-		}
-		return title;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
deleted file mode 100644
index 3bf16aa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPropertiesAdapterFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * This factory and the IWorkbenchAdapter that it provides exist so that
- * a properties dialog that is realized on a launches view element will have a 
- * title.
- */
-/*package*/ class DebugUIPropertiesAdapterFactory implements IAdapterFactory {
-
-	class DebugUIPropertiesAdapter implements IWorkbenchAdapter {
-	
-		/**
-		 * @see IWorkbenchAdapter#getChildren(Object)
-		 */
-		public Object[] getChildren(Object o) {
-			return new Object[0];
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-		 */
-		public ImageDescriptor getImageDescriptor(Object object) {
-			return DebugUITools.getDefaultImageDescriptor(object);
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getLabel(Object)
-		 */
-		public String getLabel(Object o) {
-			IDebugModelPresentation presentation= DebugUIPlugin.getModelPresentation();
-			return presentation.getText(o);
-		}
-
-		/**
-		 * @see IWorkbenchAdapter#getParent(Object)
-		 */
-		public Object getParent(Object o) {
-			return null;
-		}
-	}
-	
-	/**
-	 * @see IAdapterFactory#getAdapter(Object, Class)
-	 */
-	public Object getAdapter(Object obj, Class adapterType) {
-		if (adapterType.isInstance(obj)) {
-			return obj;
-		}
-		if (adapterType == IWorkbenchAdapter.class) {
-			if (obj instanceof IDebugElement) {
-				return new DebugUIPropertiesAdapter();
-			}
-			if (obj instanceof IProcess) {
-				return new DebugUIPropertiesAdapter();
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {
-			IWorkbenchAdapter.class
-		};
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
deleted file mode 100644
index 2aa19ae..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-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.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IRegister;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class DefaultLabelProvider implements ILabelProvider {
-
-	/**
-	 * @see ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		String key= getImageKey(element);
-		if (key == null && element instanceof IAdaptable) {
-			IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) element).getAdapter(IWorkbenchAdapter.class);
-			if (de != null) {
-				ImageDescriptor descriptor= de.getImageDescriptor(element);
-				if( descriptor != null) {
-					return descriptor.createImage();
-				}
-			}
-			return null;
-		}
-		return DebugPluginImages.getImage(key);
-	}
-	
-	/**
-	 * Returns the key (<code>String</code>) of the default image
-	 * appropriate for the given element or <code>null</code>
-	 * if no default image is defined.
-	 */
-	public String getImageKey(Object element) {
-		if (element instanceof IDebugElement) {
-			// Group elements into debug elements and non-debug elements
-			// to reduce the number of instanceof checks performed
-			if (element instanceof IRegister) {
-				return IDebugUIConstants.IMG_OBJS_REGISTER;
-			} else if (element instanceof IRegisterGroup) {
-				return IDebugUIConstants.IMG_OBJS_REGISTER_GROUP;
-			} else if (element instanceof IVariable || element instanceof IValue) {
-				if (element instanceof IndexedVariablePartition) {
-					return IInternalDebugUIConstants.IMG_OBJS_ARRAY_PARTITION;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_VARIABLE;
-				}
-			} else if (element instanceof IStackFrame) {
-				if (((IStackFrame)element).getThread().isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_STACKFRAME;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_STACKFRAME_RUNNING;					
-				}
-			} else if (element instanceof IThread) {
-				IThread thread = (IThread)element;
-				if (thread.isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_THREAD_SUSPENDED;
-				} else if (thread.isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_THREAD_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_THREAD_RUNNING;
-				}
-			} else if (element instanceof IDebugTarget) {
-				IDebugTarget target= (IDebugTarget) element;
-				if (target.isTerminated() || target.isDisconnected()) {
-					return IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_TERMINATED;
-				} else if (target.isSuspended()) {
-					return IDebugUIConstants.IMG_OBJS_DEBUG_TARGET_SUSPENDED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_DEBUG_TARGET;
-				}
-			} else if (element instanceof IExpression) {
-				return IDebugUIConstants.IMG_OBJS_EXPRESSION;
-			}
-		} else {
-			if (element instanceof IMarker) {
-				return getMarkerImageKey((IMarker)element);
-			} else if (element instanceof IBreakpoint) {
-				return getBreakpointImageKey((IBreakpoint)element);
-			} else if (element instanceof IProcess) {
-				if (((IProcess) element).isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_OS_PROCESS_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_OS_PROCESS;
-				}
-			} else if (element instanceof ILaunch) {
-				// determine the image from the launch config type
-				ILaunch launch= (ILaunch)element;
-				ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-				if (configuration != null) {
-					try {
-						return configuration.getType().getIdentifier();
-					} catch (CoreException e) {
-						return null;
-					}
-				}
-				// if no config, use the old "mode" way
-				if (launch.getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_DEBUG;
-				} else if (launch.isTerminated()) {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN_TERMINATED;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_LAUNCH_RUN;
-				}	
-			} else if (element instanceof ILaunchConfigurationType) {
-				return ((ILaunchConfigurationType)element).getIdentifier();
-			} else if (element instanceof ILaunchConfiguration) {
-				try {
-					return ((ILaunchConfiguration)element).getType().getIdentifier();
-				} catch (CoreException e) {
-					return null;
-				}
-			} 
-		}
-		return null;		
-	}
-
-	/**
-	 * @see ILabelProvider#getText(Object)
-	 */
-	public String getText(Object element) {
-		StringBuffer label= new StringBuffer();
-		try {
-			// Group elements into debug elements and non-debug elements
-			// to reduce the number of instanceof checks performed
-			if (element instanceof IDebugElement) {
-				if (element instanceof IStackFrame) {
-					label.append(((IStackFrame)element).getName());
-				} else if (element instanceof IndexedVariablePartition) {
-					label.append(((IndexedVariablePartition)element).getName());
-				} else if (element instanceof IVariable) {
-					label.append(getVariableText((IVariable)element));
-				} else if (element instanceof IThread) {
-					label.append(((IThread)element).getName());
-				} else if (element instanceof IDebugTarget) {
-					label.append((((IDebugTarget)element).getName()));
-				} else if (element instanceof IExpression) {
-					label.append(getExpressionText((IExpression)element));
-				} else if (element instanceof IRegisterGroup) {
-					label.append(getRegisterGroupText((IRegisterGroup)element));
-				} else if (element instanceof IValue) {
-					label.append(((IValue)element).getValueString()); 
-				}
-			} else {
-				if (element instanceof IMarker) {
-					label.append(getMarkerText((IMarker) element));
-				} else if (element instanceof IBreakpoint) {
-					label.append(getBreakpointText((IBreakpoint)element));
-				} else if (element instanceof IProcess) {
-					label.append(((IProcess) element).getLabel());
-				} else if (element instanceof ILaunch) {
-					label.append(getLaunchText((ILaunch) element));
-				} else if (element instanceof ILaunchConfiguration) {
-					label.append(((ILaunchConfiguration)element).getName());
-				} else if (element instanceof ILaunchConfigurationType) {
-					label.append(((ILaunchConfigurationType)element).getName());
-				} else if (element instanceof String) {
-					label.append(element);
-				} else {
-					label.append(getAdapterLabel(element));
-				}
-			}
-			if (element instanceof ITerminate) {
-				if (((ITerminate) element).isTerminated()) {
-					String terminatedMessage= null;
-					if (element instanceof IProcess) {
-						IProcess process = (IProcess)element;
-						int exit = process.getExitValue();
-						terminatedMessage= MessageFormat.format(DebugUIMessages.getString("DefaultLabelProvider.16"), new String[]{new Integer(exit).toString()}); //$NON-NLS-1$
-					} else {
-						terminatedMessage= DebugUIMessages.getString("DefaultLabelProvider.1"); //$NON-NLS-1$
-					}
-					label.insert(0, terminatedMessage);
-				}
-			} else if (element instanceof IDisconnect) {
-				if (((IDisconnect) element).isDisconnected()) {
-					label.insert(0, DebugUIMessages.getString("DefaultLabelProvider.<disconnected>_1")); //$NON-NLS-1$
-				}
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-			label.append(DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1")); //$NON-NLS-1$
-		}
-		return label.toString();
-	}
-	
-	/**
-	 * Returns default label for a breakpoint.
-	 * 
-	 * @param breakpoint
-	 * @return default label for a breakpoint
-	 */
-	private String getBreakpointText(IBreakpoint breakpoint) {
-		IResource resource = breakpoint.getMarker().getResource();
-		StringBuffer label = new StringBuffer();
-		if (resource != null) {
-			label.append(resource.getName());
-		}
-		if (breakpoint instanceof ILineBreakpoint) {
-			try {
-				int lineNumber = ((ILineBreakpoint)breakpoint).getLineNumber();
-				label.append(MessageFormat.format(DebugUIMessages.getString("DefaultLabelProvider.17"), new String[]{Integer.toString(lineNumber)})); //$NON-NLS-1$
-			} catch (CoreException e) {
-			}
-		}
-		return label.toString();
-	}
-
-	public String getAdapterLabel(Object object) {
-		if (object instanceof IAdaptable) {
-			IWorkbenchAdapter de= (IWorkbenchAdapter) ((IAdaptable) object).getAdapter(IWorkbenchAdapter.class);
-			if (de != null) {
-				return de.getLabel(object);
-			}
-		}
-		return DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Used to render launch history items in the re-launch drop downs
-	 */
-	protected String getLaunchText(ILaunch launch) {
-		if (launch.getLaunchConfiguration() == null || (!launch.getLaunchConfiguration().exists() && !launch.getLaunchConfiguration().isWorkingCopy())) {
-			return DebugUIMessages.getString("DefaultLabelProvider.<unknown>_1"); //$NON-NLS-1$
-		} else {
-			// new launch configuration
-			ILaunchConfiguration config = launch.getLaunchConfiguration();
-			StringBuffer buff= new StringBuffer(config.getName());
-			buff.append(" ["); //$NON-NLS-1$
-			try {
-				buff.append(config.getType().getName());
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-			buff.append("]"); //$NON-NLS-1$
-			return buff.toString();			
-		}
-	}
-
-	protected String getExpressionText(IExpression expression) {
-		if (expression instanceof IWatchExpression) {
-			return getWatchExpressionText((IWatchExpression) expression);
-		}
-		StringBuffer buffer= new StringBuffer(expression.getExpressionText());
-		String valueString= null;
-		IValue value= expression.getValue();
-		if (value != null && (valueString == null || valueString.length() < 1)) {
-			try {
-				valueString= value.getValueString();
-			} catch (DebugException de) {
-				DebugUIPlugin.log(de);
-			}
-		}
-		if (valueString != null && valueString.length() > 0) {
-			buffer.append("= "); //$NON-NLS-1$
-			buffer.append(valueString);		
-		}
-		return buffer.toString();
-	}	
-	
-	/**
-	 * @param expression
-	 * @return
-	 */
-	protected String getWatchExpressionText(IWatchExpression expression) {
-		StringBuffer result= new StringBuffer();
-		result.append('"').append(expression.getExpressionText()).append('"');
-		if (expression.isPending()) {
-			result.append(DebugUIMessages.getString("DefaultLabelProvider.12")); //$NON-NLS-1$
-		} else if (expression.hasErrors()) {
-			result.append(DebugUIMessages.getString("DefaultLabelProvider.13")); //$NON-NLS-1$
-		} else {
-			IValue value= expression.getValue();
-			if (value != null) {	
-				String valueString= DebugUIPlugin.getModelPresentation().getText(value);
-				if (valueString.length() > 0) {
-					result.append(" = ").append(valueString); //$NON-NLS-1$
-				}
-			}
-		}
-		if (!expression.isEnabled()) {
-			result.append(DebugUIMessages.getString("DefaultLabelProvider.15")); //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-
-	protected String getVariableText(IVariable variable) {
-		StringBuffer buffer= new StringBuffer();
-		try {
-			IValue value = variable.getValue();
-			buffer.append(variable.getName());
-			buffer.append(" = "); //$NON-NLS-1$
-			buffer.append(value.getValueString());
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-		}
-		return buffer.toString();
-	}
-	
-	protected String getRegisterGroupText(IRegisterGroup registerGroup) {
-		StringBuffer buffer= new StringBuffer();
-		try {
-			buffer.append(registerGroup.getName());
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-		}
-		return buffer.toString();
-	}
-	
-	protected String getMarkerText(IMarker marker) {
-		try {
-			if (marker.exists() && marker.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
-				return DebugUIMessages.getString("DefaultLabelProvider.Breakpoint_1"); //$NON-NLS-1$
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		return ""; //$NON-NLS-1$
-	}
-	
-	protected String getMarkerImageKey(IMarker marker) {
-		try {
-			IBreakpoint breakpoint= DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(marker);
-			if (breakpoint != null && marker.exists()) {
-				if (breakpoint.isEnabled()) {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
-				}
-			}
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-	
-	protected String getBreakpointImageKey(IBreakpoint breakpoint) {
-		if (breakpoint != null && breakpoint.getMarker().exists()) {
-			try {
-				if (breakpoint.isEnabled()) {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT;
-				} else {
-					return IDebugUIConstants.IMG_OBJS_BREAKPOINT_DISABLED;
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
deleted file mode 100644
index d4e1e85..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DelegatingModelPresentation.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A model presentation that delegates to the appropriate extension. This
- * presentation contains a table of specialized presentations that are defined
- * as <code>org.eclipse.debug.ui.debugModelPresentations</code> extensions. When
- * asked to render an object from a debug model, this presentation delegates
- * to the extension registered for that debug model. 
- */
-public class DelegatingModelPresentation implements IDebugModelPresentation, IDebugEditorPresentation {
-	
-	/**
-	 * A mapping of attribute ids to their values
-	 * @see IDebugModelPresentation#setAttribute
-	 */
-	private HashMap fAttributes= new HashMap(3);
-	/**
-	 * A table of label providers keyed by debug model identifiers.
-	 */
-	private HashMap fLabelProviders= new HashMap(5);
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#removeAnnotations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IThread)
-	 */
-	public void removeAnnotations(IEditorPart editorPart, IThread thread) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(thread);
-		if (presentation != null) {
-			if (presentation instanceof IDebugEditorPresentation) {
-				((IDebugEditorPresentation)presentation).removeAnnotations(editorPart, thread);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#addAnnotations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public boolean addAnnotations(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getConfiguredPresentation(frame);
-		if (presentation != null) {
-			if (presentation instanceof IDebugEditorPresentation) {
-				return((IDebugEditorPresentation)presentation).addAnnotations(editorPart, frame);
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Constructs a new DelegatingLabelProvider that delegates to extensions
-	 * of kind <code>org.eclipse.debug.ui.debugLabelProvider</code>
-	 */
-	public DelegatingModelPresentation() {
-		IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);
-		if (point != null) {
-			IExtension[] extensions= point.getExtensions();
-			for (int i= 0; i < extensions.length; i++) {
-				IExtension extension= extensions[i];
-				IConfigurationElement[] configElements= extension.getConfigurationElements();
-				for (int j= 0; j < configElements.length; j++) {
-					IConfigurationElement elt= configElements[j];
-					String id= elt.getAttribute("id"); //$NON-NLS-1$
-					if (id != null) {
-						IDebugModelPresentation lp= new LazyModelPresentation(elt);
-						getLabelProviders().put(id, lp);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Delegate to all extensions.
-	 *
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		Iterator i= getLabelProviders().values().iterator();
-		while (i.hasNext()) {
-			((ILabelProvider) i.next()).addListener(listener);
-		}
-	}
-
-	/**
-	 * Delegate to all extensions.
-	 *
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		Iterator i= getLabelProviders().values().iterator();
-		while (i.hasNext()) {
-			((ILabelProvider) i.next()).dispose();
-		}
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getImage(Object)
-	 */
-	public Image getImage(Object item) {
-		// Attempt to delegate
-		IDebugModelPresentation lp= getConfiguredPresentation(item);
-		if (lp != null) {
-			Image image= lp.getImage(item);
-			if (image != null) {
-				return image;
-			}
-		}
-		// If no delegate returned an image, use the default
-		return getDefaultImage(item);
-	}
-	
-	/**
-	 * @see IDebugModelPresentation#getText(Object)
-	 */
-	public String getText(Object item) {
-		if (!(item instanceof IndexedVariablePartition)) {
-			// Attempt to delegate
-			IDebugModelPresentation lp= getConfiguredPresentation(item);
-			if (lp != null) {
-				String label= lp.getText(item);
-				if (label != null) {
-					return label;
-				}
-			}
-		}
-		// If no delegate returned a text label, use the default
-		if (showVariableTypeNames()) {
-			try {
-				if (item instanceof IExpression) {
-					StringBuffer buf = new StringBuffer();
-					IValue value = ((IExpression)item).getValue();
-					if (value != null) {
-						buf.append(value.getReferenceTypeName());
-						buf.append(' ');
-					}
-					buf.append(getDefaultText(item));
-					return buf.toString(); 
-				} else if (item instanceof IVariable) {
-					return new StringBuffer(((IVariable)item).getValue().getReferenceTypeName()).append(' ').append(getDefaultText(item)).toString();
-				}
-			} catch (DebugException de) {
-				DebugUIPlugin.log(de);
-			}
-		}
-		return getDefaultText(item);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorInput(java.lang.Object)
-	 */
-	public IEditorInput getEditorInput(Object item) {
-		IDebugModelPresentation lp= getConfiguredPresentation(item);
-		if (lp != null) {
-			return lp.getEditorInput(item);
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorId(org.eclipse.ui.IEditorInput, java.lang.Object)
-	 */
-	public String getEditorId(IEditorInput input, Object objectInput) {
-		IDebugModelPresentation lp= getConfiguredPresentation(objectInput);
-		if (lp != null) {
-			return lp.getEditorId(input, objectInput);
-		}
-		return null;
-	}
-
-
-	/**
-	 * Returns a default text label for the debug element
-	 */
-	protected String getDefaultText(Object element) {
-		return DebugUIPlugin.getDefaultLabelProvider().getText(element);
-	}
-
-	/**
-	 * Returns a default image for the debug element
-	 */
-	protected Image getDefaultImage(Object element) {
-		return DebugUIPlugin.getDefaultLabelProvider().getImage(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugModelPresentation#computeDetail(org.eclipse.debug.core.model.IValue, org.eclipse.debug.ui.IValueDetailListener)
-	 */
-	public void computeDetail(IValue value, IValueDetailListener listener) {
-		IDebugModelPresentation lp= getConfiguredPresentation(value);
-		if (lp != null) {
-			lp.computeDetail(value, listener);			
-		} else {
-			listener.detailComputed(value, getText(value));
-		}
-	}	
-
-	/**
-	 * Delegate to all extensions.
-	 *
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		Iterator i= getLabelProviders().values().iterator();
-		while (i.hasNext()) {
-			((ILabelProvider) i.next()).removeListener(listener);
-		}
-	}
-
-	/**
-	 * Delegate to the appropriate label provider.
-	 *
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		if (element instanceof IDebugElement) {
-			IDebugModelPresentation lp= getConfiguredPresentation(element);
-			if (lp != null) {
-				return lp.isLabelProperty(element, property);
-			}
-		}
-
-		return true;
-	}
-
-	/**
-	 * Returns a configured model presentation for the given object,
-	 * or <code>null</code> if one is not registered.
-	 */
-	protected IDebugModelPresentation getConfiguredPresentation(Object element) {
-		String id= null;
-		if (element instanceof IDebugElement) {
-			IDebugElement de= (IDebugElement) element;
-			id= de.getModelIdentifier();
-		} else if (element instanceof IMarker) {
-			IMarker m= (IMarker) element;
-			IBreakpoint bp = DebugPlugin.getDefault().getBreakpointManager().getBreakpoint(m);
-			if (bp != null) {
-				id= bp.getModelIdentifier();
-			}
-		} else if (element instanceof IBreakpoint) {
-			id = ((IBreakpoint)element).getModelIdentifier();
-		}
-		if (id != null) {
-			return getPresentation(id);
-		}
-
-		return null;
-	}
-	
-	/**
-	 * Returns the presentation registered for the given id, or <code>null</code>
-	 * of nothing is registered for the id.
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		return (IDebugModelPresentation) getLabelProviders().get(id);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugModelPresentation#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	public void setAttribute(String id, Object value) {
-		if (value == null) {
-			return;
-		}
-		getAttributes().put(id, value);
-		Iterator presentations = fLabelProviders.values().iterator();
-		while (presentations.hasNext()) {
-			((IDebugModelPresentation)presentations.next()).setAttribute(id, value);
-		}
-	}
-
-	/**
-	 * Whether or not to show variable type names.
-	 * This option is configured per model presentation.
-	 * This allows this option to be set per view, for example.
-	 */
-	protected boolean showVariableTypeNames() {
-		Boolean show= (Boolean) fAttributes.get(DISPLAY_VARIABLE_TYPE_NAMES);
-		show= show == null ? Boolean.FALSE : show;
-		return show.booleanValue();
-	}
-		
-	protected HashMap getAttributes() {
-		return fAttributes;
-	}
-	
-	/**
-	 * Returns a copy of the attribute map for this presentation.
-	 * 
-	 * @return a copy of the attribute map for this presentation
-	 * @since 3.0
-	 */
-	public Map getAttributeMap() {
-		return (Map) getAttributes().clone();
-	}
-
-	protected void setAttributes(HashMap attributes) {
-		fAttributes = attributes;
-	}
-
-	protected HashMap getLabelProviders() {
-		return fLabelProviders;
-	}
-
-	protected void setLabelProviders(HashMap labelProviders) {
-		fLabelProviders = labelProviders;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DialogSettingsHelper.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DialogSettingsHelper.java
deleted file mode 100644
index c8db72b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DialogSettingsHelper.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
- 
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Helper class for dealing with setting and restoring dialog settings.
- */
-public class DialogSettingsHelper {
-	
-	/**
-	 * Persists the location and dimensions of the shell in the
-	 * Debug UI Plugin dialog settings under the provided dialog settings section name
-	 * 
-	 * @param shell The shell whose geometry is to be stored
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 */
-	public static void persistShellGeometry(Shell shell, String dialogSettingsSectionName) {
-		Point shellLocation = shell.getLocation();
-		Point shellSize = shell.getSize();
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		settings.put(IDebugPreferenceConstants.DIALOG_ORIGIN_X, shellLocation.x);
-		settings.put(IDebugPreferenceConstants.DIALOG_ORIGIN_Y, shellLocation.y);
-		settings.put(IDebugPreferenceConstants.DIALOG_WIDTH, shellSize.x);
-		settings.put(IDebugPreferenceConstants.DIALOG_HEIGHT, shellSize.y);
-	}
-	
-	private static IDialogSettings getDialogSettings(String dialogSettingsSectionName) {
-		IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(dialogSettingsSectionName);
-		if (section == null) {
-			section = settings.addNewSection(dialogSettingsSectionName);
-		} 
-		return section;
-	}
-	
-	/**
-	 * Returns the initial size which is the larger of the <code>initialSize</code> or
-	 * the size persisted in the Debug UI Plugin dialog settings under the provided dialog setttings section name.
-	 * If no size is persisted in the settings, the <code>initialSize</code> is returned. 
-	 * 
-	 * @param initialSize The initialSize to compare against
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 * @return the initial size
-	 */
-	public static Point getInitialSize(String dialogSettingsSectionName, Point initialSize) {
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		try {
-			int x, y;
-			x = settings.getInt(IDebugPreferenceConstants.DIALOG_WIDTH);
-			y = settings.getInt(IDebugPreferenceConstants.DIALOG_HEIGHT);
-			return new Point(Math.max(x, initialSize.x), Math.max(y, initialSize.y));
-		} catch (NumberFormatException e) {
-		}
-		return initialSize;
-	}
-	
-	/**
-	 * Returns the initial location which is persisted in the Debug UI Plugin dialog settings
-	 * under the provided dialog setttings section name.
-	 * If location is not persisted in the settings, the <code>null</code> is returned. 
-	 * 
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 * @return The initial location or <code>null</code>
-	 */
-	public static Point getInitialLocation(String dialogSettingsSectionName) {
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		try {
-			int x= settings.getInt(IDebugPreferenceConstants.DIALOG_ORIGIN_X);
-			int y= settings.getInt(IDebugPreferenceConstants.DIALOG_ORIGIN_Y);
-			return new Point(x,y);
-		} catch (NumberFormatException e) {
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
deleted file mode 100644
index 7151485..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IDebugHelpContextIds.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Help context ids for the debug ui.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- * 
- */
-public interface IDebugHelpContextIds {
-	
-	public static final String PREFIX = IDebugUIConstants.PLUGIN_ID + "."; //$NON-NLS-1$
-	
-	// Actions
-	public static final String CHANGE_VALUE_ACTION = PREFIX + "change_value_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 OPEN_BREAKPOINT_ACTION = PREFIX + "open_breakpoint_action_context"; //$NON-NLS-1$
-	public static final String RELAUNCH_HISTORY_ACTION = PREFIX + "relaunch_history_action_context"; //$NON-NLS-1$	
-	public static final String SHOW_DETAIL_PANE_ACTION = PREFIX + "show_detail_pane_action_context"; //$NON-NLS-1$
-	public static final String SHOW_BREAKPOINTS_FOR_MODEL_ACTION = PREFIX + "show_breakpoints_for_model_action_context"; //$NON-NLS-1$
-	public static final String SHOW_TYPES_ACTION = PREFIX + "show_types_action_context"; //$NON-NLS-1$
-	public static final String VARIABLES_CONTENT_PROVIDERS_ACTION = PREFIX + "variables_content_providers_action_context"; //$NON-NLS-1$
-	public static final String VARIABLES_SELECT_LOGICAL_STRUCTURE = PREFIX + "variables_select_logical_structure"; //$NON-NLS-1$
-	public static final String SELECT_WORKING_SET_ACTION = PREFIX + "select_working_set_context"; //$NON-NLS-1$			
-
-	public static final String CLEAR_WORKING_SET_ACTION = PREFIX + "clear_working_set_context"; //$NON-NLS-1$
-	public static final String FOLLOW_CONSOLE_HYPERLINK_ACTION = PREFIX + "follow_console_hyperlink_context"; //$NON-NLS-1$
-	public static final String EDIT_LAUNCH_CONFIGURATION_ACTION = PREFIX + "edit_launch_configuration_action_context"; //$NON-NLS-1$
-	public static final String OPEN_LAUNCH_CONFIGURATION_ACTION = PREFIX + "open_launch_configuration_action_context"; //$NON-NLS-1$
-	public static final String ADD_WATCH_EXPRESSION_DIALOG= PREFIX + "add_watch_expression_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_WATCH_EXPRESSION_DIALOG= PREFIX + "edit_watch_expression_dialog_context"; //$NON-NLS-1$
-	public static final String LINK_BREAKPOINTS_WITH_DEBUG_ACTION= PREFIX + "link_breakpoints_with_debug_context"; //$NON-NLS-1$
-	public static final String EDIT_SOURCELOOKUP_ACTION = PREFIX + "edit_source_lookup_path_context";//$NON-NLS-1$
-	public static final String LOOKUP_SOURCE_ACTION = PREFIX + "lookup_source_context";//$NON-NLS-1$
-	public static final String SKIP_ALL_BREAKPOINT_ACTION = PREFIX + "skip_all_breakpoints_context"; //$NON-NLS-1$
-	public static final String AUTO_MANAGE_VIEWS_ACTION = PREFIX + "auto_manage_views_context"; //$NON-NLS-1$
-	// Views
-	public static final String DEBUG_VIEW = PREFIX + "debug_view_context"; //$NON-NLS-1$
-	public static final String VARIABLE_VIEW = PREFIX + "variable_view_context"; //$NON-NLS-1$
-	public static final String BREAKPOINT_VIEW = PREFIX + "breakpoint_view_context"; //$NON-NLS-1$
-	public static final String EXPRESSION_VIEW = PREFIX + "expression_view_context"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_VIEW = PREFIX + "launch_configuration_view_context"; //$NON-NLS-1$
-	public static final String REGISTERS_VIEW = PREFIX + "registers_view_context"; //$NON-NLS-1$
-	
-	// Preference pages
-	public static final String DEBUG_PREFERENCE_PAGE = PREFIX + "debug_preference_page_context"; //$NON-NLS-1$
-	public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$
-	public static final String DEBUG_ACTION_GROUPS_PREFERENCE_PAGE = PREFIX + "debug_action_groups_views_preference_page_context"; //$NON-NLS-1$
-	public static final String LAUNCH_HISTORY_PREFERENCE_PAGE = PREFIX + "launch_history_preference_page_context"; //$NON-NLS-1$
-	public static final String SIMPLE_VARIABLE_PREFERENCE_PAGE = PREFIX + "simple_variable_preference_page_context"; //$NON-NLS-1$
-	
-	// Dialogs
-	public static final String LAUNCH_CONFIGURATION_DIALOG = PREFIX + "launch_configuration_dialog"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_PROPERTIES_DIALOG = PREFIX + "launch_configuration_properties_dialog"; //$NON-NLS-1$
-	public static final String SINGLE_LAUNCH_CONFIGURATION_DIALOG = PREFIX + "single_launch_configuration_dialog"; //$NON-NLS-1$
-	public static final String VARIABLE_SELECTION_DIALOG = PREFIX + "variable_selection_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_SOURCELOOKUP_DIALOG = PREFIX + "edit_source_lookup_path_dialog";//$NON-NLS-1$
-	public static final String SOURCELOOKUP_TAB = PREFIX + "source_container_lookup_tab";//$NON-NLS-1$
-	public static final String ADD_SOURCE_CONTAINER_DIALOG = PREFIX + "add_source_container_dialog";//$NON-NLS-1$
-	public static final String ADD_PROJECT_CONTAINER_DIALOG = PREFIX + "project_source_container_dialog";//$NON-NLS-1$
-	public static final String ADD_FOLDER_CONTAINER_DIALOG = PREFIX + "folder_source_container_dialog";//$NON-NLS-1$
-	public static final String ADD_ARCHIVE_CONTAINER_DIALOG = PREFIX + "archive_source_container_dialog";//$NON-NLS-1$
-	public static final String MULTIPLE_SOURCE_DIALOG = PREFIX + "multiple_source_selection_dialog";//$NON-NLS-1$
-	
-	// Property pages
-	public static final String PROCESS_PROPERTY_PAGE = PREFIX + "process_property_page_context"; //$NON-NLS-1$
-	
-	// Launch configuration dialog pages
-	public static final String LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB = PREFIX + "launch_configuration_dialog_common_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_PERSPECTIVE_TAB = PREFIX + "launch_configuration_dialog_perspective_tab"; //$NON-NLS-1$	
-	public static final String LAUNCH_CONFIGURATION_DIALOG_REFRESH_TAB = PREFIX + "launch_configuration_dialog refresh_tab"; //$NON-NLS-1$
-	public static final String LAUNCH_CONFIGURATION_DIALOG_ENVIRONMENT_TAB = PREFIX +  "launch_configuration_dialog_environment_tab"; //$NON-NLS-1$
-	
-	// Working set page
-	public static final String WORKING_SET_PAGE = PREFIX + "working_set_page_context"; //$NON-NLS-1$			
-	
-	
-	
-	//Editor	
-	public static final String NO_SOURCE_EDITOR = PREFIX + "debugger_editor_no_source_common";//$NON-NLS-1$
-	
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
deleted file mode 100644
index 33759ff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/IInternalDebugUIConstants.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-
- 
-public interface IInternalDebugUIConstants {
-	
-	public static final String DIALOGSTORE_LASTEXTJAR= "org.eclipse.debug.ui.lastextjar"; //$NON-NLS-1$
-		
-	//Folders
-	public static final String ID_NAVIGATOR_FOLDER_VIEW= "org.eclipse.debug.internal.ui.NavigatorFolderView"; //$NON-NLS-1$
-	public static final String ID_TOOLS_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ToolsFolderView"; //$NON-NLS-1$
-	public static final String ID_CONSOLE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.ConsoleFolderView"; //$NON-NLS-1$
-	public static final String ID_OUTLINE_FOLDER_VIEW= "org.eclipse.debug.internal.ui.OutlineFolderView"; //$NON-NLS-1$
-	
-	// annotation types for instruction pointers
-	public static final String ANN_INSTR_POINTER_CURRENT = "org.eclipse.debug.ui.currentIP"; //$NON-NLS-1$
-	public static final String ANN_INSTR_POINTER_SECONDARY = "org.eclipse.debug.ui.secondaryIP"; //$NON-NLS-1$
-	
-	// tool images
-	public static final String IMG_LCL_COLLAPSE_ALL = "IMG_LCL_COLLAPSE_ALL"; //$NON-NLS-1$
-	public static final String IMG_LCL_TERMINATE = "IMG_LCL_TERMINATE"; //$NON-NLS-1$
-	public static final String IMG_LCL_SHOW_LOGICAL_STRUCTURE = "IMG_LCL_SHOW_LOGICAL_STRUCTURE"; //$NON-NLS-1$
-	public static final String IMG_LCL_RUN_TO_LINE= "IMG_LCL_RUN_TO_LINE"; //$NON-NLS-1$
-	public static final String IMG_SRC_LOOKUP_MENU = "IMG_SRC_LOOKUP_MENU"; //$NON-NLS-1$
-	public static final String IMG_LCL_MONITOR_EXPRESSION= "IMG_LCL_MONITOR_EXPRESSION"; //$NON-NLS-1$
-	public static final String IMG_LCL_REMOVE_MEMORY= "IMG_LCL_REMOVE_MEMORY"; //$NON-NLS-1$
-	public static final String IMG_LCL_RESET_MEMORY= "IMG_LCL_RESET_MEMORY";//$NON-NLS-1$
-	public static final String IMG_LCL_COPY_VIEW_TO_CLIPBOARD = "IMG_LCL_COPY_VIEW_TO_CLIPBOARD"; //$NON-NLS-1$
-	public static final String IMG_LCL_PRINT_TOP_VIEW_TAB = "IMG_LCL_PRINT_TOP_VIEW_TAB"; //$NON-NLS-1$
-	
-	// disabled local tool images
-	public static final String IMG_DLCL_LOCK= "IMG_DLCL_LOCK"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DETAIL_PANE= "IMG_DLCL_DETAIL_PANE"; //$NON-NLS-1$
-	public static final String IMG_DLCL_CHANGE_VARIABLE_VALUE= "IMG_DLCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$
-	public static final String IMG_DLCL_TYPE_NAMES= "IMG_DLCL_TYPE_NAMES"; //$NON-NLS-1$
-	public static final String IMG_DLCL_SHOW_LOGICAL_STRUCTURE= "IMG_DLCL_SHOW_LOGICAL_STRUCTURE"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DETAIL_PANE_UNDER= "IMG_DLCL_DETAIL_PANE_UNDER"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DETAIL_PANE_RIGHT= "IMG_DLCL_DETAIL_PANE_RIGHT"; //$NON-NLS-1$
-	public static final String IMG_DLCL_DETAIL_PANE_HIDE= "IMG_DLCL_DETAIL_PANE_HIDE"; //$NON-NLS-1$
-	public static final String IMG_DLCL_COLLAPSE_ALL = "IMG_DLCL_COLLAPSE_ALL"; //$NON-NLS-1$
-	public static final String IMG_DLCL_TERMINATE = "IMG_DLCL_TERMINATE"; //$NON-NLS-1$
-	public static final String IMG_DLCL_REMOVE_ALL = "IMG_DLCL_REMOVE_ALL"; //$NON-NLS-1$
-	public static final String IMG_DLCL_RUN_TO_LINE= "IMG_DLCL_RUN_TO_LINE"; //$NON-NLS-1$
-	public static final String IMG_SRC_LOOKUP_MENU_DLCL = "IMG_SRC_LOOKUP_MENU_DISABLED"; //$NON-NLS-1$
-	public static final String IMG_DLCL_MONITOR_EXPRESSION= "IMG_DLCL_MONITOR_EXPRESSION"; //$NON-NLS-1$
-	public static final String IMG_DLCL_REMOVE_MEMORY= "IMG_DLCL_REMOVE_MEMORY"; //$NON-NLS-1$
-	public static final String IMG_DLCL_RESET_MEMORY= "IMG_DLCL_RESET_MEMORY"; //$NON-NLS-1$
-	public static final String IMG_DLCL_COPY_VIEW_TO_CLIPBOARD= "IMG_DLCL_COPY_VIEW_TO_CLIPBOARD"; //$NON-NLS-1$
-	public static final String IMG_DLCL_PRINT_TOP_VIEW_TAB= "IMG_DLCL_PRINT_TOP_VIEW_TAB"; //$NON-NLS-1$
-	
-	// enabled local tool images	
-	public static final String IMG_ELCL_LOCK= "IMG_ELCL_LOCK"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DETAIL_PANE= "IMG_ELCL_DETAIL_PANE"; //$NON-NLS-1$
-	public static final String IMG_ELCL_CHANGE_VARIABLE_VALUE= "IMG_ELCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$
-	public static final String IMG_ELCL_TYPE_NAMES= "IMG_ELCL_TYPE_NAMES"; //$NON-NLS-1$
-	public static final String IMG_ELCL_SHOW_LOGICAL_STRUCTURE= "IMG_ELCL_SHOW_LOGICAL_STRUCTURE"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DETAIL_PANE_UNDER= "IMG_ELCL_DETAIL_PANE_UNDER"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DETAIL_PANE_RIGHT= "IMG_ELCL_DETAIL_PANE_RIGHT"; //$NON-NLS-1$
-	public static final String IMG_ELCL_DETAIL_PANE_HIDE= "IMG_ELCL_DETAIL_PANE_HIDE"; //$NON-NLS-1$
-	public static final String IMG_ELCL_COLLAPSE_ALL = "IMG_ELCL_COLLAPSE_ALL"; //$NON-NLS-1$
-	public static final String IMG_ELCL_TERMINATE = "IMG_ELCL_TERMINATE"; //$NON-NLS-1$
-	public static final String IMG_SRC_LOOKUP_MENU_ELCL = "IMG_SRC_LOOKUP_MENU_ENABLED"; //$NON-NLS-1$
-	public static final String IMG_ELCL_MONITOR_EXPRESSION= "IMG_ELCL_MONITOR_EXPRESSION";  //$NON-NLS-1$
-	public static final String IMG_ELCL_REMOVE_MEMORY= "IMG_ELCL_REMOVE_MEMORY";  //$NON-NLS-1$
-	public static final String IMG_ELCL_RESET_MEMORY= "IMG_ELCL_RESET_MEMORY";  //$NON-NLS-1$
-	public static final String IMG_ELCL_COPY_VIEW_TO_CLIPBOARD= "IMG_ELCL_COPY_VIEW_TO_CLIPBOARD";  //$NON-NLS-1$
-	public static final String IMG_ELCL_PRINT_TOP_VIEW_TAB= "IMG_ELCL_PRINT_TOP_VIEW_TAB";  //$NON-NLS-1$
-	
-	// object images
-	public static final String IMG_OBJS_INSTRUCTION_POINTER_TOP = "IMG_OBJS_INSTRUCTION_POINTER_TOP"; //$NON-NLS-1$
-	public static final String IMG_OBJS_INSTRUCTION_POINTER = "IMG_OBJS_INSTRUCTION_POINTER"; //$NON-NLS-1$
-	public static final String IMG_OBJS_COMMON_TAB = "IMG_OBJS_COMMON_TAB"; //$NON-NLS-1$
-	public static final String IMG_OBJS_REFRESH_TAB = "IMG_OBJS_REFRESH_TAB"; //$NON-NLS-1$
-	public static final String IMG_OBJS_PERSPECTIVE_TAB = "IMG_OBJS_PERSPECTIVE_TAB"; //$NON-NLS-1$
-	public static final String IMG_OBJS_ARRAY_PARTITION = "IMG_OBJS_ARRAY_PARTITION"; //$NON-NLS-1$
-	public static final String IMG_SRC_LOOKUP_TAB = "IMG_SRC_LOOKUP_TAB"; //$NON-NLS-1$
-	public static final String IMG_ADD_SRC_LOC_WIZ = "IMG_ADD_SRC_LOCATION"; //$NON-NLS-1$
-	public static final String IMG_EDIT_SRC_LOC_WIZ = "IMG_EDIT_SRC_LOCATION"; //$NON-NLS-1$
-	public static final String IMG_OBJECT_MEMORY_CHANGED="IMG_OBJECT_MEMORY_CHANGED";  //$NON-NLS-1$
-	public static final String IMG_OBJECT_MEMORY="IMG_OBJECT_MEMORY";  //$NON-NLS-1$
-	
-	// internal preferenes
-	/**
-	 * XML for perspective settings - see PerspectiveManager.
-	 * @since 3.0
-	 */
-	public static final String PREF_LAUNCH_PERSPECTIVES = IDebugUIConstants.PLUGIN_ID + ".PREF_LAUNCH_PERSPECTIVES"; //$NON-NLS-1$
-	
-	/**
-	 * Preference for using step filters.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_USE_STEP_FILTERS = IDebugUIConstants.PLUGIN_ID + ".USE_STEP_FILTERS"; //$NON-NLS-1$	
-	 
-	/** Transparent overlay image identifier. */
-	public static final String IMG_OVR_TRANSPARENT = "IMG_OVR_TRANSPARENT";  //$NON-NLS-1$
-	
-	/**
-	 * Editor Id for the "Source Not Found" editor
-	 */
-	public static final String ID_SOURCE_NOT_FOUND_EDITOR = "org.eclipse.debug.ui.NoSourceFoundEditor"; //$NON-NLS-1$
-	
-	/**
-	 * Editor Id for the "Common Source Not Found" editor.
-	 * @since 3.0
-	 */
-	public static final String ID_COMMON_SOURCE_NOT_FOUND_EDITOR="org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor"; //$NON-NLS-1$
-		
-	/**
-	 * The name of the font to use for detail panes. This font is managed via
-	 * the workbench font preference page.
-	 * 
-	 * @since 2.1
-	 */ 
-	public static final String DETAIL_PANE_FONT= "org.eclipse.debug.ui.DetailPaneFont"; //$NON-NLS-1$	
-
-	/**
-	 * String preference controlling whether editors are saved before launching.
-	 * Valid values are either "always", "never", or "prompt".
-	 * If "always" or "never", launching will save editors (or not) automatically.
-	 * If "prompt", the user will be prompted each time.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH= IDebugUIConstants.PLUGIN_ID + ".save_dirty_editors_before_launch"; //$NON-NLS-1$
-
-	/**
-	 * Preference specifiying that all launches should be DEBUG_MODE if breakpoints exist in the workspace
-	 * @since 3.0
-	 */
-	public static final String PREF_RELAUNCH_IN_DEBUG_MODE = IDebugUIConstants.PLUGIN_ID + ".relaunch_in_debug_mode"; //$NON-NLS-1$
-
-	/**
-	 * Preference specifying that launches should continue when compile errors exist.
-	 * @since 3.0
-	 */
-	public static final String PREF_CONTINUE_WITH_COMPILE_ERROR = IDebugUIConstants.PLUGIN_ID + ".cancel_launch_with_compile_errors"; //$NON-NLS-1$	
-
-	/**
-	 * Boolean preference controlling whether the debugger will force activate the debug
-	 * view when a breakpoint is hit.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_ACTIVATE_DEBUG_VIEW= IDebugUIConstants.PLUGIN_ID + ".activate_debug_view"; //$NON-NLS-1$
-
-	/**
-	 * String preference controlling whether the debugger switching to
-	 * the associated perspective when launching.
-	 * Valid values are either "always", "never", or "prompt".
-	 * If "always" or "never", launching will switch perspectives (or not) automatically.
-	 * If "prompt", the user will be prompted each time.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_SWITCH_TO_PERSPECTIVE= IDebugUIConstants.PLUGIN_ID + ".switch_to_perspective"; //$NON-NLS-1$
-
-	/**
-	 * String preference controlling whether the debugger switching to
-	 * the associated perspective when a launch suspends.
-	 * Valid values are either "always", "never", or "prompt".
-	 * If "always" or "never", suspension will switch perspectives (or not) automatically.
-	 * If "prompt", the user will be prompted each time.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_SWITCH_PERSPECTIVE_ON_SUSPEND= IDebugUIConstants.PLUGIN_ID + ".switch_perspective_on_suspend"; //$NON-NLS-1$
-
-	/**
-	 * String preference controlling whether the debugger waits for a currently
-	 * pending (running or waiting) background build to complete before launching.
-	 * Valid values are either "always", "never", or "prompt".
-	 * If "always" or "never", launching will wait for builds to finish (or not) automatically.
-	 * If "prompt", the user will be prompted each time.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_WAIT_FOR_BUILD= IDebugUIConstants.PLUGIN_ID + ".wait_for_build"; //$NON-NLS-1$
-	
-	/**
-	 * Font for Memory View
-	 * 
-	 * @since 3.0
-	 */
-	public final static String FONT_NAME = IDebugUIConstants.PLUGIN_ID + ".MemoryViewTableFont"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference for console scroll lock toggle state.
-	 */
-	public static final String PREF_CONSOLE_SCROLL_LOCK = IDebugUIConstants.PLUGIN_ID + ".console_scroll_lock"; //$NON-NLS-1$
-	
-	public final static int BYTES_PER_LINE = 16;	// number of bytes per line
-	public final static int CHAR_PER_BYTE = 2;		// number of characters to represent one byte
-	public final static int BYTE_PER_CELL = 4;		// number of bytes per cell
-	public final static int NUM_COL = BYTES_PER_LINE/BYTE_PER_CELL + 2;	// Number of columns in the table 
-
-	/**
-	 * Memory view identifier (value <code>"org.eclipse.debug.ui.MemoryView"</code>).
-	 * @since 3.0
-	 */
-	public static String ID_MEMORY_VIEW = "org.eclipse.debug.ui.MemoryView";  //$NON-NLS-1$
-
-	/** 
-	 * Memory view image identifier
-	 * 
-	 * @since 3.0
-	 * */
-	public static final String IMG_CVIEW_MEMORY_VIEW= "IMG_CVIEW_MEMORY_VIEW";  //$NON-NLS-1$
-
-	/**
-	 * Boolean preference controlling whether the debug view tracks
-	 * views as the user manually opens/closes them for the purpose
-	 * of not automatically opening/closing such views.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_TRACK_VIEWS= IDebugUIConstants.PLUGIN_ID + ".track_views"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
deleted file mode 100644
index aaea6b1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ILaunchHistoryChangedListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-/**
- * Implementors of this interface are notified whenever there is a change is
- * made to the launch history. This could be an addition or deletion from either
- * of the run or debug histories, a change to the last launched item, or a
- * change in favorites.
- */
-public interface ILaunchHistoryChangedListener {
-
-	/**
-	 * Notification that the launch history has changed.  Any of the run history, debug history
-	 * or last launched items could have changed.  To examine the history items, retrieve them
-	 * from the <code>DebugUIPlugin</code>.
-	 */
-	public void launchHistoryChanged();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
deleted file mode 100644
index 8ee1b6b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerAnnotation.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jface.text.source.Annotation;
-
-/**
- * An annotation for the vertical ruler in text editors that shows one of two
- * images for the current instruction pointer when debugging (one for the top
- * stack frame, one for all others).
- */
-public class InstructionPointerAnnotation extends Annotation {
-
-	/**
-	 * The frame for this instruction pointer annotation.  This is necessary only so that
-	 * instances of this class can be distinguished by equals().
-	 */
-	private IStackFrame fStackFrame;
-	
-	/**
-	 * Construct an instruction pointer annotation for the given stack frame.
-	 * 
-	 * @param stackFrame frame to create an instruction pointer annotation for
-	 * @param isTopFrame whether the given frame is the top stack frame in its thread 
-	 */
-	public InstructionPointerAnnotation(IStackFrame stackFrame, boolean isTopFrame) {
-		super(isTopFrame ? IInternalDebugUIConstants.ANN_INSTR_POINTER_CURRENT: IInternalDebugUIConstants.ANN_INSTR_POINTER_SECONDARY,
-						 false,
-						 isTopFrame ? DebugUIMessages.getString("InstructionPointerAnnotation.0") : DebugUIMessages.getString("InstructionPointerAnnotation.1")); //$NON-NLS-1$ //$NON-NLS-2$
-		fStackFrame = stackFrame;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof InstructionPointerAnnotation) {
-			return getStackFrame().equals(((InstructionPointerAnnotation)other).getStackFrame());			
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getStackFrame().hashCode();
-	}
-
-	/**
-	 * Returns the stack frame associated with this annotation
-	 * 
-	 * @return the stack frame associated with this annotation
-	 */
-	private IStackFrame getStackFrame() {
-		return fStackFrame;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
deleted file mode 100644
index 5d702d3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerContext.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Represents the context for a single instruction pointer.  This is a convenience class
- * used to store the three objects that comprise an instruction pointer 'context' so it
- * can be stored in collections.
- */
-public class InstructionPointerContext {
-
-	/**
-	 * The text editor for this context.
-	 */
-	private ITextEditor fTextEditor;
-	
-	/**
-	 * The vertical ruler annotation for this context.
-	 */
-	private InstructionPointerAnnotation fAnnotation;
-
-	public InstructionPointerContext(ITextEditor textEditor, InstructionPointerAnnotation annotation) {
-		setTextEditor(textEditor);
-		setAnnotation(annotation);
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof InstructionPointerContext) {
-			InstructionPointerContext otherContext = (InstructionPointerContext) other;
-			return getAnnotation().equals(otherContext.getAnnotation());
-		}
-		return false;
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getAnnotation().hashCode();
-	}
-
-	private void setTextEditor(ITextEditor textEditor) {
-		fTextEditor = textEditor;
-	}
-
-	public ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	private void setAnnotation(InstructionPointerAnnotation annotation) {
-		fAnnotation = annotation;
-	}
-
-	public InstructionPointerAnnotation getAnnotation() {
-		return fAnnotation;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
deleted file mode 100644
index dda8d8b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/InstructionPointerManager.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * This class tracks instruction pointer contexts for all active debug targets and threads
- * in the current workbench.  There should only ever be one instance of this class, obtained
- * via 'getDefault()'.
- */
-public class InstructionPointerManager {
-
-	/**
-	 * The singleton instance of this class.
-	 */
-	private static InstructionPointerManager fgDefault;
-
-	/**
-	 * Mapping of IDebugTarget objects to (mappings of IThread objects to lists of instruction
-	 * pointer contexts).
-	 */
-	private Map fDebugTargetMap;
-	
-	/**
-	 * Clients must not instantiate this class.
-	 */
-	private InstructionPointerManager() {
-		fDebugTargetMap = new HashMap();
-	}
-	
-	/**
-	 * Return the singleton instance of this class, creating it if necessary.
-	 */
-	public static InstructionPointerManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new InstructionPointerManager();
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * Add an instruction pointer annotation in the specified editor for the 
-	 * specified stack frame.
-	 */
-	public void addAnnotation(ITextEditor textEditor, IStackFrame stackFrame) {
-		
-		// Create the annotation object
-		IDocumentProvider docProvider = textEditor.getDocumentProvider();
-		IEditorInput editorInput = textEditor.getEditorInput();
-		IThread thread = stackFrame.getThread();
-		boolean tos = false;
-		try {
-			tos = stackFrame.equals(thread.getTopStackFrame());
-		} catch (DebugException de) {
-		}			
-		InstructionPointerAnnotation instPtrAnnotation = new InstructionPointerAnnotation(stackFrame, tos);
-		
-		// Create the Position object that specifies a location for the annotation
-		Position position = null;
-		int charStart = -1;
-		int length = -1; 
-		try {
-			charStart = stackFrame.getCharStart();
-			length = stackFrame.getCharEnd() - charStart;
-		} catch (DebugException de) {
-		}
-		if (charStart < 0) {
-			IDocument doc = docProvider.getDocument(editorInput);
-			try {
-				int lineNumber = stackFrame.getLineNumber() - 1;
-				IRegion region = doc.getLineInformation(lineNumber);
-				charStart = region.getOffset();
-				length = region.getLength();
-			} catch (BadLocationException ble) {
-				return;
-			} catch (DebugException de) {
-				return;
-			}
-		}
-		if (charStart < 0) {
-			return;
-		}
-		position = new Position(charStart, length);
-		
-		// Add the annotation at the position to the editor's annotation model.
-		// If there is no annotation model, there's nothing more to do
-		IAnnotationModel annModel = docProvider.getAnnotationModel(editorInput);
-		if (annModel == null) {
-			return;
-		}
-		annModel.removeAnnotation(instPtrAnnotation);
-		annModel.addAnnotation(instPtrAnnotation, position);	
-		
-		// Retrieve the list of instruction pointer contexts
-		IDebugTarget debugTarget = stackFrame.getDebugTarget();
-		Map threadMap = (Map) fDebugTargetMap.get(debugTarget);
-		if (threadMap == null) {
-			threadMap = new HashMap();	
-			fDebugTargetMap.put(debugTarget, threadMap);		
-		}
-		List contextList = (List) threadMap.get(thread);
-		if (contextList == null) {
-			contextList = new ArrayList();
-			threadMap.put(thread, contextList);
-		}
-		
-		// Create a context object & add it to the list
-		InstructionPointerContext context = new InstructionPointerContext(textEditor, instPtrAnnotation);
-		contextList.remove(context);
-		contextList.add(context);
-	}
-	
-	/**
-	 * Remove all annotations associated with the specified debug target that this class
-	 * is tracking.
-	 */
-	public void removeAnnotations(IDebugTarget debugTarget) {
-		
-		// Retrieve the mapping of threads to context lists
-		Map threadMap = (Map) fDebugTargetMap.get(debugTarget);
-		if (threadMap == null) {
-			return;
-		}
-		
-		// Remove annotations for all threads associated with the debug target
-		Object[] threads = threadMap.keySet().toArray();
-		for (int i = 0; i < threads.length; i++) {
-			IThread thread = (IThread) threads[i];
-			removeAnnotations(thread, threadMap);
-		}
-		
-		// Remove the entry for the debug target
-		fDebugTargetMap.remove(debugTarget);
-	}
-	
-	/**
-	 * Remove all annotations associated with the specified thread that this class
-	 * is tracking.
-	 */
-	public void removeAnnotations(IThread thread) {
-		
-		// Retrieve the thread map
-		IDebugTarget debugTarget = thread.getDebugTarget();
-		Map threadMap = (Map) fDebugTargetMap.get(debugTarget);
-		if (threadMap == null) {
-			return;
-		}
-		
-		// Remove all annotations for the thread
-		removeAnnotations(thread, threadMap);
-	}
-	
-	/**
-	 * Remove all annotations associated with the specified thread.  
-	 */
-	private void removeAnnotations(IThread thread, Map threadMap) {
-		
-		// Retrieve the context list and remove each corresponding annotation
-		List contextList = (List) threadMap.get(thread);
-		if (contextList != null) {
-			Iterator contextIterator = contextList.iterator();
-			while (contextIterator.hasNext()) {
-				InstructionPointerContext context = (InstructionPointerContext) contextIterator.next();
-				removeAnnotation(context.getTextEditor(), context.getAnnotation());
-			}
-		}
-		
-		// Remove the thread map
-		threadMap.remove(thread);						
-	}
-	
-	/**
-	 * Remove the specified annotation from the specified text editor.
-	 */
-	private void removeAnnotation(ITextEditor textEditor, InstructionPointerAnnotation annotation) {
-		IDocumentProvider docProvider = textEditor.getDocumentProvider();
-		if (docProvider != null) {
-			IAnnotationModel annotationModel = docProvider.getAnnotationModel(textEditor.getEditorInput());
-			if (annotationModel != null) {
-				annotationModel.removeAnnotation(annotation);
-			}
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
deleted file mode 100644
index a653f8f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/LazyModelPresentation.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A proxy to an IDebugModelPresentation extension. Instantiates the extension
- * when it is needed.
- */
-
-public class LazyModelPresentation implements IDebugModelPresentation, IDebugEditorPresentation {
-	
-	/**
-	 * A temporary mapping of attribute ids to their values
-	 * @see IDebugModelPresentation#setAttribute
-	 */
-	protected HashMap fAttributes= new HashMap(3);
-
-	/**
-	 * The config element that defines the extension
-	 */
-	protected IConfigurationElement fConfig = null;
-	
-	/**
-	 * The actual presentation instance - null until called upon
-	 */
-	protected IDebugModelPresentation fPresentation = null;
-	
-	/**
-	 * Temp holding for listeners - we do not add to presentation until
-	 * it needs to be instantiated.
-	 */
-	protected ListenerList fListeners= new ListenerList(5);	
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#removeAnntations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IThread)
-	 */
-	public void removeAnnotations(IEditorPart editorPart, IThread thread) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IDebugEditorPresentation) {
-			((IDebugEditorPresentation)presentation).removeAnnotations(editorPart, thread);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugEditorPresentation#addAnnotations(org.eclipse.ui.IEditorPart, org.eclipse.debug.core.model.IStackFrame)
-	 */
-	public boolean addAnnotations(IEditorPart editorPart, IStackFrame frame) {
-		IDebugModelPresentation presentation = getPresentation();
-		if (presentation instanceof IDebugEditorPresentation) {
-			return ((IDebugEditorPresentation)presentation).addAnnotations(editorPart, frame);
-		}
-		return false;
-	}
-
-	/**
-	 * Constructs a lazy presentation from the config element.
-	 */
-	public LazyModelPresentation(IConfigurationElement configElement) {
-		fConfig = configElement;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getImage(Object)
-	 */
-	public Image getImage(Object element) {
-		return getPresentation().getImage(element);
-	}
-
-	/**
-	 * @see IDebugModelPresentation#getText(Object)
-	 */
-	public String getText(Object element) {
-		return getPresentation().getText(element);
-	}
-	
-	/**
-	 * @see IDebugModelPresentation#computeDetail(IValue, IValueDetailListener)
-	 */
-	public void computeDetail(IValue value, IValueDetailListener listener) {
-		getPresentation().computeDetail(value, listener);
-	}	
-	
-	/**
-	 * @see ISourcePresentation#getEditorInput(Object)
-	 */
-	public IEditorInput getEditorInput(Object element) {
-		return getPresentation().getEditorInput(element);
-	}
-	
-	/**
-	 * @see ISourcePresentation#getEditorId(IEditorInput, Object)
-	 */
-	public String getEditorId(IEditorInput input, Object inputObject) {
-		return getPresentation().getEditorId(input, inputObject);
-	}
-
-	/**
-	 * @see IBaseLabelProvider#addListener(ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		if (fPresentation != null) {
-			getPresentation().addListener(listener);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * @see IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if (fPresentation != null) {
-			getPresentation().dispose();
-		}
-		fListeners = null;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#isLabelProperty(Object, String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		if (fPresentation != null) {
-			return getPresentation().isLabelProperty(element, property);
-		} 
-		return false;
-	}
-
-	/**
-	 * @see IBaseLabelProvider#removeListener(ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		if (fPresentation != null) {
-			getPresentation().removeListener(listener);
-		}
-		fListeners.remove(listener);
-	}
-	
-	/**
-	 * Returns the real presentation, instantiating if required.
-	 */
-	protected IDebugModelPresentation getPresentation() {
-		if (fPresentation == null) {
-			try {
-				fPresentation= (IDebugModelPresentation) DebugUIPlugin.createExtension(fConfig, "class"); //$NON-NLS-1$
-				// configure it
-				if (fListeners != null) {
-					Object[] list = fListeners.getListeners();
-					for (int i= 0; i < list.length; i++) {
-						fPresentation.addListener((ILabelProviderListener)list[i]);
-					}
-				}
-				Iterator keys= fAttributes.keySet().iterator();
-				while (keys.hasNext()) {
-					String key= (String)keys.next();
-					fPresentation.setAttribute(key, fAttributes.get(key));
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return fPresentation;
-	}
-
-	/**
-	 * @see IDebugModelPresentation#setAttribute(String, Object)
-	 */
-	public void setAttribute(String id, Object value) {
-		if (value == null) {
-			return;
-		}
-		if (fPresentation != null) {
-			getPresentation().setAttribute(id, value);
-		}
-
-		fAttributes.put(id, value);
-	}
-	
-	/**
-	 * Returns the identifier of the debug model this
-	 * presentation is registered for.
-	 */
-	public String getDebugModelIdentifier() {
-		return fConfig.getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a new source viewer configuration for the details
-	 * area of the variables view, or <code>null</code> if
-	 * unspecified.
-	 * 
-	 * @return source viewer configuration or <code>null</code>
-	 * @exception CoreException if unable to create the specified
-	 * 	source viewer configuration
-	 */
-	public SourceViewerConfiguration newDetailsViewerConfiguration() throws CoreException {
-		String attr  = fConfig.getAttribute("detailsViewerConfiguration"); //$NON-NLS-1$
-		if (attr != null) {
-			return (SourceViewerConfiguration)fConfig.createExecutableExtension("detailsViewerConfiguration"); //$NON-NLS-1$
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a copy of the attributes in this model presentation.
-	 * 
-	 * @return a copy of the attributes in this model presentation
-	 * @since 3.0
-	 */
-	public Map getAttributeMap() {
-		return (Map) fAttributes.clone();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
deleted file mode 100644
index e0afca5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/MultipleInputDialog.java
+++ /dev/null
@@ -1,362 +0,0 @@
-package org.eclipse.debug.internal.ui;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariableSelectionDialog;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class MultipleInputDialog extends Dialog {
-	protected static final String FIELD_NAME = "FIELD_NAME"; //$NON-NLS-1$
-	protected static final int TEXT = 100;
-	protected static final int BROWSE = 101;
-	protected static final int VARIABLE = 102;
-	
-	protected Composite panel;
-	
-	protected List fieldList = new ArrayList();
-	protected List controlList = new ArrayList();
-	protected List validators = new ArrayList();
-	protected Map valueMap = new HashMap();
-
-	private String title;
-	
-	
-	
-	public MultipleInputDialog(Shell shell, String title) {
-		super(shell);
-		this.title = title;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null) {
-			shell.setText(title);
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Control bar = super.createButtonBar(parent);
-		validateFields();
-		return bar;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite container = (Composite)super.createDialogArea(parent);
-		container.setLayout(new GridLayout(2, false));
-		container.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		panel = new Composite(container, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		panel.setLayout(layout);
-		panel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		for (Iterator i = fieldList.iterator(); i.hasNext();) {
-			FieldSummary field = (FieldSummary)i.next();
-			switch(field.type) {
-				case TEXT:
-					createTextField(field.name, field.initialValue, field.allowsEmpty);
-					break;
-				case BROWSE:
-					createBrowseField(field.name, field.initialValue, field.allowsEmpty);
-					break;
-				case VARIABLE:
-					createVariablesField(field.name, field.initialValue, field.allowsEmpty);
-					break;
-			}
-		}
-		
-		fieldList = null; // allow it to be gc'd
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-	
-	public void addBrowseField(String labelText, String initialValue, boolean allowsEmpty) {
-		fieldList.add(new FieldSummary(BROWSE, labelText, initialValue, allowsEmpty));
-	}
-	public void addTextField(String labelText, String initialValue, boolean allowsEmpty) {
-		fieldList.add(new FieldSummary(TEXT, labelText, initialValue, allowsEmpty));
-	}
-	public void addVariablesField(String labelText, String initialValue, boolean allowsEmpty) {
-		fieldList.add(new FieldSummary(VARIABLE, labelText, initialValue, allowsEmpty));
-	}
-
-	protected void createTextField(String labelText, String initialValue, boolean allowEmpty) { 
-		Label label = new Label(panel, SWT.NONE);
-		label.setText(labelText);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
-		final Text text = new Text(panel, SWT.SINGLE | SWT.BORDER);
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		text.setData(FIELD_NAME, labelText);
-		
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
-		if (initialValue != null) {
-			text.setText(initialValue);
-		}
-		
-		if (!allowEmpty) {
-			validators.add(new Validator() {
-				public boolean validate() {
-					return !text.getText().equals(""); //$NON-NLS-1$
-				}
-			});
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					validateFields();
-				}
-			});
-		}
-		
-		controlList.add(text);
-	}
-	
-	protected void createBrowseField(String labelText, String initialValue, boolean allowEmpty) {
-		Label label = new Label(panel, SWT.NONE);
-		label.setText(labelText);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
-		Composite comp = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		final Text text = new Text(comp, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 200;
-		text.setLayoutData(data);
-		text.setData(FIELD_NAME, labelText);
-
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
-		if (initialValue != null) {
-			text.setText(initialValue);
-		}
-
-		if (!allowEmpty) {
-			validators.add(new Validator() {
-				public boolean validate() {
-					return !text.getText().equals(""); //$NON-NLS-1$
-				}
-			});
-
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					validateFields();
-				}
-			});
-		}
-		
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.getString("MultipleInputDialog.6"), false); //$NON-NLS-1$
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(DebugUIMessages.getString("MultipleInputDialog.7"));  //$NON-NLS-1$
-				String currentWorkingDir = text.getText();
-				if (!currentWorkingDir.trim().equals("")) { //$NON-NLS-1$
-					File path = new File(currentWorkingDir);
-					if (path.exists()) {
-						dialog.setFilterPath(currentWorkingDir);
-					}			
-				}
-				
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null) {
-					text.setText(selectedDirectory);
-				}		
-			}
-		});
-
-		controlList.add(text);
-		
-	}
-	
-	
-	public void createVariablesField(String labelText, String initialValue, boolean allowEmpty) {
-		Label label = new Label(panel, SWT.NONE);
-		label.setText(labelText);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		
-		Composite comp = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		final Text text = new Text(comp, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 200;
-		text.setLayoutData(data);
-		text.setData(FIELD_NAME, labelText);
-
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y); 
-		
-		if (initialValue != null) {
-			text.setText(initialValue);
-		}
-
-		if (!allowEmpty) {
-			validators.add(new Validator() {
-				public boolean validate() {
-					return !text.getText().equals(""); //$NON-NLS-1$
-				}
-			});
-
-			text.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					validateFields();
-				}
-			});
-		}
-		
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, DebugUIMessages.getString("MultipleInputDialog.8"), false); //$NON-NLS-1$
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-				int code = dialog.open();
-				if (code == IDialogConstants.OK_ID) {
-					String variable = dialog.getVariableExpression();
-					if (variable != null) {
-						text.append(variable);
-					}
-				}
-			}
-		});
-
-		controlList.add(text);
-				
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		for (Iterator i = controlList.iterator(); i.hasNext(); ) {
-			Control control = (Control)i.next();
-			if (control instanceof Text) {
-				valueMap.put(control.getData(FIELD_NAME), ((Text)control).getText());
-			}
-		}
-		controlList = null;
-		super.okPressed();
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		applyDialogFont(panel);
-		return super.open();
-	}
-	
-	public Object getValue(String key) {
-		return valueMap.get(key);
-	}
-	
-	public String getStringValue(String key) {
-		return  (String) getValue(key);
-	}
-	
-	public void validateFields() {
-		for(Iterator i = validators.iterator(); i.hasNext(); ) {
-			Validator validator = (Validator) i.next();
-			if (!validator.validate()) {
-				getButton(IDialogConstants.OK_ID).setEnabled(false);
-				return;
-			}
-		}
-		getButton(IDialogConstants.OK_ID).setEnabled(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Point initialLocation= DialogSettingsHelper.getInitialLocation(getDialogSettingsSectionName());
-		if (initialLocation != null) {
-			return initialLocation;
-		}
-		return super.getInitialLocation(initialSize);
-	}
-
-	
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".MULTIPLE_INPUT_DIALOG_2"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point size = super.getInitialSize();
-		return DialogSettingsHelper.getInitialSize(getDialogSettingsSectionName(), size);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-		return super.close();
-	}
-
-	protected class FieldSummary {
-		int type;
-		String name;
-		String initialValue;
-		boolean allowsEmpty;
-		
-		public FieldSummary(int type, String name, String initialValue, boolean allowsEmpty) {
-			this.type = type;
-			this.name = name;
-			this.initialValue = initialValue;
-			this.allowsEmpty = allowsEmpty;
-		}
-	}
-	
-	protected class Validator {
-		boolean validate() {
-			return true;
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
deleted file mode 100644
index 3c18df6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/Pair.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-/**
- * Pair is a basic tuple of two with classic first and second members.
- * Since Java is non-polymorphic, we use Object(s) for the pair elements
- * and cast our brains out.
- */
-public class Pair {
-	public Object fFirst = null;
-	public Object fSecond = null;
-	public Pair(Object first, Object second) {
-		fFirst = first;
-		fSecond = second;
-	}
-	/*
-	 * String accessors
-	 */
-	public String firstAsString() {
-		return (String) fFirst;
-	}
-	public String secondAsString() {
-		return (String) fSecond;
-	}
-	/*
-	 * Integer accessors
-	 */
-	public Integer firstAsInteger() {
-		return (Integer) fFirst;
-	}
-	public Integer secondAsInteger() {
-		return (Integer) fSecond;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
deleted file mode 100644
index ed3bcec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/PixelConverter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	
-	private FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics= gc.getFontMetrics();
-		gc.dispose();
-	}
-		
-	/**
-	 * @see DialogPage#convertHeightInCharsToPixels
-	 */
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	/**
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	/**
-	 * @see DialogPage#convertVerticalDLUsToPixels
-	 */
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	/**
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
deleted file mode 100644
index 97471c0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/ResourceExtender.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-
-/**
- * ResourceExtender provides property testers for the XML expression
- * language evaluation. We provide a copy in Debug so that launch shortcuts
- * can add contextual launch enablement that does not require their plugins
- * to be loaded.
- * Copied from org.eclipse.jdt.internal.corext.refactoring.participants.xml.ResourceExtender
- */
-public class ResourceExtender extends PropertyTester {
-
-	private static final String PROPERTY_MATCHES_PATTERN= "matchesPattern";	 //$NON-NLS-1$
-	private static final String PROJECT_NATURE = "projectNature";	 //$NON-NLS-1$
-	private static final String PROPERTY_MATCHES_CONTENT_TYPE= "matchesContentType"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.corext.refactoring.participants.properties.IPropertyEvaluator#test(java.lang.Object, java.lang.String, java.lang.String)
-	 */
-	public boolean test(Object receiver, String method, Object[] args, Object expectedValue) {
-		IResource resource= (IResource) ((IAdaptable)receiver).getAdapter(IResource.class);
-		if (resource != null) {
-			if (PROPERTY_MATCHES_PATTERN.equals(method)) { //$NON-NLS-1$
-				String fileName= resource.getName();
-				StringMatcher matcher= new StringMatcher((String)expectedValue, false, false);
-				return matcher.match(fileName);
-			} else if (PROJECT_NATURE.equals(method)) {
-				try {
-					IProject proj = resource.getProject();
-					return proj.isAccessible() && proj.hasNature((String)expectedValue);
-				} catch (CoreException e) {
-					return false;		
-				}
-			} else if (PROPERTY_MATCHES_CONTENT_TYPE.equals(method)) {
-				return matchesContentType(resource, (String) expectedValue);
-			}
-		}
-		return false;
-	}
-		
-	/**
-	 * Returns whether or not the given file's content type matches
-	 * the specified content type.
-	 * 
-	 * Content types are looked up in the content type registry.
-	 * 
-	 * @return whether or not the given resource has the given content type
-	 */
-	private boolean matchesContentType(IResource resource, String contentType) {
-		if (resource == null || !(resource instanceof IFile) || !resource.exists()) {
-			return false;
-		}
-		IFile file= (IFile) resource;
-		IContentDescription description;
-		try {
-			description = file.getContentDescription();
-		} catch (CoreException e) {
-			return false;
-		}
-		if (description != null) {
-			IContentType type= description.getContentType();
-			return type != null && contentType.equals(type.getId());
-		}
-		return false;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
deleted file mode 100644
index 613358e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/SWTUtil.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display= Display.getCurrent();
-		if (display == null)
-			display= Display.getDefault();
-		return display;		
-	}
-	
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control)widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret)widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource)widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget)widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu)widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar)widget).getParent().getShell();
-							
-		return null;	
-	}
-
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Returns a height hint for a button control.
-	 */		
-	public static int getButtonHeigthHint(Button button) {
-		PixelConverter converter= new PixelConverter(button);
-		return converter.convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-	}	
-
-	
-	/**
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param	the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd= button.getLayoutData();
-		if (gd instanceof GridData) {
-			((GridData)gd).heightHint= getButtonHeigthHint(button);
-			((GridData)gd).widthHint= getButtonWidthHint(button);	
-			((GridData)gd).horizontalAlignment = GridData.FILL;	 
-		}
-	}		
-	
-	
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * 
-	 * @return a new push button
-	 */
-	public static Button createPushButton(Composite parent, String label, Image image) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		if (image != null) {
-			button.setImage(image);
-		}
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTUtil.setButtonDimensionHint(button);
-		return button;	
-	}	
-
-	/**
-	 * Creates and returns a new radio button with the given
-	 * label.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * 
-	 * @return a new radio button
-	 */
-	public static Button createRadioButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setFont(parent.getFont());
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTUtil.setButtonDimensionHint(button);
-		return button;	
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StepFilterManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StepFilterManager.java
deleted file mode 100644
index 6a2477e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StepFilterManager.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStepFilters;
-
-/**
- * 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 {
-
-	/**
-	 * 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) {
-		boolean useStepFilters = isUseStepFilters();
-		IDebugTarget[] targets = launch.getDebugTargets();
-		for (int i = 0; i < targets.length; i++) {
-			IDebugTarget target = targets[i];
-			if (target instanceof IStepFilters) {
-				IStepFilters filters = (IStepFilters) target;
-				if (filters.isStepFiltersEnabled() != useStepFilters) {
-					filters.setStepFiltersEnabled(useStepFilters);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether the 'use step filters' preference is on.
-	 * 
-	 * @return whether to use step filters
-	 */
-	public boolean isUseStepFilters() {
-		return DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS);
-	}
-	
-	/**
-	 * Sets whether to use step filters.
-	 * 
-	 * @param useFilters whether to use step filters
-	 */
-	public void setUseStepFilters(boolean useFilters) {
-		DebugUIPlugin.getDefault().getPreferenceStore().setValue(IInternalDebugUIConstants.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.ui/ui/org/eclipse/debug/internal/ui/StringMatcher.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StringMatcher.java
deleted file mode 100644
index 2c73475..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/StringMatcher.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
- 
-import java.util.*;
-
-/**
- * A string pattern matcher, suppporting * and ? wildcards.
- */
-public class StringMatcher {
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound= 0;
-	
-
-	protected static final char fSingleWildCard= '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start= start;
-			this.end= end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-	/**
-	 * StringMatcher constructor takes in a String object that is a simple 
-	 * pattern which may contain ‘*’ for 0 and many characters and
-	 * ‘?’ for exactly one character.  
-	 *
-	 * Literal '*' and '?' characters must be escaped in the pattern 
-	 * e.g., "\*" means literal "*", etc.
-	 *
-	 * Escaping any other character (including the escape character itself), 
-	 * just results in that character in the pattern.
-	 * e.g., "\a" means "a" and "\\" means "\"
-	 *
-	 * If invoking the StringMatcher with string literals in Java, don't forget
-	 * escape characters are represented by "\\".
-	 *
-	 * @param pattern the pattern to match text against
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, wild cards and their escape sequences are ignored
-	 * 		  (everything is taken literally).
-	 */
-	public StringMatcher(String pattern, boolean ignoreCase, boolean ignoreWildCards) {
-		if (pattern == null)
-			throw new IllegalArgumentException();
-		fIgnoreCase= ignoreCase;
-		fIgnoreWildCards= ignoreWildCards;
-		fPattern= pattern;
-		fLength= pattern.length();
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code)(inclusive) 
-	 * and <code>end</code>(exclusive).  
-	 * @param <code>text</code>, the String object to search in 
-	 * @param <code>start</code>, the starting index of the search range, inclusive
-	 * @param <code>end</code>, the ending index of the search range, exclusive
-	 * @return an <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x= posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount= fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos= start;
-		int matchStart= -1;
-		int i;
-		for (i= 0; i < segCount && curPos < end; ++i) {
-			String current= fSegments[i];
-			int nextMatch= regExpPosIn(text, curPos, end, current);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart= nextMatch;
-			curPos= nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param <code>text</code>, a String object 
-	 */
-	public boolean match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) positions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param String <code>text</code>, a String object that contains the substring to match 
-	 * @param int <code>start<code> marks the starting position (inclusive) of the substring
-	 * @param int <code>end<code> marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength)) {
-				return false;
-			} else {
-				++i;
-				tCurPos= tCurPos + segLength;
-			}
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen);
-		}
-		return i == segCount ;
-	}
-
-	/**
-	 * This method parses the given pattern into segments seperated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments= new String[1];
-		fSegments[0]= fPattern;
-		fBound= fLength;
-	}
-	/**
-	 * Parses the given pattern into segments seperated by wildcard '*' characters.
-	 * @param p, a String object that is a simple regular expression with ‘*’ and/or ‘?’
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar= true;
-		if(fPattern.endsWith("*")) {//$NON-NLS-1$
-			/* make sure it's not an escaped wildcard */
-			if (fLength > 1 && fPattern.charAt(fLength - 2) != '\\') {
-				fHasTrailingStar= true;
-			}
-		}
-
-		Vector temp= new Vector();
-
-		int pos= 0;
-		StringBuffer buf= new StringBuffer();
-		while (pos < fLength) {
-			char c= fPattern.charAt(pos++);
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						char next= fPattern.charAt(pos++);
-						/* if it's an escape sequence */
-						if (next == '*' || next == '?' || next == '\\') {
-							buf.append(next);
-						} else {
-							/* not an escape sequence, just insert literally */
-							buf.append(c);
-							buf.append(next);
-						}
-					}
-				break;
-				case '*':
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						fBound += buf.length();
-						buf.setLength(0);
-					}
-				break;
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			fBound += buf.length();
-		}
-			
-		fSegments= new String[temp.size()];
-		temp.copyInto(fSegments);
-	}
-	/** 
-	 * @param <code>text</code>, a string which contains no wildcard
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		int max= end - fLength;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(fPattern, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, fPattern, 0, fLength))
-				return i;
-		}
-		
-		return -1;
-	}
-	/** 
-	 * @param <code>text</code>, a simple regular expression that may only contain '?'(s)
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param <code>p</code>, a simple regular expression that may contains '?'
-	 * @param <code>caseIgnored</code>, wether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p) {
-		int plen= p.length();
-		
-		int max= end - plen;
-		for (int i= start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param <code>text</code>, a String to match
-	 * @param <code>start</code>, int that indicates the starting index of match, inclusive
-	 * @param <code>end</code> int that indicates the ending index of match, exclusive
-	 * @param <code>p</code>, String,  String, a simple regular expression that may contain '?'
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen) {
-		while (plen-- > 0) {
-			char tchar= text.charAt(tStart++);
-			char pchar= p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					continue;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				if (Character.toUpperCase(tchar) == Character.toUpperCase(pchar))
-					continue;
-				// comparing after converting to upper case doesn't handle all cases;
-				// also compare after converting to lower case
-				if (Character.toLowerCase(tchar) == Character.toLowerCase(pchar))
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param <code>text</code>, the string to match
-	 * @param <code>start</code>, the starting index in the text for search, inclusive
-	 * @param <code>end</code>, the stopping point of search, exclusive
-	 * @param code>p</code>, a string that has no wildcard
-	 * @param <code>ignoreCase</code>, boolean indicating wether code>p</code> is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen= p.length();
-		int max= end - plen;
-		
-		if (!fIgnoreCase) {
-			int i= text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i= start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
deleted file mode 100644
index a14292f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/VariablesViewModelPresentation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import java.util.StringTokenizer;
-
-public class VariablesViewModelPresentation extends DelegatingModelPresentation {
-
-	/**
-	 * @see DelegatingModelPresentation#getText(Object)
-	 * 
-	 * Strips out control characters and replaces them with string representations
-	 */
-	public String getText(Object element) {
-		StringBuffer string= new StringBuffer();
-		StringTokenizer tokenizer= new StringTokenizer(super.getText(element), "\b\f\n\r\t\\", true); //$NON-NLS-1$
-		String token;
-		while (tokenizer.hasMoreTokens()) {
-			token= tokenizer.nextToken();
-			if (token.length() > 1) {
-				string.append(token);
-			} else {
-				switch (token.charAt(0)) {
-					case '\b':
-						string.append("\\b"); //$NON-NLS-1$
-						break;
-					case '\f':
-						string.append("\\f"); //$NON-NLS-1$
-						break;
-					case '\n':
-						string.append("\\n"); //$NON-NLS-1$
-						break;
-					case '\r':
-						string.append("\\r"); //$NON-NLS-1$
-						break;
-					case '\t':
-						string.append("\\t"); //$NON-NLS-1$
-						break;
-					case '\\':
-						string.append("\\\\"); //$NON-NLS-1$
-						break;
-					default:
-						string.append(token);
-				}
-			}
-		}
-		return string.toString();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
deleted file mode 100644
index 4933956..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/WorkingDirectoryStatusHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Prompts the user to re-launch when a working directory
- * is not supported by the Eclipse runtime.
- */
-public class WorkingDirectoryStatusHandler implements IStatusHandler {
-
-	/**
-	 * @see IStatusHandler#handleStatus(IStatus, Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) {
-		final boolean[] result = new boolean[1];
-		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				String title= DebugUIMessages.getString("WorkingDirectoryStatusHandler.Eclipse_Runtime_1"); //$NON-NLS-1$
-				String message= DebugUIMessages.getString("WorkingDirectoryStatusHandler.Eclipse_is_not_able_to_set_the_working_directory_specified_by_the_program_being_launched_as_the_current_runtime_does_not_support_working_directories._nContinue_launch_without_setting_the_working_directory__2"); //$NON-NLS-1$
-				result[0]= (MessageDialog.openQuestion(DebugUIPlugin.getShell(), title, message));
-			}
-		});
-		return new Boolean(result[0]);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
deleted file mode 100644
index c8add68..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractDebugActionDelegate.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.INullSelectionListener;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public abstract class AbstractDebugActionDelegate implements IWorkbenchWindowActionDelegate, IViewActionDelegate, ISelectionListener, INullSelectionListener {
-	
-	/**
-	 * The underlying action for this delegate
-	 */
-	private IAction fAction;
-	/**
-	 * This action's view part, or <code>null</code>
-	 * if not installed in a view.
-	 */
-	private IViewPart fViewPart;
-	
-	/**
-	 * Cache of the most recent seletion
-	 */
-	private IStructuredSelection fSelection;
-	
-	/**
-	 * Whether this delegate has been initialized
-	 */
-	private boolean fInitialized = false;
-	
-	/**
-	 * The window associated with this action delegate
-	 * May be <code>null</code>
-	 */
-	protected IWorkbenchWindow fWindow;
-	
-	/**
-	 * It's crucial that delegate actions have a zero-arg constructor so that
-	 * they can be reflected into existence when referenced in an action set
-	 * in the plugin's plugin.xml file.
-	 */
-	public AbstractDebugActionDelegate() {
-	}
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose(){
-		if (getWindow() != null) {
-			getWindow().getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window){
-		// listen to selection changes in the debug view
-		setWindow(window);
-		window.getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action){
-		IStructuredSelection selection= getSelection();
-		
-		final Iterator itr= selection.iterator();
-		String pluginId= DebugUIPlugin.getUniqueIdentifier();
-		final MultiStatus ms= 
-			new MultiStatus(pluginId, DebugException.REQUEST_FAILED, getStatusMessage(), null); 
-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-			public void run() {
-				while (itr.hasNext()) {
-					Object element= itr.next();
-					try {
-						doAction(element);
-					} catch (DebugException e) {
-						ms.merge(e.getStatus());
-					}
-				}
-			}
-		});
-		if (!ms.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), getErrorDialogTitle(), getErrorDialogMessage(), ms);
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}		
-	}
-
-	/**
-	 * AbstractDebugActionDelegates come in 2 flavors: IViewActionDelegate, 
-	 * IWorkbenchWindowActionDelegate delegates.
-	 * </p>
-	 * <ul>
-	 * <li>IViewActionDelegate delegate: getView() != null</li>
-	 * <li>IWorkbenchWindowActionDelegate: getView == null</li>
-	 * </ul>
-	 * <p>
-	 * Only want to call update(action, selection) for IViewActionDelegates.
-	 * An initialize call to update(action, selection) is made for all flavors to set the initial
-	 * enabled state of the underlying action.
-	 * IWorkbenchWindowActionDelegate's listen to selection changes
-	 * in the debug view only.
-	 * </p>
-	 * 
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection s) {
-		boolean wasInitialized= initialize(action, s);		
-		if (!wasInitialized) {
-			if (getView() != null) {
-				update(action, s);
-			}
-		}
-	}
-	
-	protected void update(IAction action, ISelection s) {
-		if (s instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection)s;
-			action.setEnabled(getEnableStateForSelection(ss));
-			setSelection(ss);
-		} else {
-			action.setEnabled(false);
-			setSelection(StructuredSelection.EMPTY);
-		}
-	}
-	
-	/**
-	 * Performs the specific action on this element.
-	 */
-	protected abstract void doAction(Object element) throws DebugException;
-
-	/**
-	 * Returns the String to use as an error dialog title for
-	 * a failed action. Default is to return null.
-	 */
-	protected String getErrorDialogTitle(){
-		return null;
-	}
-	/**
-	 * Returns the String to use as an error dialog message for
-	 * a failed action. This message appears as the "Message:" in
-	 * the error dialog for this action.
-	 * Default is to return null.
-	 */
-	protected String getErrorDialogMessage(){
-		return null;
-	}
-	/**
-	 * Returns the String to use as a status message for
-	 * a failed action. This message appears as the "Reason:"
-	 * in the error dialog for this action.
-	 * Default is to return the empty String.
-	 */
-	protected String getStatusMessage(){
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fViewPart = view;
-	}
-	
-	/**
-	 * Returns this action's view part, or <code>null</code>
-	 * if not installed in a view.
-	 * 
-	 * @return view part or <code>null</code>
-	 */
-	protected IViewPart getView() {
-		return fViewPart;
-	}
-
-	/**
-	 * Initialize this delegate, updating this delegate's
-	 * presentation.
-	 * As well, all of the flavors of AbstractDebugActionDelegates need to 
-	 * have the initial enabled state set with a call to update(IAction, ISelection).
-	 * 
-	 * @param action the presentation for this action
-	 * @return whether the action was initialized
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			setAction(action);
-			if (getView() == null) {
-				//update on the selection in the debug view
-				IWorkbenchWindow window= getWindow();
-				if (window != null && window.getShell() != null && !window.getShell().isDisposed()) {
-					IWorkbenchPage page= window.getActivePage();
-					if (page != null) {
-						selection= page.getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-					}
-				}
-			}
-			update(action, selection);
-			setInitialized(true);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns the most recent selection
-	 * 
-	 * @return structured selection
-	 */	
-	protected IStructuredSelection getSelection() {
-		if (getView() != null) {
-			//cannot used the cached selection in a view
-			//as the selection can be out of date for context menu
-			//actions. See bug 14556
-			ISelection s= getView().getViewSite().getSelectionProvider().getSelection();
-			if (s instanceof IStructuredSelection) {
-				return (IStructuredSelection)s;
-			} else {
-				return StructuredSelection.EMPTY;
-			}
-		}
-		return fSelection;
-	}
-	
-	/**
-	 * Sets the most recent selection
-	 * 
-	 * @parm selection structured selection
-	 */	
-	private void setSelection(IStructuredSelection selection) {
-		fSelection = selection;
-	}	
-	
-	/**
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		update(getAction(), selection);
-	}
-	
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-
-	protected IAction getAction() {
-		return fAction;
-	}
-	
-	protected void setView(IViewPart viewPart) {
-		fViewPart = viewPart;
-	}
-	
-	protected boolean isInitialized() {
-		return fInitialized;
-	}
-
-	protected void setInitialized(boolean initialized) {
-		fInitialized = initialized;
-	}
-
-	protected IWorkbenchWindow getWindow() {
-		return fWindow;
-	}
-
-	protected void setWindow(IWorkbenchWindow window) {
-		fWindow = window;
-	}
-	
-	/**
-	 * Return whether the action should be enabled or not based on the given selection.
-	 */
-	protected boolean getEnableStateForSelection(IStructuredSelection selection) {
-		if (selection.size() == 0) {
-			return false;
-		}
-		Iterator itr= selection.iterator();
-		while (itr.hasNext()) {
-			Object element= itr.next();
-			if (!isEnabledFor(element)) {
-				return false;
-			}
-		}
-		return true;		
-	}
-
-	protected boolean isEnabledFor(Object element) {
-		return true;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
deleted file mode 100644
index 926ac69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractListenerActionDelegate.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public abstract class AbstractListenerActionDelegate extends AbstractDebugActionDelegate implements IDebugEventSetListener, IActionDelegate2 {
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(final DebugEvent[] events) {
-		if (getWindow() == null || getAction() == null) {
-			return;
-		}
-		Shell shell= getWindow().getShell();
-		if (shell == null || shell.isDisposed()) {
-			return;
-		}
-		Runnable r= new Runnable() {
-			public void run() {
-				Shell windowShell= getWindow().getShell();
-				if (windowShell == null || windowShell.isDisposed()) {
-					return;
-				}
-				for (int i = 0; i < events.length; i++) {
-					if (events[i].getSource() != null) {
-						doHandleDebugEvent(events[i]);
-					}
-				}
-			}
-		};
-		
-		shell.getDisplay().asyncExec(r);
-	}
-	
-	/**
-	 * Default implementation to update on specific debug events.
-	 * Subclasses should override to handle events differently.
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {
-		switch (event.getKind()) {
-			case DebugEvent.TERMINATE :
-				update(getAction(), getSelection());
-				break;
-			case DebugEvent.RESUME :
-				if (!event.isEvaluation() || !((event.getDetail() & DebugEvent.EVALUATION_IMPLICIT) != 0)) {
-					update(getAction(), getSelection());
-				}
-				break;
-			case DebugEvent.SUSPEND :
-				// Update on suspend events (even for evaluations), in case the user changed
-				// the selection during an implicit evaluation.
-				update(getAction(), getSelection());
-				break;
-		}
-	}		
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate#init(IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window){
-		super.init(window);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
deleted file mode 100644
index a6c7add..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveActionDelegate.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewPart;
-
-public abstract class AbstractRemoveActionDelegate extends AbstractListenerActionDelegate {
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			IDebugView debugView= (IDebugView)getView().getAdapter(IDebugView.class);
-			if (debugView != null) {
-				debugView.setAction(IDebugView.REMOVE_ACTION, action);
-			}
-			return super.initialize(action, selection);
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
deleted file mode 100644
index 0e9b88f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractRemoveAllActionDelegate.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IViewPart;
-
-public abstract class AbstractRemoveAllActionDelegate extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		doAction();
-		getAction().setEnabled(false);
-	}
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action){
-		doAction(null);
-	}
-	
-	protected abstract void doAction();
-	
-	protected void update(IAction action, ISelection s) {
-		update();
-	}
-	
-	protected abstract void update();
-	
-	/**
-	 * Remove all actions do care nothing about the current selection
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection s) {
-		if (!isInitialized()) {
-			action.setEnabled(false);
-			setAction(action);
-			setInitialized(true);
-		}
-		update();
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
deleted file mode 100644
index 00988b6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ActionMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.actions.ActionMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private ActionMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
deleted file mode 100644
index b11315f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ActionMessages.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-AddToFavoritesAction.1=Add to {0} &Favorites
-AddToFavoritesAction.2=Error
-AddToFavoritesAction.3=Unable to add to favorites.
-
-ChangeVariableValue.errorDialogMessage=Setting the value failed.
-ChangeVariableValue.errorDialogTitle=Setting Value
-ChangeVariableValue.title=&Change Value...
-ChangeVariableValue.toolTipText=Change the Value of the Selected Variable or Register
-ChangeVariableValue.1=Set Value
-ChangeVariableValue.2=Enter a new value for {0}:
-ChangeVariableValue.3=An exception occurred
-ChangeVariableValue.4=Invalid value
-
-
-CollapseAllAction.0=Collapse All
-
-CopyToClipboardActionDelegate.Problem_Copying_to_Clipboard_1=Problem Copying to Clipboard
-CopyToClipboardActionDelegate.There_was_a_problem_when_accessing_the_system_clipboard._Retry__2=There was a problem when accessing the system clipboard. Retry?
-
-DisconnectActionDelegate.Disconnect_3=Disconnect
-DisconnectActionDelegate.Disconnect_failed_1=Disconnect failed
-DisconnectActionDelegate.Exceptions_occurred_attempting_to_disconnect._2=Exceptions occurred attempting to disconnect.
-
-EditLaunchConfigurationAction.1=Edit {0}...
-
-EnableBreakpointAction.Enable_breakpoint(s)_failed_2=Enable/Disable breakpoint(s) failed
-EnableBreakpointAction.Enabling_breakpoints_3=Enabling/disabling breakpoints
-EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4=Exceptions occurred enabling/disabling the breakpoint(s).
-
-OpenBreakpointMarkerAction.&Go_to_File_1=&Go to File
-OpenBreakpointMarkerAction.Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2=Exceptions occurred attempting to open the editor for the breakpoint resource
-OpenBreakpointMarkerAction.Go_to_Breakpoint_1=Go to File
-OpenBreakpointMarkerAction.Go_to_File_for_Breakpoint_2=Go to File for Breakpoint
-
-RelaunchActionDelegate.An_exception_occurred_while_launching_2=An exception occurred while launching
-RelaunchActionDelegate.Launch_Failed_1=Launch Failed
-RelaunchActionDelegate.Launch_1=Launch
-
-RemoveAllBreakpointsAction.Exceptions_occurred_removing_breakpoints._5=Exception occurred removing breakpoints.
-RemoveAllBreakpointsAction.Removing_all_breakpoints_4=Removing all breakpoints
-
-RemoveBreakpointAction.Breakpoint(s)_removal_failed_3=Breakpoint(s) removal failed
-RemoveBreakpointAction.Exceptions_occurred_attempting_to_remove_a_breakpoint._5=Exceptions occurred attempting to remove a breakpoint.
-RemoveBreakpointAction.Removing_a_breakpoint_4=Removing a breakpoint
-
-ResumeActionDelegate.Exceptions_occurred_attempting_to_resume._2=Exceptions occurred attempting to resume.
-ResumeActionDelegate.Resume_3=Resume
-ResumeActionDelegate.Resume_failed._1=Resume failed.
-
-ShowSupportedBreakpointsAction.Show_For_Selected=Show Supported &Breakpoints
-ShowSupportedBreakpointsAction.tooltip=Show Breakpoints Supported by Selected Target
-
-ShowTypesAction.Show_&Type_Names_1=Show &Type Names
-ShowTypesAction.Show_Type_Names=Show Type Names
-
-StepIntoActionDelegate.Exceptions_occurred_attempting_to_step_into_the_frame_2=Exceptions occurred attempting to step into the frame
-StepIntoActionDelegate.Step_Into_3=Step Into
-StepIntoActionDelegate.Step_into_failed_1=Step into failed
-
-StepOverActionDelegate.Exceptions_occurred_attempting_to_step_over_the_frame_2=Exceptions occurred attempting to step over the frame
-StepOverActionDelegate.Step_over_3=Step Over
-StepOverActionDelegate.Step_over_failed_1=Step over failed
-
-StepReturnActionDelegate.Exceptions_occurred_attempting_to_run_to_return_of_the_frame._2=Exceptions occurred attempting to run to return of the frame.
-StepReturnActionDelegate.Run_to_Return_3=Step Return
-StepReturnActionDelegate.Run_to_return_failed._1=Step return failed.
-
-SuspendActionDelegate.Exceptions_occurred_attempting_to_suspend._2=Exceptions occurred attempting to suspend.
-SuspendActionDelegate.Suspend_3=Suspend
-SuspendActionDelegate.Suspend_failed_1=Suspend failed
-
-TerminateActionDelegate.Exceptions_occurred_attempting_to_terminate._2=Exceptions occurred attempting to terminate.
-TerminateActionDelegate.Terminate_3=Terminate
-
-TerminateActionDelegate.Terminate_failed._1=Terminate failed.
-TerminateAllAction.Exceptions_occurred_attempting_to_terminate_all._5=Exceptions occurred attempting to terminate all.
-TerminateAllAction.Terminate_All_2=Terminate All
-TerminateAllAction.Terminate_all_failed_3=Terminate all failed
-
-TerminateAndRemoveActionDelegate.Exceptions_occurred_attempting_to_terminate_and_remove_2=Exceptions occurred attempting to terminate and remove
-TerminateAndRemoveActionDelegate.Terminate_and_Remove;_3=Terminate and Remove;
-TerminateAndRemoveActionDelegate.Terminate_and_remove_failed_1=Terminate and remove failed
-
-RelaunchLastAction.Cannot_relaunch_1=Cannot relaunch
-RelaunchLastAction.Cannot_relaunch_[{0}]_because_it_does_not_support_{2}_mode_2=Cannot relaunch [{0}] because it does not support {1} mode
-RelaunchLastAction.Error_relaunching_3=Error relaunching
-RelaunchLastAction.Error_encountered_attempting_to_relaunch_4=Error encountered attempting to relaunch
-
-FollowHyperlinkAction.&Open_Link_1=&Open Link
-FollowHyperlinkAction.Follow_the_selected_hyperlink._2=Follow the selected hyperlink.
-
-ScrollLockAction.Scroll_Lock_1=Scroll Lock
-
-KeyBindingFollowHyperLinkAction.No_hyperlink=No hyperlink selected
-
-AbstractLaunchHistoryAction.0={0} {1}
-AbstractLaunchHistoryAction.1=Run
-AbstractLaunchHistoryAction.2=Debug
-AbstractLaunchHistoryAction.3=Profile
-AbstractLaunchHistoryAction.4=Launch
-
-ToggleDetailPaneAction.1=Vertical View Orientation
-ToggleDetailPaneAction.2=Place the Detail Pane Underneath the Main Tree View
-ToggleDetailPaneAction.3=Place the Detail Pane Underneath the Main Tree View
-ToggleDetailPaneAction.4=Horizontal View Orientation
-ToggleDetailPaneAction.5=Place the Detail Pane on the Right of the Main Tree View
-ToggleDetailPaneAction.6=Place the Detail Pane on the Right of the Main Tree View
-ToggleDetailPaneAction.8=Hide the Detail Pane so that only the Main Tree View is Visible
-ToggleDetailPaneAction.9=Hide the Detail Pane so that only the Main Tree View is Visible
-
-WatchExpressionDialog.0=Edit Watch Expression
-WatchExpressionDialog.1=Add Watch Expression
-WatchExpressionDialog.2=E&xpression:
-WatchExpressionDialog.3=&Enable
-WatchExpressionDialog.4=Expression must not be empty
-WatchAction.0=Error creating watch
-WatchAction.1=An exception occurred while attempting to create watch item.
-LinkBreakpointsWithDebugViewAction.0=Link with Debug View
-LinkBreakpointsWithDebugViewAction.1=Link with Debug View
-LinkBreakpointsWithDebugViewAction.2=Links the view\'s selection to the selection in the Debug view
-SkipAllBreakpointsAction.0=Skip All Breakpoints
-SkipAllBreakpointsAction.2=Skip all breakpoints, whether they are enabled or not
-AssignValueAction.1=Assign Value
-AssignValueAction.2=Invalid Value
-AssignValueAction.3=The value {0} cannot be assigned to {1}
-AssignValueAction.4=Invalid Value
-
-RunToLineAction.0=Error
-RunToLineAction.1=Run to line failed
-RunToLineActionDelegate.4=Run to &Line
-
-RetargetAction.2=Error
-RetargetAction.3=Operation failed
-LaunchAsAction.0={0} As
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
deleted file mode 100644
index 954b9ce..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddToFavoritesAction.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Adds the selected launch configuration to the launch favorites.
- */
-public class AddToFavoritesAction extends SelectionListenerAction {
-	
-	private ILaunchConfiguration fConfiguration = null;
-	private String fMode =null;
-	private ILaunchGroup fGroup = null;
-
-	/**
-	 * Constructs a new action.
-	 */
-	public AddToFavoritesAction() {
-		super(""); //$NON-NLS-1$
-		setEnabled(false);
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.EDIT_LAUNCH_CONFIGURATION_ACTION);
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		setLaunchConfiguration(null);
-		setMode(null);
-		if (selection.size() == 1) {
-			Object object = selection.getFirstElement();
-			ILaunch launch = null;
-			if (object instanceof IAdaptable) {
-				launch = (ILaunch)((IAdaptable)object).getAdapter(ILaunch.class); 
-			}
-			if (launch == null) {
-				if (object instanceof ILaunch) {
-					launch = (ILaunch)object;
-				} else if (object instanceof IDebugElement) {
-					launch = ((IDebugElement)object).getLaunch();
-				} else if (object instanceof IProcess) {
-					launch = ((IProcess)object).getLaunch();
-				}
-			}
-			if (launch != null) {
-				ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-				if (configuration != null) {
-					setLaunchConfiguration(configuration);
-					setMode(launch.getLaunchMode());
-					setGroup(DebugUITools.getLaunchGroup(configuration, getMode()));
-					setText(MessageFormat.format(ActionMessages.getString("AddToFavoritesAction.1"), new String[]{getGroup().getLabel()})); //$NON-NLS-1$
-				}
-			}
-		}
-		
-		// Disable the action if the launch config is private
-		ILaunchConfiguration config = getLaunchConfiguration();
-		if (config == null) {
-			return false;
-		} else {
-			if (DebugUITools.isPrivate(config)) {
-				return false;
-			}
-		}
-		
-		if (getGroup() != null) {
-			try {
-				List groups = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-				if (groups != null) {
-					return !groups.contains(getGroup().getIdentifier());
-				}
-				return true;
-			} catch (CoreException e) {
-			}
-			
-		}
-		
-		return false;
-	}
-
-	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfiguration = configuration;
-	}
-	
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fConfiguration;
-	}
-	
-	protected void setMode(String mode) {
-		fMode = mode;
-	}
-	
-	protected String getMode() {
-		return fMode;
-	}
-	
-	protected void setGroup(ILaunchGroup group) {
-		fGroup = group;
-	}
-	
-	protected ILaunchGroup getGroup() {
-		return fGroup;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		final CoreException[] ex = new CoreException[1];
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				try {
-					List list = getLaunchConfiguration().getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-					if (list == null) {
-						list = new ArrayList();
-					}
-					list.add(getGroup().getIdentifier());
-					ILaunchConfigurationWorkingCopy copy = getLaunchConfiguration().getWorkingCopy();
-					copy.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, list);
-					copy.doSave();
-					setEnabled(false);
-				} catch (CoreException e) {
-					ex[0] = e;
-				}
-			}
-		});
-		if (ex[0] != null) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.getString("AddToFavoritesAction.2"), ActionMessages.getString("AddToFavoritesAction.3"), ex[0].getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddWatchExpressionAction.java
deleted file mode 100644
index a44ce1b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddWatchExpressionAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * Open a watch expression dialog and add the created watch expression to the
- * expression view.
- */
-public class AddWatchExpressionAction extends WatchExpressionAction implements IViewActionDelegate {
-
-	/**
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// create a watch expression
-		IWatchExpression watchExpression= DebugPlugin.getDefault().getExpressionManager().newWatchExpression(""); //$NON-NLS-1$
-		// open the watch expression dialog
-		if (new WatchExpressionDialog(DebugUIPlugin.getShell(), watchExpression, false).open() == Window.OK) {
-			// if OK is selected, add the expression to the expression view and try to evaluate the expression.
-			DebugPlugin.getDefault().getExpressionManager().addExpression(watchExpression);
-			watchExpression.setExpressionContext(getContext());
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AssignValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AssignValueAction.java
deleted file mode 100644
index 68fbb2f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AssignValueAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValueModification;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-
-public class AssignValueAction extends SelectionProviderAction {
-	private VariablesView variablesView;
-	private ISourceViewer detailsViewer;
-
-	public AssignValueAction(VariablesView varView, ISourceViewer detailViewer) {
-		super(varView.getViewer(), ActionMessages.getString("AssignValueAction.1")); //$NON-NLS-1$
-		variablesView = varView;
-		detailsViewer = detailViewer;
-		setEnabled(false);
-		variablesView.getSite().getKeyBindingService().registerAction(this);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		boolean enabled = false;
-		if ((selection.size() == 1) && (selection.getFirstElement() instanceof IValueModification)) {
-			IValueModification valMod = (IValueModification) selection.getFirstElement();
-			if (valMod.supportsValueModification()) {
-				super.selectionChanged(selection);
-				enabled = true;
-			}
-		} 
-		setEnabled(enabled);		
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IVariable variable = (IVariable) getStructuredSelection().getFirstElement();
-		
-		Point selection = detailsViewer.getSelectedRange();
-		String value = null;
-		if (selection.y == 0) {
-			value = detailsViewer.getDocument().get();
-		} else {
-			try {
-				value = detailsViewer.getDocument().get(selection.x, selection.y);
-			} catch (BadLocationException e1) {
-			}
-		}
-		
-		try {
-			if (variable.verifyValue(value)) {
-				variable.setValue(value);
-			} else {
-				IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-				if (window == null) {
-					return;
-				}
-				Shell activeShell= window.getShell();
-				
-				DebugUIPlugin.errorDialog(activeShell, ActionMessages.getString("AssignValueAction.2"), MessageFormat.format(ActionMessages.getString("AssignValueAction.3"), new String[] {value, variable.getName()}), new StatusInfo(IStatus.ERROR, ActionMessages.getString("AssignValueAction.4")));  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#getActionDefinitionId()
-	 */
-	public String getActionDefinitionId() {		
-		return "org.eclipse.ui.file.save"; //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
deleted file mode 100644
index 5268092..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueAction.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import java.text.MessageFormat;
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValueModification;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action for changing the value of primitives and <code>String</code> variables.
- */
-public class ChangeVariableValueAction extends SelectionProviderAction {
-
-	private ChangeVariableValueInputDialog fInputDialog;
-	protected IVariable fVariable;
-	
-	public ChangeVariableValueAction(Viewer viewer) {
-		super(viewer, ActionMessages.getString("ChangeVariableValue.title")); //$NON-NLS-1$
-		setDescription(ActionMessages.getString("ChangeVariableValue.toolTipText")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_CHANGE_VARIABLE_VALUE));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CHANGE_VARIABLE_VALUE));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_CHANGE_VARIABLE_VALUE));
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.CHANGE_VALUE_ACTION);
-	}
-	
-	/**
-	 * Edit the variable value with an inline text editor.  
-	 */
-	protected void doActionPerformed(final IVariable variable) {
-		IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window == null) {
-			return;
-		}
-		Shell activeShell= window.getShell();
-		
-		// If a previous edit is still in progress, don't start another
-		if (fInputDialog != null) {
-			return;
-		}
-
-		fVariable = variable;
-		String name= ""; //$NON-NLS-1$
-		String value= ""; //$NON-NLS-1$
-		try {
-			name= fVariable.getName();
-			value= fVariable.getValue().getValueString();
-		} catch (DebugException exception) {
-			DebugUIPlugin.errorDialog(activeShell, ActionMessages.getString("ChangeVariableValue.errorDialogTitle"),ActionMessages.getString("ChangeVariableValue.errorDialogMessage"), exception);	//$NON-NLS-2$ //$NON-NLS-1$
-			fInputDialog= null;
-			return;
-		}
-		fInputDialog= new ChangeVariableValueInputDialog(activeShell, ActionMessages.getString("ChangeVariableValue.1"), MessageFormat.format(ActionMessages.getString("ChangeVariableValue.2"), new String[] {name}), value, new IInputValidator() { //$NON-NLS-1$ //$NON-NLS-2$
-			/**
-			 * Returns an error string if the input is invalid
-			 */
-			public String isValid(String input) {
-				try {
-					if (fVariable.verifyValue(input)) {
-						return null; // null means valid
-					}
-				} catch (DebugException exception) {
-					return ActionMessages.getString("ChangeVariableValue.3"); //$NON-NLS-1$
-				}
-				return ActionMessages.getString("ChangeVariableValue.4"); //$NON-NLS-1$
-			}
-		});
-		
-		fInputDialog.open();
-		String newValue= fInputDialog.getValue();
-		if (newValue != null) {
-			// null value means cancel was pressed
-			try {
-				fVariable.setValue(newValue);
-				getSelectionProvider().setSelection(new StructuredSelection(variable));
-			} catch (DebugException de) {
-				DebugUIPlugin.errorDialog(activeShell, ActionMessages.getString("ChangeVariableValue.errorDialogTitle"),ActionMessages.getString("ChangeVariableValue.errorDialogMessage"), de);	//$NON-NLS-2$ //$NON-NLS-1$
-				fInputDialog= null;
-				return;
-			}
-		}
-		fInputDialog= null;
-	}
-		
-	/**
-	 * Updates the enabled state of this action based
-	 * on the selection
-	 */
-	protected void update(IStructuredSelection sel) {
-		Iterator iter= sel.iterator();
-		if (iter.hasNext()) {
-			Object object= iter.next();
-			if (object instanceof IValueModification) {
-				IValueModification varMod= (IValueModification)object;
-				if (!varMod.supportsValueModification()) {
-					setEnabled(false);
-					return;
-				}
-				setEnabled(!iter.hasNext());
-				return;
-			}
-		}
-		setEnabled(false);
-	}
-
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		Iterator iterator= getStructuredSelection().iterator();
-		doActionPerformed((IVariable)iterator.next());
-	}
-	
-	/**
-	 * @see SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		update(sel);
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueInputDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueInputDialog.java
deleted file mode 100644
index 86c20b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ChangeVariableValueInputDialog.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DialogSettingsHelper;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * A simple input dialog for soliciting an input string
- * from the user.
- * <p>
- * This concete dialog class can be instantiated as is, 
- * or further subclassed as required.
- * </p>
- */
-public class ChangeVariableValueInputDialog extends Dialog {
-	
-	
-	/**
-	 * The title of the dialog.
-	 */
-	private String title;
-	
-	/**
-	 * The message to display, or <code>null</code> if none.
-	 */
-	private String message;
-	
-	/**
-	 * The input value; the empty string by default.
-	 */
-	private String value= "";//$NON-NLS-1$
-	
-	/**
-	 * The input validator, or <code>null</code> if none.
-	 */
-	private IInputValidator validator;
-	
-	/**
-	 * Ok button widget.
-	 */
-	private Button okButton;
-	
-	/**
-	 * Input text widget.
-	 */
-	private Text text;
-	
-	/**
-	 * Error message label widget.
-	 */
-	private Label errorMessageLabel;
-	/**
-	 * Creates an input dialog with OK and Cancel buttons.
-	 * Note that the dialog will have no visual representation (no widgets)
-	 * until it is told to open.
-	 * <p>
-	 * Note that the <code>open</code> method blocks for input dialogs.
-	 * </p>
-	 *
-	 * @param parentShell the parent shell
-	 * @param dialogTitle the dialog title, or <code>null</code> if none
-	 * @param dialogMessage the dialog message, or <code>null</code> if none
-	 * @param initialValue the initial input value, or <code>null</code> if none
-	 *  (equivalent to the empty string)
-	 * @param validator an input validator, or <code>null</code> if none
-	 */
-	public ChangeVariableValueInputDialog(Shell parentShell, String dialogTitle, String dialogMessage, String initialValue, IInputValidator validator) {
-		super(parentShell);
-		this.title = dialogTitle;
-		message = dialogMessage;
-		if (initialValue == null)
-			value = "";//$NON-NLS-1$
-		else
-			value = initialValue;
-		this.validator = validator;
-		
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			value= text.getText();
-		} else {
-			value= null;
-		}
-		super.buttonPressed(buttonId);
-	}
-	/* (non-Javadoc)
-	 * Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (title != null)
-			shell.setText(title);
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-		
-		//do this here because setting the text will set enablement on the ok button
-		text.setFocus();
-		if (value != null) {
-			text.setText(value);
-			text.selectAll();
-		}
-	}
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		// create composite
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		// create message
-		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(message);
-			GridData data = new GridData(
-					GridData.GRAB_HORIZONTAL |
-					GridData.HORIZONTAL_ALIGN_FILL |
-					GridData.VERTICAL_ALIGN_CENTER);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			label.setLayoutData(data);
-			label.setFont(font);
-		}
-		
-		text= new Text(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL| SWT.H_SCROLL);
-		
-		GridData gridData= new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_VERTICAL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.heightHint = 50;
-		gridData.widthHint = 100;
-		text.setLayoutData(gridData);
-		text.setFont(font);
-		text.addModifyListener(
-				new ModifyListener() {
-					public void modifyText(ModifyEvent e) {
-						if (okButton.isEnabled()) {
-							return;
-						}
-						errorMessageLabel.setText(""); //$NON-NLS-1$
-						errorMessageLabel.getParent().update();
-						okButton.setEnabled(true);
-					}
-				}
-		);
-		
-		errorMessageLabel = new Label(composite, SWT.NONE);
-		errorMessageLabel.setLayoutData(new GridData(
-				GridData.GRAB_HORIZONTAL |
-				GridData.HORIZONTAL_ALIGN_FILL));
-		errorMessageLabel.setFont(font);
-		
-		
-		return composite;
-	}
-	/**
-	 * Returns the error message label.
-	 *
-	 * @return the error message label
-	 */
-	protected Label getErrorMessageLabel() {
-		return errorMessageLabel;
-	}
-	/**
-	 * Returns the ok button.
-	 *
-	 * @return the ok button
-	 */
-	protected Button getOkButton() {
-		return okButton;
-	}
-	/**
-	 * Returns the text area.
-	 *
-	 * @return the text area
-	 */
-	protected Text getText() {
-		return text;
-	}
-	/**
-	 * Returns the validator.
-	 *
-	 * @return the validator
-	 */
-	protected IInputValidator getValidator() {
-		return validator;
-	}
-	/**
-	 * Returns the string typed into this input dialog.
-	 *
-	 * @return the input string
-	 */
-	public String getValue() {
-		return value;
-	}
-	/**
-	 * Validates the input.
-	 * <p>
-	 * The default implementation of this framework method
-	 * delegates the request to the supplied input validator object;
-	 * if it finds the input invalid, the error message is displayed
-	 * in the dialog's message line.
-	 * This hook method is called whenever the text changes in the
-	 * input field.
-	 * </p>
-	 */
-	protected void validateInput() {
-		
-		String errorMessage = null;
-		
-		if (validator != null) {
-			errorMessage = validator.isValid(text.getText());
-		}
-		
-		// Bug 16256: important not to treat "" (blank error) the same as null (no error)
-		errorMessageLabel.setText(errorMessage == null ? "" : errorMessage); //$NON-NLS-1$
-		okButton.setEnabled(errorMessage == null);
-		
-		errorMessageLabel.getParent().update();
-	}
-	protected void okPressed() {
-		validateInput();
-		if (okButton.isEnabled()) {
-			super.okPressed();
-		}
-	}
-	
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".CHANGE_VARIABLE_VALUE_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-		return super.close();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Point initialLocation= DialogSettingsHelper.getInitialLocation(getDialogSettingsSectionName());
-		if (initialLocation != null) {
-			return initialLocation;
-		}
-		return super.getInitialLocation(initialSize);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point size = super.getInitialSize();
-		return DialogSettingsHelper.getInitialSize(getDialogSettingsSectionName(), size);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#handleShellCloseEvent()
-	 */
-	protected void handleShellCloseEvent() {
-		value= null;
-		super.handleShellCloseEvent();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
deleted file mode 100644
index f8d3b81..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CollapseAllAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-
-/**
- * CollapseAllAction
- */
-public class CollapseAllAction extends Action {
-	
-	private AbstractTreeViewer fViewer;
-	
-	public CollapseAllAction(AbstractTreeViewer viewer) {
-		super(ActionMessages.getString("CollapseAllAction.0"), DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_COLLAPSE_ALL)); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("CollapseAllAction.0")); //$NON-NLS-1$
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_COLLAPSE_ALL));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_COLLAPSE_ALL));
-		fViewer = viewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fViewer.collapseAll();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConvertToWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConvertToWatchExpressionAction.java
deleted file mode 100644
index fcc3155..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ConvertToWatchExpressionAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Convert one or more expressions to the equivalent watch expressions.
- * Refresh and re-evaluate the expressions if possible.
- */
-public class ConvertToWatchExpressionAction extends WatchExpressionAction {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getCurrentSelection();
-		IExpressionManager expressionManager= DebugPlugin.getDefault().getExpressionManager();
-		for (Iterator iter= selection.iterator(); iter.hasNext();) {
-			IExpression expression= (IExpression) iter.next();
-			// create the new watch expression
-			IWatchExpression watchExpression= expressionManager.newWatchExpression(expression.getExpressionText());
-			expressionManager.removeExpression(expression);
-			expressionManager.addExpression(watchExpression);
-			// refresh and re-evaluate
-			watchExpression.setExpressionContext(getContext());
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
deleted file mode 100644
index 5c91018..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyToClipboardActionDelegate.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.TreeItem;
-
-public class CopyToClipboardActionDelegate extends AbstractDebugActionDelegate {
-	
-	private TreeViewer fViewer;
-	
-	/**
-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			IDebugView adapter= (IDebugView)getView().getAdapter(IDebugView.class);
-			if (adapter != null) {
-				if (adapter.getViewer() instanceof ContentViewer) {
-					setViewer((TreeViewer) adapter.getViewer());
-				}
-				adapter.setAction(getActionId(), action);
-			}
-			return super.initialize(action, selection);
-		} 
-		return false;
-	}
-
-	protected String getActionId() {
-		return IDebugView.COPY_ACTION;
-	}
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return getViewer() != null && element instanceof IDebugElement;
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(TreeItem item, StringBuffer buffer) {
-		append(item, buffer, 0);
-	}
-
-	/** 
-	 * Appends the representation of the specified element (using the label provider and indent)
-	 * to the buffer.  For elements down to stack frames, children representations
-	 * are append to the buffer as well.
-	 */
-	protected void append(TreeItem item, StringBuffer buffer, int indent) {
-		for (int i= 0; i < indent; i++) {
-			buffer.append('\t');
-		}
-		buffer.append(item.getText());
-		buffer.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		if (shouldAppendChildren(item)) {
-			TreeItem[] children= item.getItems();
-			for (int i = 0;i < children.length; i++) {
-				TreeItem child= children[i];
-				append(child, buffer, indent + 1);
-			}
-		}
-	}
-	
-	/**
-	 * Do the specific action using the current selection.
-	 */
-	public void run(IAction action) {
-		final Iterator iter= pruneSelection();
-		BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
-			public void run() {
-				StringBuffer buffer= new StringBuffer();
-				while (iter.hasNext()) {
-					doAction((TreeItem) iter.next(), buffer);
-				}
-				TextTransfer plainTextTransfer = TextTransfer.getInstance();
-				Clipboard clipboard= new Clipboard(getViewer().getControl().getDisplay());		
-				try {
-					doCopy(clipboard, plainTextTransfer, buffer);
-				} finally {
-					clipboard.dispose();
-				}
-			}
-		});
-	}
-	
-	protected void doCopy(Clipboard clipboard, TextTransfer plainTextTransfer, StringBuffer buffer) {
-		try {
-			clipboard.setContents(
-					new String[]{buffer.toString()}, 
-					new Transfer[]{plainTextTransfer});
-		} catch (SWTError e){
-			if (e.code != DND.ERROR_CANNOT_SET_CLIPBOARD) {
-				throw e;
-			}
-			if (MessageDialog.openQuestion(getViewer().getControl().getShell(), ActionMessages.getString("CopyToClipboardActionDelegate.Problem_Copying_to_Clipboard_1"), ActionMessages.getString("CopyToClipboardActionDelegate.There_was_a_problem_when_accessing_the_system_clipboard._Retry__2"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				doCopy(clipboard, plainTextTransfer, buffer);
-			}
-		}	
-	}
-	
-	/**
-	 * Removes the duplicate items from the selection.
-	 * That is, if both a parent and a child are in a selection
-	 * remove the child.
-	 */
-	protected Iterator pruneSelection() {
-		TreeItem[] selection= getViewer().getTree().getSelection();
-		List items= new ArrayList(selection.length);
-		for (int i = 0; i < selection.length; i++) {
-			TreeItem item= selection[i];
-			if (isEnabledFor(item.getData())) {
-				if(walkHierarchy(item, items)) {
-					items.add(item);
-				}
-			}			
-		}
-		return items.iterator();
-	}
-	
-	/**
-	 * Returns whether the parent of the specified
-	 * element is already contained in the collection.
-	 */
-	protected boolean walkHierarchy(TreeItem item, List elements) {
-		TreeItem parent= item.getParentItem();
-		if (parent == null) {
-			return true;
-		}
-		if (elements.contains(parent)) {
-			return false;
-		}
-		return walkHierarchy(parent, elements);		
-	}
-	
-	protected boolean shouldAppendChildren(TreeItem item) {
-		Object data= item.getData();
-		return data instanceof IDebugTarget || data instanceof IThread;
-	}
-			
-	protected TreeViewer getViewer() {
-		return fViewer;
-	}
-
-	protected void setViewer(TreeViewer viewer) {
-		fViewer = viewer;
-	}
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		//not used
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
deleted file mode 100644
index 8db79ca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/CopyVariablesToClipboardActionDelegate.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Used to copy the values of variables to the clipboard from
- * the Variables and Expression views.
- */
-public class CopyVariablesToClipboardActionDelegate extends CopyToClipboardActionDelegate {
-
-	/**
-	 * Only append children that are expanded in the tree viewer
-	 */
-	protected boolean shouldAppendChildren(TreeItem item) {
-		return item.getExpanded();
-	}
-	
-	protected String getActionId() {
-		return IDebugView.COPY_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
deleted file mode 100644
index 40903bb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchAsAction;
-
-/**
- * "Debug As" action in the top level "Run" menu.
- */
-public class DebugAsAction extends LaunchAsAction {
-
-	public DebugAsAction() {
-		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextManager.java
deleted file mode 100644
index 3ed5f5d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextManager.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.actions;
-
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.contexts.EnabledSubmission;
-import org.eclipse.ui.contexts.IWorkbenchContextSupport;
-
-/**
- * Manages the debug context in response to active debug sessions.
- * When something is being debugged, the context is activated. 
- * When all debugging stops, the context is deactivated.
- * 
- * @since 3.0
- */
-public class DebugContextManager implements ILaunchesListener2 {
-	
-	
-	public static final String DEBUG_CONTEXT = "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	
-	// whether the debug context is currently on
-	private boolean fDebugging = false;
-	
-	// debug context submission
-	private List fDebugSubmission = Collections.singletonList(new EnabledSubmission((String) null, (Shell)null, (IWorkbenchPartSite)null, DEBUG_CONTEXT));
-
-	// singleton
-	private static DebugContextManager contextServiceManager;
-	
-	public static DebugContextManager getDefault() {
-		if (contextServiceManager == null) {
-			contextServiceManager = new DebugContextManager();
-		}
-		return contextServiceManager;
-	}
-	
-	private DebugContextManager() {
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-	}
-	
-	/**
-	 * Returns whether the debug scope is currently on.
-	 * 
-	 * @return whether the debug scope is currently on
-	 */
-	public boolean isDebugging() {
-		return fDebugging;
-	}
-		
-	/**
-	 * Sets whether the debug scope is currently on.
-	 * 
-	 * @param debugging whether the debug scope is currently on
-	 */
-	private void setDebugging(boolean debugging) {
-		if (debugging != fDebugging) {
-			fDebugging = debugging;
-			DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-				public void run() {
-					IWorkbenchContextSupport contextSupport = PlatformUI.getWorkbench().getContextSupport();
-					if (fDebugging) {
-						contextSupport.addEnabledSubmissions(fDebugSubmission);
-					} else {
-						contextSupport.removeEnabledSubmissions(fDebugSubmission);
-					}
-				}
-			});
-
-		}
-	}
-	
-	public synchronized void launchesAdded(ILaunch[] launches) {
-		for (int i = 0; i < launches.length; i++) {
-			if (launches[i].getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) {
-				setDebugging(true);
-				return;
-			}
-		}
-	}
-		
-	public void launchesRemoved(ILaunch[] launches) {
-	}	
-	
-	public void launchesChanged(ILaunch[] launches) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchListener2#launchTerminated(org.eclipse.debug.core.ILaunch)
-	 */
-	public synchronized void launchesTerminated(ILaunch[] launches) {
-		boolean debugLaunchTerminated = false;
-		for (int i = 0; i < launches.length; i++) {
-			if (launches[i].getLaunchMode().equals(ILaunchManager.DEBUG_MODE)) {
-				debugLaunchTerminated= true;
-				break;
-			}
-		}
-		if (debugLaunchTerminated) {
-			// if nothing left in debug mode, turn debugging off
-			ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-			ILaunch[] remainingLaunches = manager.getLaunches();
-			for (int i = 0; i < remainingLaunches.length; i++) {
-				ILaunch l = remainingLaunches[i];
-				if (ILaunchManager.DEBUG_MODE.equals(l.getLaunchMode()) && !l.isTerminated()) {
-					// still debugging
-					return;
-				}
-			}
-			setDebugging(false);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
deleted file mode 100644
index 299d6bd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugContextualLaunchAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.actions.ContextualLaunchAction;
-
-/**
- * @author DWright
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class DebugContextualLaunchAction extends ContextualLaunchAction {
-	
-	public DebugContextualLaunchAction() {
-		super(ILaunchManager.DEBUG_MODE);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
deleted file mode 100644
index 1b31c29..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction;
-
-/**
- * Debug history menu in the top-level "Run" menu.
- */ 
-public class DebugHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
-	public DebugHistoryMenuAction() {
-		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
deleted file mode 100644
index 515f667..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Relaunches the last debug-mode launch
- */
-public class DebugLastAction extends RelaunchLastAction {
-	
-	/**
-	 * @see RelaunchLastAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.LaunchDropDownAction#getLaunchGroupId()
-	 */
-	public String getLaunchGroupId() {
-		return IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
deleted file mode 100644
index 1ac49e2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DebugToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-
-/**
- * Debug drop-down history/favorites action.
- */
-public class DebugToolbarAction extends AbstractLaunchToolbarAction {
-
-	public DebugToolbarAction() {
-		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
deleted file mode 100644
index ab2b2c8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableBreakpointsAction.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-public class DisableBreakpointsAction extends EnableBreakpointsAction {
-	
-	/**
-	 * This action disables breakpoints.
-	 */
-	protected boolean isEnableAction() {
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableWatchExpressionAction.java
deleted file mode 100644
index feec739..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisableWatchExpressionAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-/**
- * 
- */
-public class DisableWatchExpressionAction extends EnableWatchExpressionAction {
-	
-	public DisableWatchExpressionAction() {
-		fEnable= false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
deleted file mode 100644
index 88d9248..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DisconnectActionDelegate.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-
-public class DisconnectActionDelegate extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) throws DebugException {
-		if (element instanceof IDisconnect) {
-			 ((IDisconnect) element).disconnect();
-		}
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return element instanceof IDisconnect && ((IDisconnect) element).canDisconnect();
-	}
-		
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("DisconnectActionDelegate.Exceptions_occurred_attempting_to_disconnect._2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("DisconnectActionDelegate.Disconnect_failed_1"); //$NON-NLS-1$
-	}
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("DisconnectActionDelegate.Disconnect_3"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {	
-		if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IDebugTarget) {
-			update(getAction(), getSelection());
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
deleted file mode 100644
index adeb4f6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditLaunchConfigurationAction.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.text.MessageFormat;
-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.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Opens the launch configuration dialog on a single launch configuration, based
- * on the the launch associated with the selected element.
- */
-public class EditLaunchConfigurationAction extends SelectionListenerAction {
-	
-	private ILaunchConfiguration fConfiguration = null;
-	private String fMode =null;
-
-	/**
-	 * Constructs a new action.
-	 */
-	public EditLaunchConfigurationAction() {
-		super(""); //$NON-NLS-1$
-		setEnabled(false);
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.EDIT_LAUNCH_CONFIGURATION_ACTION);
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		setLaunchConfiguration(null);
-		setMode(null);
-		if (selection.size() == 1) {
-			Object object = selection.getFirstElement();
-			ILaunch launch = null;
-			if (object instanceof IAdaptable) {
-				launch = (ILaunch)((IAdaptable)object).getAdapter(ILaunch.class); 
-			}
-			if (launch == null) {
-				if (object instanceof ILaunch) {
-					launch = (ILaunch)object;
-				} else if (object instanceof IDebugElement) {
-					launch = ((IDebugElement)object).getLaunch();
-				} else if (object instanceof IProcess) {
-					launch = ((IProcess)object).getLaunch();
-				}
-			}
-			if (launch != null) {
-				ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-				if (configuration != null) {
-					try {
-						// The DebugUIPlugin creates stand-in launches with copied configurations
-						// while a launch is waiting for a build. These copied configurations
-						// have an attribute that points to the config that the user is really
-						// launching.
-						String underlyingHandle = configuration.getAttribute(DebugUIPlugin.ATTR_LAUNCHING_CONFIG_HANDLE, ""); //$NON-NLS-1$
-						if (underlyingHandle.length() > 0) {
-							ILaunchConfiguration underlyingConfig = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(underlyingHandle);
-							if (underlyingConfig != null) {
-								configuration = underlyingConfig;
-							}
-						}
-					} catch (CoreException e1) {
-					}	
-					setLaunchConfiguration(configuration);
-					setMode(launch.getLaunchMode());
-					setText(MessageFormat.format(ActionMessages.getString("EditLaunchConfigurationAction.1"), new String[]{configuration.getName()})); //$NON-NLS-1$
-					ImageDescriptor descriptor = null;
-					try {
-						descriptor = DebugPluginImages.getImageDescriptor(configuration.getType().getIdentifier());
-					} catch (CoreException e) {
-						DebugUIPlugin.log(e);
-					}
-					setImageDescriptor(descriptor);
-				}
-			}
-		}
-		
-		// Disable the action if the launch config is private
-		ILaunchConfiguration config = getLaunchConfiguration();
-		if (config == null) {
-			return false;
-		}
-		return !DebugUITools.isPrivate(config);
-	}
-
-	protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fConfiguration = configuration;
-	}
-	
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fConfiguration;
-	}
-	
-	protected void setMode(String mode) {
-		fMode = mode;
-	}
-	
-	protected String getMode() {
-		return fMode;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		ILaunchGroup group = DebugUITools.getLaunchGroup(getLaunchConfiguration(), getMode());
-		if (group != null) {
-			DebugUITools.openLaunchConfigurationDialog(
-				DebugUIPlugin.getShell(), getLaunchConfiguration(),
-				group.getIdentifier(), null);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditWatchExpressionAction.java
deleted file mode 100644
index 90814ca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EditWatchExpressionAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-
-/**
- * Open the watch expression dialog for the select watch expression.
- * Re-evaluate and refresh the watch expression is necessary.
- */
-public class EditWatchExpressionAction extends WatchExpressionAction {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IWatchExpression watchExpression= (IWatchExpression)getCurrentSelection().getFirstElement();
-		// display the watch expression dialog for the currently selected watch expression
-		new WatchExpressionDialog(DebugUIPlugin.getShell(), watchExpression, true).open();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
deleted file mode 100644
index a34455b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableBreakpointsAction.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarkerDelta;
-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.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class EnableBreakpointsAction implements IViewActionDelegate, IPartListener, IBreakpointsListener {
-	
-	private IViewPart fView;
-	private IAction fAction;
-	
-	public EnableBreakpointsAction() {
-	}
-		
-	protected IViewPart getView() {
-		return fView;
-	}
-
-	protected void setView(IViewPart view) {
-		fView = view;
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-		view.getViewSite().getPage().addPartListener(this);
-	}
-
-	protected void update() {
-		selectionChanged(getAction(), getView().getViewSite().getSelectionProvider().getSelection());
-	}
-	
-	/**
-	 * This action enables breakpoints.
-	 */
-	protected boolean isEnableAction() {
-		return true;
-	}
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getSelection();
-		final int size= selection.size();
-		if (size == 0) {
-			return;
-		}
-		
-		final Iterator itr= selection.iterator();
-		final MultiStatus ms= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, ActionMessages.getString("EnableBreakpointAction.Enable_breakpoint(s)_failed_2"), null); //$NON-NLS-1$
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				while (itr.hasNext()) {
-					IBreakpoint breakpoint = (IBreakpoint) itr.next();
-					try {
-						if (size > 1) {
-							if (isEnableAction()) {
-								breakpoint.setEnabled(true);
-							} else {
-								breakpoint.setEnabled(false);
-							}
-						} else {
-							breakpoint.setEnabled(!breakpoint.isEnabled());
-						}
-					} catch (CoreException e) {
-						ms.merge(e.getStatus());
-					}
-				}
-			}
-		};
-		
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, null, 0, new NullProgressMonitor());
-		} catch (CoreException e) {
-			// Exceptions are handled by runnable
-		}
-		
-		if (!ms.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("EnableBreakpointAction.Enabling_breakpoints_3"), ActionMessages.getString("EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4"), ms); //$NON-NLS-2$ //$NON-NLS-1$
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}
-	}
-
-	private IStructuredSelection getSelection() {
-		return (IStructuredSelection)getView().getViewSite().getSelectionProvider().getSelection();
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		setAction(action);
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		IStructuredSelection sel= (IStructuredSelection)selection;
-		Object o= sel.getFirstElement();
-		if (!(o instanceof IBreakpoint)) {
-			return;
-		}
-		
-		Iterator itr= sel.iterator();
-		boolean allEnabled= true;
-		boolean allDisabled= true;
-		while (itr.hasNext()) {
-			IBreakpoint bp= (IBreakpoint)itr.next();
-			try {
-				if (bp.isEnabled()) {
-					allDisabled= false;
-				} else {
-					allEnabled= false;
-				}
-			} catch (CoreException ce) {
-				IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-				if (window != null) {
-					DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("EnableBreakpointAction.Enabling_breakpoints_3"), ActionMessages.getString("EnableBreakpointAction.Exceptions_occurred_enabling_the_breakpoint(s)._4"), ce); //$NON-NLS-2$ //$NON-NLS-1$
-				} else {
-					DebugUIPlugin.log(ce);
-				}
-			}
-		}
-			
-		if (isEnableAction()) {
-			action.setEnabled(!allEnabled);
-		} else {
-			action.setEnabled(!allDisabled);
-		}
-	}
-	
-
-	/**
-	 * Removes this action as a breakpoint and part listener.
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-		getView().getViewSite().getPage().removePartListener(this);
-	}
-	
-	/**
-	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-	}
-	
-	/**
-	 * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {	
-		asynchUpdate();
-	}
-	
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		asynchUpdate();
-	}
-	
-	protected void asynchUpdate() {
-		if (getAction() == null) {
-			return;
-		}
-		IWorkbenchWindow window= getView().getViewSite().getPage().getWorkbenchWindow();
-		if (window == null) {
-			return;
-		}
-		Shell shell= window.getShell();
-		if (shell == null || shell.isDisposed()) {
-			return;
-		}
-		Runnable r= new Runnable() {
-			public void run() {
-				IWorkbenchWindow ww= getView().getViewSite().getPage().getWorkbenchWindow();
-				if (ww == null) {
-					return;
-				}
-				Shell s= ww.getShell();
-				if (s == null || s.isDisposed()) {
-					return;
-				}
-				update();
-			}
-		};
-		
-		shell.getDisplay().asyncExec(r);
-	}
-	
-	protected IAction getAction() {
-		return fAction;
-	}
-
-	protected void setAction(IAction action) {
-		fAction = action;
-	}
-	/**
-	 * @see IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part.equals(getView())) {
-			dispose();
-		}
-	}
-
-	/**
-	 * @see IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-	}
-
-	/**
-	 * @see IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableWatchExpressionAction.java
deleted file mode 100644
index 7b602aa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/EnableWatchExpressionAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * 
- */
-public class EnableWatchExpressionAction implements IObjectActionDelegate {
-
-	private ISelection fSelection;
-	protected boolean fEnable= true;
-
-	/**
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (fSelection instanceof IStructuredSelection) {
-			Iterator iter= ((IStructuredSelection) fSelection).iterator();
-			IWatchExpression expression;
-			while (iter.hasNext()) {
-				expression= ((IWatchExpression) iter.next()); 
-				expression.setEnabled(fEnable);
-				fireWatchExpressionChanged(expression);
-			}
-		} else if (fSelection instanceof IWatchExpression) {
-			IWatchExpression expression= ((IWatchExpression) fSelection);
-			expression.setEnabled(fEnable);
-			fireWatchExpressionChanged(expression);
-		}
-	}
-
-	/**
-	 * @param expression
-	 */
-	private void fireWatchExpressionChanged(IWatchExpression expression) {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {new DebugEvent(expression, DebugEvent.CHANGE)});
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fSelection= selection;
-		if (fSelection instanceof IStructuredSelection) {
-			boolean enabled= false;
-			Iterator iter= ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				IWatchExpression expression = (IWatchExpression) iter.next();
-				if (expression.isEnabled() != fEnable) {
-					enabled= true;
-					break;
-				}
-			}
-			action.setEnabled(enabled);
-		} else if (fSelection instanceof IWatchExpression) {
-			action.setEnabled(((IWatchExpression) fSelection).isEnabled() != fEnable);
-		} else {
-			action.setEnabled(false);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
deleted file mode 100644
index 8a178ad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ExecutionAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * This is the super class of the Run & Debug actions which appears in the desktop menu and toolbar.
- */
-public abstract class ExecutionAction implements IActionDelegate2 {
-	
-	private String fLaunchGroupIdentifier;
-	
-	public ExecutionAction(String launchGroupIdentifier) {
-		fLaunchGroupIdentifier = launchGroupIdentifier;
-	}
-	
-	/**
-	 * @see IActionDelegate2#runWithEvent(IAction, Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-
-	/**
-	 * Open the launch configuration dialog, passing in the current workbench selection.
-	 */
-	private void openLaunchConfigurationDialog() {
-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (dwindow == null) {
-			return;
-		}
-		LaunchConfigurationsDialog dialog = new LaunchConfigurationsDialog(DebugUIPlugin.getShell(), getLaunchConfigurationManager().getLaunchGroup(fLaunchGroupIdentifier));		
-		dialog.open();
-	}
-	
-	protected LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}
-	
-	/**
-	 * Returns the mode of a launcher to use for this action
-	 */
-	protected abstract String getMode();
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		ILaunchConfiguration configuration = getLaunchConfigurationManager().getLastLaunch(fLaunchGroupIdentifier);
-		if (configuration == null) {
-			openLaunchConfigurationDialog();
-		} else {
-			DebugUITools.launch(configuration, getMode());
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FollowHyperlinkAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FollowHyperlinkAction.java
deleted file mode 100644
index b448392..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/FollowHyperlinkAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.console.ConsoleViewer;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * Follows a hyperlink in the console
- */
-public class FollowHyperlinkAction extends SelectionProviderAction {
-
-	/**
-	 * Constructs a follow link action
-	 */
-	public FollowHyperlinkAction(ISelectionProvider selectionProvider) {
-		super(selectionProvider, ActionMessages.getString("FollowHyperlinkAction.&Open_Link_1")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("FollowHyperlinkAction.Follow_the_selected_hyperlink._2")); //$NON-NLS-1$
-		ISharedImages images= DebugUIPlugin.getDefault().getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(IDE.SharedImages.IMG_OPEN_MARKER));
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.FOLLOW_CONSOLE_HYPERLINK_ACTION);
-	}
-	
-	public IConsoleHyperlink getHyperLink() {
-		ISelectionProvider selectionProvider = getSelectionProvider();
-		if (selectionProvider instanceof ConsoleViewer) {
-			ITextSelection textSelection = (ITextSelection)selectionProvider.getSelection();
-			ConsoleViewer consoleViewer = (ConsoleViewer)selectionProvider;
-			if (textSelection != null) {
-				return consoleViewer.getHyperlink(textSelection.getOffset());
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IConsoleHyperlink link = getHyperLink();
-		if (link != null) {
-			link.linkActivated();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/KeyBindingFollowHyperlinkAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/KeyBindingFollowHyperlinkAction.java
deleted file mode 100644
index 935d8f6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/KeyBindingFollowHyperlinkAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionBars;
-
-/**
- * A follow hyperlink action that is always enabled but reports problems
- * when a run fails. Bound to the open editor action definition by the
- * ConsoleView.
- */
-public class KeyBindingFollowHyperlinkAction extends FollowHyperlinkAction {
-
-	private boolean fSelectionNotAHyperlink = false;
-	private IActionBars fActionBars;
-	
-	public KeyBindingFollowHyperlinkAction(ISelectionProvider selectionProvider, IActionBars actionBars) {
-		super(selectionProvider);
-		fActionBars = actionBars;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IConsoleHyperlink link = getHyperLink();
-		if (link == null) {		
-			IStatusLineManager statusLine= getStatusLineManager();
-			if (statusLine != null) {
-				statusLine.setErrorMessage(ActionMessages.getString("KeyBindingFollowHyperLinkAction.No_hyperlink")); //$NON-NLS-1$
-				fSelectionNotAHyperlink = true;
-			}
-			DebugUIPlugin.getStandardDisplay().beep();
-		} else {
-			link.linkActivated();
-			fSelectionNotAHyperlink = false;
-		}
-	}
-	
-	public void clearStatusLine() {
-		if (fSelectionNotAHyperlink) {
-			IStatusLineManager statusLine= getStatusLineManager();
-			if (statusLine != null) {		
-				statusLine.setErrorMessage(null);
-				fSelectionNotAHyperlink = false;
-			}
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(ISelection selection) {
-		if (isEmptySelection(selection)) {
-			clearStatusLine();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection selection) {
-		selectionChanged((ISelection)selection);
-	}
-	
-	/**
-	 * This method is required because ITextSelection's of length zero are
-	 * NOT considered empty according to the implementation of TextSelection.isEmpty()
-	 * (see bug 32063).
-	 */
-	protected boolean isEmptySelection(ISelection selection) {
-		if (selection instanceof ITextSelection) {
-			return ((ITextSelection)selection).getLength() < 1;
-		} 
-		return selection.isEmpty();
-	}
-	
-	/**
-	 * Convenience method
-	 */
-	protected IStatusLineManager getStatusLineManager() {
-		return fActionBars.getStatusLineManager();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
deleted file mode 100644
index 6a282a8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchShortcutAction.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.List;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Launch shortcut action (proxy to a launch shortcut extension)
- */
-public class LaunchShortcutAction extends Action {
-	
-	private String fMode;
-	private LaunchShortcutExtension fShortcut; 
-
-
-	/**
-	 * Constructor for LaunchShortcutAction.
-	 */
-	public LaunchShortcutAction(String mode, LaunchShortcutExtension shortcut) {
-		super(shortcut.getLabel(), shortcut.getImageDescriptor());
-		fMode = mode;
-		fShortcut = shortcut;
-		updateEnablement();
-	}
-	
-	
-
-	/**
-	 * Runs with either the active editor or workbench selection.
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		IWorkbenchWindow wb = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (wb != null) {
-			IWorkbenchPage page = wb.getActivePage();
-			if (page != null) {
-				ISelection selection = page.getSelection();
-				if (selection instanceof IStructuredSelection) {
-					fShortcut.launch(selection, fMode);
-				} else {
-					IEditorPart editor = page.getActiveEditor();
-					if (editor != null) {
-						fShortcut.launch(editor, fMode);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Since these actions are re-created each time the run/debug as menu is
-	 * filled, the enablement of this action is static.
-	 */
-	private void updateEnablement() {
-		IWorkbenchWindow wb = DebugUIPlugin.getActiveWorkbenchWindow();
-		boolean enabled = false;
-		if (wb != null) {
-			IWorkbenchPage page = wb.getActivePage();
-			if (page != null) {
-				ISelection selection = page.getSelection();
-				if (selection instanceof IStructuredSelection) {
-					IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-					try {
-						// check enablement logic, if any
-						Expression expression = fShortcut.getShortcutEnablementExpression();
-						if (expression == null) {
-							enabled = !structuredSelection.isEmpty();
-						} else {
-							List list = structuredSelection.toList();
-							IEvaluationContext context = new EvaluationContext(null, list);
-							context.addVariable("selection", list); //$NON-NLS-1$
-							enabled = fShortcut.evalEnablementExpression(context, expression);
-						}
-					} catch (CoreException e) {
-					}
-				} else {
-					IEditorPart editor = page.getActiveEditor();
-					if (editor != null) {
-						enabled = true;
-					}
-				}
-			}
-		}		
-		setEnabled(enabled);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
deleted file mode 100644
index 2cf2a0b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LaunchablePropertyTester.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.actions.ILaunchable;
-
-/**
- * Tests if an object is launchable.
- */
-public class LaunchablePropertyTester 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) {
-		if (property.equals("launchable")) { //$NON-NLS-1$
-			if (DebugUIPlugin.getDefault().getLaunchConfigurationManager().launchModeAvailable((String)expectedValue)) {
-				return Platform.getAdapterManager().hasAdapter(receiver, ILaunchable.class.getName());
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LinkBreakpointsWithDebugViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LinkBreakpointsWithDebugViewAction.java
deleted file mode 100644
index 6366f69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/LinkBreakpointsWithDebugViewAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An action which toggles the "Link with Debug View" preference on a
- * breakpoints view.
- */
-public class LinkBreakpointsWithDebugViewAction extends Action {
-	
-	private BreakpointsView fView;
-	
-	public LinkBreakpointsWithDebugViewAction(BreakpointsView view) {
-		super(ActionMessages.getString("LinkBreakpointsWithDebugViewAction.0")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("LinkBreakpointsWithDebugViewAction.1")); //$NON-NLS-1$
-		setDescription(ActionMessages.getString("LinkBreakpointsWithDebugViewAction.2")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_SYNCED));
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.LINK_BREAKPOINTS_WITH_DEBUG_ACTION);
-		fView= view;
-		setChecked(view.isTrackingSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fView.setTrackSelection(isChecked());
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
deleted file mode 100644
index a2572d5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenBreakpointMarkerAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.SelectionProviderAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-public class OpenBreakpointMarkerAction extends SelectionProviderAction {
-
-	protected static DelegatingModelPresentation fgPresentation = new DelegatingModelPresentation();
-	private IBreakpoint breakpoint;
-	private IEditorInput input;
-	
-	public OpenBreakpointMarkerAction(ISelectionProvider selectionProvider) {
-		super(selectionProvider, ActionMessages.getString("OpenBreakpointMarkerAction.&Go_to_File_1")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("OpenBreakpointMarkerAction.Go_to_File_for_Breakpoint_2")); //$NON-NLS-1$
-		ISharedImages images= DebugUIPlugin.getDefault().getWorkbench().getSharedImages();
-		setImageDescriptor(images.getImageDescriptor(IDE.SharedImages.IMG_OPEN_MARKER));
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.OPEN_BREAKPOINT_ACTION);
-		setEnabled(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (dwindow == null) {
-			return;
-		}
-		IWorkbenchPage page= dwindow.getActivePage();
-		if (page == null) {
-			return;
-		}
-		
-		IStructuredSelection selection= getStructuredSelection();
-		if (selection.isEmpty()) {
-			setEnabled(false);
-			return;
-		}
-		
-		IEditorPart part= null;
-		if (input != null) {
-			String editorId = fgPresentation.getEditorId(input, breakpoint);
-			try {
-				part= page.openEditor(input, editorId);
-			} catch (PartInitException e) {
-				DebugUIPlugin.errorDialog(dwindow.getShell(), ActionMessages.getString("OpenBreakpointMarkerAction.Go_to_Breakpoint_1"), ActionMessages.getString("OpenBreakpointMarkerAction.Exceptions_occurred_attempting_to_open_the_editor_for_the_breakpoint_resource_2"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (part != null) {
-			part.setFocus();
-			IDE.gotoMarker(part, breakpoint.getMarker());
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void selectionChanged(IStructuredSelection sel) {
-		if (sel.size() == 1) {
-			breakpoint= (IBreakpoint)sel.getFirstElement();
-			input= fgPresentation.getEditorInput(breakpoint);
-			if (input != null) {
-				setEnabled(true);
-			} else {
-				setEnabled(false);
-			}
-		} else {
-			breakpoint = null;
-			input = null;
-			setEnabled(false);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
deleted file mode 100644
index 70c2cf7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenDebugConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-
-/**
- * Opens the launch config dialog on the debug launch group.
- */
-public class OpenDebugConfigurations extends OpenLaunchDialogAction {
-
-	public OpenDebugConfigurations() {
-		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
deleted file mode 100644
index 15aacca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenProfileConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-
-/**
- * Opens the launch config dialog on the run launch group.
- */
-public class OpenProfileConfigurations extends OpenLaunchDialogAction {
-
-	public OpenProfileConfigurations() {
-		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
deleted file mode 100644
index 45255e5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/OpenRunConfigurations.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-
-/**
- * Opens the launch config dialog on the run launch group.
- */
-public class OpenRunConfigurations extends OpenLaunchDialogAction {
-
-	public OpenRunConfigurations() {
-		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
deleted file mode 100644
index fd1984b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchAsAction;
-
-/**
- * "Profile As" action in the top level "Run" menu.
- */
-public class ProfileAsAction extends LaunchAsAction {
-
-	public ProfileAsAction() {
-		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
deleted file mode 100644
index edf04b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileContextualLaunchAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.actions.ContextualLaunchAction;
-
-/**
- * @author DWright
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class ProfileContextualLaunchAction extends ContextualLaunchAction {
-	
-	public ProfileContextualLaunchAction() {
-		super(ILaunchManager.PROFILE_MODE);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
deleted file mode 100644
index 2b11870..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction;
-
-/**
- * Profile history menu in the top-level "Run" menu.
- */ 
-public class ProfileHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
-	public ProfileHistoryMenuAction() {
-		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
deleted file mode 100644
index 76e89cf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Relaunches the last profile-mode launch
- */
-public class ProfileLastAction extends RelaunchLastAction {
-
-	/**
-	 * @see RelaunchLastAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.PROFILE_MODE;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.LaunchDropDownAction#getLaunchGroupId()
-	 */
-	public String getLaunchGroupId() {
-		return IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
deleted file mode 100644
index a7e822b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ProfileToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-
-/**
- * Profile drop-down history/favorites action.
- */
-public class ProfileToolbarAction extends AbstractLaunchToolbarAction {
-
-	public ProfileToolbarAction() {
-		super(IDebugUIConstants.ID_PROFILE_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ReevaluateWatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ReevaluateWatchExpressionAction.java
deleted file mode 100644
index 430a161..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ReevaluateWatchExpressionAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-/**
- * Ask to re-evaluate one or more watch expressions in the context of the
- * currently selected thread.
- */
-public class ReevaluateWatchExpressionAction extends WatchExpressionAction {
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IDebugElement context = getContext();
-		for (Iterator iter= getCurrentSelection().iterator(); iter.hasNext();) {
-			IWatchExpression expression= (IWatchExpression) iter.next();
-			expression.setExpressionContext(context);
-			if (!expression.isEnabled()) {
-				// Force a reevaluation
-				expression.evaluate();
-			}
-		}
-	}
-	
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		IDebugElement debugElement = getContext();
-		if (debugElement == null) {
-			action.setEnabled(false);
-		} else {
-			action.setEnabled(true);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
deleted file mode 100644
index d2fc133..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchActionDelegate.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-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.IProcess;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.ui.DebugUITools;
-
-public class RelaunchActionDelegate extends AbstractDebugActionDelegate {
-	
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object object) {
-		if (object instanceof IDebugElement) {
-			relaunch((IDebugElement)object);
-		} else if (object instanceof ILaunch) {
-			relaunch((ILaunch)object);
-		} else if (object instanceof IProcess) {
-			relaunch((IProcess)object);
-		}
-	}
-			
-	public static void relaunch(IDebugElement element) {
-		relaunch(element.getLaunch());
-	}
-	
-	public static void relaunch(IProcess process) {
-		relaunch(process.getLaunch());
-	}
-	
-	public static void relaunch(ILaunch launch) {
-		relaunch(launch.getLaunchConfiguration(), launch.getLaunchMode());
-	}
-	
-	public static void relaunch(ILaunch launch, String mode) {
-		relaunch(launch.getLaunchConfiguration(), mode);
-	}
-	
-	/**
-	 * Re-launches the given configuration in the specified mode.
-	 */
-	public static void relaunch(ILaunchConfiguration config, String mode) {
-		DebugUITools.launch(config, mode);		
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		ILaunch launch= null;
-		if (element instanceof ILaunch) {
-			launch= (ILaunch)element;
-		} else if (element instanceof IDebugElement) {
-			launch= ((IDebugElement)element).getLaunch();
-		} else if (element instanceof IProcess) {
-			launch= ((IProcess)element).getLaunch();
-		}
-		
-		return launch != null && launch.getLaunchConfiguration() != null && LaunchConfigurationManager.isVisible(launch.getLaunchConfiguration());
-	}
-			
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("RelaunchActionDelegate.Launch_Failed_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("RelaunchActionDelegate.Launch_1"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("RelaunchActionDelegate.An_exception_occurred_while_launching_2"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
deleted file mode 100644
index 6e0d610..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RelaunchLastAction.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.text.MessageFormat;
-
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Relaunches the last launch.
- */
-public abstract class RelaunchLastAction implements IWorkbenchWindowActionDelegate {
-	
-	private IWorkbenchWindow fWorkbenchWindow;
-	
-	private IAction fAction;
-	
-	/**
-	 * @see IWorkbenchWindowActionDelegate
-	 */
-	public void dispose(){
-	}
-
-	/**
-	 * @see IWorkbenchWindowActionDelegate
-	 */
-	public void init(IWorkbenchWindow window){
-		fWorkbenchWindow = window;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action){		
-		try {
-			final ILaunchConfiguration configuration = getLastLaunch();
-			if (configuration != null) {
-				if (configuration.supportsMode(getMode())) {
-					DebugUITools.launch(configuration, getMode());
-				} else {
-					String configName = configuration.getName();
-					String title = ActionMessages.getString("RelaunchLastAction.Cannot_relaunch_1"); //$NON-NLS-1$
-					String message = MessageFormat.format(ActionMessages.getString("RelaunchLastAction.Cannot_relaunch_[{0}]_because_it_does_not_support_{2}_mode_2"), new String[] {configName, getMode()}); //$NON-NLS-1$
-					MessageDialog.openError(getShell(), title, message);				
-				}
-			} else {
-				// If the history is empty, just open the launch config dialog
-				openLaunchConfigurationDialog();
-			}
-		} catch (CoreException ce) {
-			DebugUIPlugin.errorDialog(getShell(), ActionMessages.getString("RelaunchLastAction.Error_relaunching_3"), ActionMessages.getString("RelaunchLastAction.Error_encountered_attempting_to_relaunch_4"), ce); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Open the launch configuration dialog, passing in the current workbench selection.
-	 */
-	private void openLaunchConfigurationDialog() {
-		IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();
-		if (dwindow == null) {
-			return;
-		}
-		LaunchConfigurationsDialog dialog = new LaunchConfigurationsDialog(DebugUIPlugin.getShell(), DebugUIPlugin.getDefault().getLaunchConfigurationManager().getDefaultLanuchGroup(getMode()));		
-		dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED);
-		dialog.open();
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection){
-		if (fAction == null) {
-			initialize(action);
-		}		
-	}
-	
-	/**
-	 * Set the enabled state of the underlying action based on whether there are any
-	 * registered launch configuration types that understand how to launch in the
-	 * mode of this action.
-	 */
-	private void initialize(IAction action) {
-		fAction = action;
-		action.setEnabled(existsConfigTypesForMode());	
-	}
-	
-	/**
-	 * Return whether there are any registered launch configuration types for
-	 * the mode of this action.
-	 * 
-	 * @return whether there are any registered launch configuration types for
-	 * the mode of this action
-	 */
-	private boolean existsConfigTypesForMode() {
-		ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		for (int i = 0; i < configTypes.length; i++) {
-			ILaunchConfigurationType configType = configTypes[i];
-			if (configType.supportsMode(getMode())) {
-				return true;
-			}
-		}		
-		return false;
-	}
-	
-	
-	/**
-	 * Return the last launch that occurred in the workspace.
-	 */
-	protected ILaunchConfiguration getLastLaunch() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLastLaunch(getLaunchGroupId());
-	}
-	
-	protected Shell getShell() {
-		return fWorkbenchWindow.getShell();
-	}
-
-	/**
-	 * Returns the mode (run or debug) of this action.
-	 */
-	public abstract String getMode();
-	
-	/**
-	 * Returns the launch group id of this action.
-	 */
-	public abstract String getLaunchGroupId();	
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
deleted file mode 100644
index 3e23f13..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllBreakpointsAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Removes all breakpoints from the source (markers) and remove all
- * breakpoints from processes
- */
-public class RemoveAllBreakpointsAction extends AbstractRemoveAllActionDelegate implements IBreakpointsListener {
-
-	protected void doAction() {
-		IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints= breakpointManager.getBreakpoints();
-		try {
-			breakpointManager.removeBreakpoints(breakpoints, true);
-		} catch (CoreException e) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("RemoveAllBreakpointsAction.Removing_all_breakpoints_4"),ActionMessages.getString("RemoveAllBreakpointsAction.Exceptions_occurred_removing_breakpoints._5"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints());
-	}	
-	
-	/**
-	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		if (getAction() != null && !getAction().isEnabled()){
-			update();
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])breakpointRemoved(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (getAction() != null) {
-			update();
-		}
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-	
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);	
-		super.dispose();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
deleted file mode 100644
index ff55bc0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllExpressionsAction.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * Removes all expressions from the expressions view.
- */
-public class RemoveAllExpressionsAction extends AbstractRemoveAllActionDelegate {
-
-	protected void doAction() {
-		IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();
-		IExpression[] expressions= manager.getExpressions();
-		manager.removeExpressions(expressions);
-	}
-	
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getExpressionManager().hasExpressions());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
deleted file mode 100644
index 38fcbf5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveAllTerminatedAction.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
- 
-/**
- * Removes all terminated/detached launches from the
- * active debug view.
- */
-public class RemoveAllTerminatedAction extends AbstractRemoveAllActionDelegate implements ILaunchesListener {
-
-	/**
-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)
-	 */	
-	protected void doHandleDebugEvent(DebugEvent event) {	
-		if (event.getKind() == DebugEvent.TERMINATE) {
-			Object source= event.getSource();
-			if (source instanceof IDebugTarget) {
-				ILaunch launch= ((IDebugTarget)source).getLaunch();
-				if (launch.isTerminated() && launchIsRegistered(launch)) {
-					getAction().setEnabled(true);
-				}
-			} else if (source instanceof IProcess) {
-				ILaunch launch= ((IProcess)source).getLaunch();
-				if (launch.isTerminated() && launchIsRegistered(launch)) {
-					getAction().setEnabled(true);
-				}
-			}
-		}
-	}
-
-	private boolean launchIsRegistered(ILaunch iLaunch) {
-		ILaunch[] launches= DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			if (launch.equals(iLaunch)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/** 
-	 * Updates the enabled state of this action to enabled if at
-	 * least one launch is terminated and relative to the current perspective.
-	 */
-	protected void update() {
-		Object[] elements = getElements();
-		if (elements != null) {
-			for (int i= 0; i < elements.length; i++) {
-				if (elements[i] instanceof ILaunch) {
-					ILaunch launch= (ILaunch)elements[i];
-					if (launch.isTerminated()) {
-						getAction().setEnabled(true);
-						return;
-					}
-				}
-			}
-		}
-		getAction().setEnabled(false);
-	}
-
-	protected void doAction() {
-		Object[] elements = getElements();
-		removeTerminatedLaunches(elements);
-	}
-	
-	/**
-	 * Returns the top level elements in the active debug
-	 * view, or <code>null</code> if none.
-	 * 
-	 * @return array of object
-	 */
-	public Object[] getElements() {
-		IDebugView view = getDebugView();
-		if (view != null) {
-			Viewer viewer = view.getViewer();
-			if (viewer instanceof StructuredViewer) {
-				IStructuredContentProvider cp = (IStructuredContentProvider)((StructuredViewer)viewer).getContentProvider();
-				if (cp != null) {
-					return cp.getElements(viewer.getInput());
-				}
-			}
-		}
-		return null;
-	}
-
-	public static void removeTerminatedLaunches(Object[] elements) {
-		List removed = new ArrayList();
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof ILaunch) {
-				ILaunch launch = (ILaunch)elements[i];
-				if (launch.isTerminated()) {
-					removed.add(launch);
-				}
-			}
-		}
-		if (!removed.isEmpty()) {
-			ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-			manager.removeLaunches((ILaunch[])removed.toArray(new ILaunch[removed.size()]));
-		}				
-	}
-	
-	protected IDebugView getDebugView() {
-		return (IDebugView)getView().getAdapter(IDebugView.class);
-	}
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-		
-	/**
-	 * @see IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		//removes as a debug event listener
-		super.dispose();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-	}
-	
-	/**
-	 * @see ILaunchesListener#launchesAdded(ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/**
-	 * @see ILaunchesListener#launchesChanged(ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-
-	/**
-	 * @see ILaunchesListener#launchesRemoved(ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		if (getAction().isEnabled()) {
-			update();
-		}
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
deleted file mode 100644
index e36017c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveBreakpointAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-
-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.MultiStatus;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class RemoveBreakpointAction extends AbstractRemoveActionDelegate {
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IStructuredSelection selection= getSelection();
-		final Iterator itr= selection.iterator();
-		final MultiStatus ms = new MultiStatus(DebugUIPlugin.getUniqueIdentifier(),
-			DebugException.REQUEST_FAILED, 
-			ActionMessages.getString("RemoveBreakpointAction.Breakpoint(s)_removal_failed_3"), null); //$NON-NLS-1$
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-				while (itr.hasNext()) {
-					try {						
-						Object next= itr.next();
-						if (next instanceof IBreakpoint) {
-							IBreakpoint breakpoint= (IBreakpoint)next;						
-							breakpointManager.removeBreakpoint(breakpoint, true);
-						}
-					} catch (CoreException ce) {
-						ms.merge(ce.getStatus());
-					}
-				}
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, null, 0, null);
-		} catch (CoreException ce) {
-			ms.merge(ce.getStatus());
-		}
-		if (!ms.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("RemoveBreakpointAction.Removing_a_breakpoint_4"),ActionMessages.getString("RemoveBreakpointAction.Exceptions_occurred_attempting_to_remove_a_breakpoint._5") , ms); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		//not used
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
deleted file mode 100644
index a273b23..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RemoveExpressionAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-public class RemoveExpressionAction extends AbstractRemoveActionDelegate {
-
-	protected void doAction(Object element) {
-		IExpressionManager manager = DebugPlugin.getDefault().getExpressionManager();
-		IExpression exp = getExpression(element);
-		if (exp != null) {
-			manager.removeExpression(exp);
-		}
-	}
-	
-	/**
-	 * Returns the expression associated with the given
-	 * element.
-	 * 
-	 * @param element an expression of child of an expression in
-	 *  the expression view.
-	 * @return associated expression
-	 */
-	protected IExpression getExpression(Object obj) {
-		if (getView() == null) {
-			return null;
-		}
-		IDebugView adapter= (IDebugView)getView().getAdapter(IDebugView.class);
-		if (adapter != null) {
-			Viewer v= adapter.getViewer();
-			if (v instanceof TreeViewer) {
-				ITreeContentProvider cp = (ITreeContentProvider)((TreeViewer)v).getContentProvider();
-				while (!(obj instanceof IExpression) && obj != null) {
-					obj = cp.getParent(obj);
-				}
-				return (IExpression)obj;
-			}	
-		}
-		return null;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
deleted file mode 100644
index eb0e458..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ResumeActionDelegate.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.Iterator;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-public class ResumeActionDelegate extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object object) throws DebugException {
-		if (object instanceof ISuspendResume) {
-			ISuspendResume resume = (ISuspendResume)object;
-			if(resume.canResume()) {
-				resume.resume();
-			}
-		}
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return element instanceof ISuspendResume && ((ISuspendResume) element).canResume();
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getEnableStateForSelection(IStructuredSelection)
-	 */
-	protected boolean getEnableStateForSelection(IStructuredSelection selection) {
-		boolean enabled = false;
-		for (Iterator i = selection.iterator(); i.hasNext(); ) {
-			Object element = i.next();
-			if (!(element instanceof ISuspendResume)) {
-				return false; //all elements should be IStructuredSelection
-			}
-			if (!enabled && isEnabledFor(element)) {
-				enabled = true;
-			}
-		}
-		return enabled;
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("ResumeActionDelegate.Exceptions_occurred_attempting_to_resume._2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("ResumeActionDelegate.Resume_failed._1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("ResumeActionDelegate.Resume_3"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
deleted file mode 100644
index c27f964..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetAction.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Global retargettable debug action.
- * 
- * @since 3.0
- */
-public abstract class RetargetAction implements IWorkbenchWindowActionDelegate, IPartListener, IUpdate {
-	
-	protected IWorkbenchWindow window = null;
-	private IWorkbenchPart activePart = null;
-	private Object targetAdapter = null;
-	private IAction action = null;
-	private static final ISelection EMPTY_SELECTION = new EmptySelection();  
-	
-	static class EmptySelection implements ISelection {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelection#isEmpty()
-		 */
-		public boolean isEmpty() {
-			return true;
-		}
-		
-	}
-	
-	/**
-	 * Returns the current selection in the active part, possibly
-	 * and empty selection, but never <code>null</code>.
-	 * 
-	 * @return the selection in the active part, possibly empty
-	 */
-	private ISelection getTargetSelection() {
-		if (activePart != null) {
-			ISelectionProvider selectionProvider = activePart.getSite().getSelectionProvider();
-			if (selectionProvider != null) {
-				return selectionProvider.getSelection();
-			}
-		}
-		return EMPTY_SELECTION;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		window.getPartService().removePartListener(this);
-		activePart = null;
-		targetAdapter = null;
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-		IPartService partService = window.getPartService();
-		partService.addPartListener(this);
-		IWorkbenchPart part = partService.getActivePart();
-		if (part != null) {
-			partActivated(part);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (targetAdapter != null) {
-			try {
-				performAction(targetAdapter, getTargetSelection(), activePart);
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("RetargetAction.2"), ActionMessages.getString("RetargetAction.3"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	/**
-	 * Performs the specific breakpoint toggling.
-	 * 
-	 * @param selection selection in the active part 
-	 * @param part active part
-	 * @throws CoreException if an exception occurrs
-	 */
-	protected abstract void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		this.action = action;
-		// if the active part did not provide an adapter, see if the selectoin does
-		if (targetAdapter == null && selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			if (!ss.isEmpty()) {
-				Object object = ss.getFirstElement();
-				if (object instanceof IAdaptable) {
-					targetAdapter = getAdapter((IAdaptable) object);
-				}
-			}
-		}
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partActivated(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		activePart = part;
-		targetAdapter = getAdapter(part);
-		update();
-	}
-	
-	protected Object getAdapter(IAdaptable adaptable) {
-		Object adapter  = adaptable.getAdapter(getAdapterClass());
-		if (adapter == null) {
-			IAdapterManager adapterManager = Platform.getAdapterManager();
-			if (adapterManager.hasAdapter(adaptable, getAdapterClass().getName())) { //$NON-NLS-1$
-				targetAdapter = adapterManager.loadAdapter(adaptable, getAdapterClass().getName()); //$NON-NLS-1$
-			}
-		}
-		return adapter;
-	}
-	
-	/**
-	 * Returns the type of adapter (target) this action works on.
-	 * 
-	 * @return the type of adapter this action works on
-	 */
-	protected abstract Class getAdapterClass();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partBroughtToTop(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		clearPart(part);
-	}
-	
-	/**
-	 * Clears reference to active part and adapter when a relevant part
-	 * is closed or deactivated.
-	 * 
-	 * @param part workbench part that has been closed or deactivated
-	 */
-	protected void clearPart(IWorkbenchPart part) {
-		if (part.equals(activePart)) {
-			activePart = null;
-			targetAdapter = null;
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partDeactivated(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-		clearPart(part);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partOpened(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		if (action == null) {
-			return;
-		}
-		if (targetAdapter != null) {
-			action.setEnabled(canPerformAction(targetAdapter, getTargetSelection(), activePart));
-		} else {
-			action.setEnabled(false);
-		}
-	}
-	
-	/**
-	 * Returns whether the specific operation is supported.
-	 * 
-	 * @param target the target adapter 
-	 * @param selection the selection to verify the operation on
-	 * @param part the part the operation has been requested on
-	 * @return whether the operation can be performed
-	 */
-	protected abstract boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part); 
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetBreakpointAction.java
deleted file mode 100644
index d34b6be..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetBreakpointAction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.ui.actions.*;
-
-
-/**
- * Retargettable breakpoint action.
- * 
- * @since 3.0
- */
-public abstract class RetargetBreakpointAction extends RetargetAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#getAdapterClass()
-	 */
-	protected Class getAdapterClass() {
-		return IToggleBreakpointsTarget.class;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetMethodBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetMethodBreakpointAction.java
deleted file mode 100644
index f96f240..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetMethodBreakpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Global retargettable toggle method breakpoint action.
- * 
- * @since 3.0
- */
-public class RetargetMethodBreakpointAction extends RetargetBreakpointAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
-		((IToggleBreakpointsTarget)target).toggleMethodBreakpoints(part, selection);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#canPerformAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part) {
-		return ((IToggleBreakpointsTarget)target).canToggleMethodBreakpoints(part, selection);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
deleted file mode 100644
index eab067a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetRunToLineAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Global retargettable run to line action.
- * 
- * @since 3.0
- */
-public class RetargetRunToLineAction extends RetargetAction {
-	
-	private ISelectionListener selectionListener = new DebugSelectionListener();
-	private ISuspendResume targetElement = null;
-	
-	class DebugSelectionListener implements ISelectionListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-		 */
-		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-			targetElement = null;
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection) selection;
-				if (ss.size() == 1) {
-					Object object = ss.getFirstElement();
-					if (object instanceof ISuspendResume) {
-						targetElement = (ISuspendResume) object;
-					}
-				}
-			}
-			update();
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		window.getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, selectionListener);
-		super.dispose();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		super.init(window);
-		window.getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, selectionListener);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#canPerformAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean canPerformAction(Object target, ISelection selection,	IWorkbenchPart part) {
-		return targetElement != null &&
-			((IRunToLineTarget)target).canRunToLine(part, selection, targetElement);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#getAdapterClass()
-	 */
-	protected Class getAdapterClass() {
-		return IRunToLineTarget.class;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
-		((IRunToLineTarget)target).runToLine(part, selection, targetElement);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetToggleLineBreakpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetToggleLineBreakpointAction.java
deleted file mode 100644
index 65045f2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetToggleLineBreakpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Global retargettable toggle line breakpoint action.
- * 
- * @since 3.0
- */
-public class RetargetToggleLineBreakpointAction extends RetargetBreakpointAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
-		((IToggleBreakpointsTarget)target).toggleLineBreakpoints(part, selection);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#canPerformAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part) {
-		return ((IToggleBreakpointsTarget)target).canToggleLineBreakpoints(part, selection);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetWatchpointAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetWatchpointAction.java
deleted file mode 100644
index cc9215f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RetargetWatchpointAction.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.ui.actions.*;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Global retargettable toggle watchpoint action.
- * 
- * @since 3.0
- */
-public class RetargetWatchpointAction extends RetargetBreakpointAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#performAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
-		((IToggleBreakpointsTarget)target).toggleWatchpoints(part, selection);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.RetargetBreakpointAction#canPerformAction(java.lang.Object, org.eclipse.jface.viewers.ISelection, org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean canPerformAction(Object target, ISelection selection, IWorkbenchPart part) {
-		return ((IToggleBreakpointsTarget)target).canToggleWatchpoints(part, selection);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
deleted file mode 100644
index 4060d31..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunAsAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.LaunchAsAction;
-
-/**
- * "Run As" action in the top level "Run" menu.
- */
-public class RunAsAction extends LaunchAsAction {
-
-	public RunAsAction() {
-		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
deleted file mode 100644
index 6b9bdb7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunContextualLaunchAction.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.actions.ContextualLaunchAction;
-
-/**
- * @author DWright
- *
- * To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class RunContextualLaunchAction extends ContextualLaunchAction {
-	
-	public RunContextualLaunchAction() {
-		super(ILaunchManager.RUN_MODE);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
deleted file mode 100644
index fa9296f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunHistoryMenuAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction;
-
-/**
- * Run history menu in the top-level "Run" menu.
- */ 
-public class RunHistoryMenuAction extends AbstractLaunchHistoryAction {
-	
-	public RunHistoryMenuAction() {
-		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
deleted file mode 100644
index 02e7803..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunLastAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Relaunches the last run-mode launch
- */
-public class RunLastAction extends RelaunchLastAction {
-
-	/**
-	 * @see RelaunchLastAction#getMode()
-	 */
-	public String getMode() {
-		return ILaunchManager.RUN_MODE;
-	}	
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.LaunchDropDownAction#getLaunchGroupId()
-	 */
-	public String getLaunchGroupId() {
-		return IDebugUIConstants.ID_RUN_LAUNCH_GROUP;
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
deleted file mode 100644
index 09f8afd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RunToolbarAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-
-/**
- * Run drop-down history/favorites action.
- */
-public class RunToolbarAction extends AbstractLaunchToolbarAction {
-
-	public RunToolbarAction() {
-		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
deleted file mode 100644
index 6ba02d2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
-
-public abstract class SelectAllAction extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setView(view);
-		setWindow(view.getViewSite().getWorkbenchWindow());
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		if (!isInitialized()) {
-			IDebugView debugView =
-				(IDebugView) getView().getAdapter(IDebugView.class);
-			if (debugView != null) {
-				debugView.setAction(getActionId(), action);
-			}
-			return super.initialize(action, selection);
-		}
-		return false;
-	}
-
-	protected abstract String getActionId();
-	
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action){
-		doAction(null);
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer = ((IDebugView) getView()).getViewer();
-		if (!(viewer instanceof TreeViewer)) {
-			return;
-		}
-		((TreeViewer) viewer).getTree().selectAll();
-		//ensure that the selection change callback is fired
-		viewer.setSelection(viewer.getSelection());
-	}
-	
-	protected abstract void update();
-	
-	protected void update(IAction action, ISelection selection) {
-		update();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
deleted file mode 100644
index 2915b6c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllBreakpointsAction.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
-
-public class SelectAllBreakpointsAction extends SelectAllAction implements IBreakpointsListener {
-
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getBreakpointManager().hasBreakpoints());
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer = ((IDebugView) getView()).getViewer();
-		if (!(viewer instanceof TableViewer)) {
-			return;
-		}
-		((TableViewer) viewer).getTable().selectAll();
-		//ensure that the selection change callback is fired
-		viewer.setSelection(viewer.getSelection());
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])breakpointAdded(IBreakpoint)
-	 */
-	public void breakpointsAdded(IBreakpoint[] breakpoints) {
-		if (getAction() != null && !getAction().isEnabled()) {
-			update();
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])breakpointChanged(IBreakpoint, IMarkerDelta)
-	 */
-	public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-	}
-
-	/**
-     * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (getAction() != null) {
-			update();
-		}
-	}
-	
-	/**
-	 * @see IViewActionDelegate#init(IViewPart)
-	 */
-	public void init(IViewPart view) {
-		super.init(view);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-	}
-	
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);	
-		super.dispose();
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
deleted file mode 100644
index 8769f30..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllExpressionsAction.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.IDebugView;
-
-public class SelectAllExpressionsAction extends SelectAllAction {
-
-	protected void update() {
-		getAction().setEnabled(
-			DebugPlugin.getDefault().getExpressionManager().hasExpressions());
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
deleted file mode 100644
index e4e95c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SelectAllVariablesAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
- 
-public class SelectAllVariablesAction extends SelectAllAction {
-
-	protected void update() {
-		if (!(getView() instanceof IDebugView)) {
-			return;
-		}
-		Viewer viewer= ((IDebugView)getView()).getViewer();
-		getAction().setEnabled(((TreeViewer)viewer).getTree().getItemCount() != 0);
-	}
-	
-	protected String getActionId() {
-		return IDebugView.SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
deleted file mode 100644
index 588a473..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-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.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An view filter action that filters showing breakpoints based on whether
- * the IDebugTarget of the selected debug element in the launch view supports
- * the breakpoints.
- * 
- * @see org.eclipse.debug.core.model.IDebugTarget#supportsBreakpoint(IBreakpoint)
- * 
- */
-public class ShowSupportedBreakpointsAction extends ToggleFilterAction implements ISelectionListener {
-
-	/**
-	 * The view associated with this action
-	 */
-	private IViewPart fView;
-	
-	/**
-	 * The list of identifiers for the current state
-	 */
-	private List fDebugTargets= new ArrayList(2);
-	
-	/**
-	 * A viewer filter that selects breakpoints that have
-	 * the same model identifier as the selected debug element
-	 */
-	class BreakpointFilter extends ViewerFilter {
-		
-		/**
-		 * @see ViewerFilter#select(Viewer, Object, Object)
-		 */
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-			IBreakpoint breakpoint= (IBreakpoint)element;
-			if (fDebugTargets.isEmpty()) {
-				return true;
-			}
-			Iterator iterator= fDebugTargets.iterator();
-			while (iterator.hasNext()) {
-				IDebugTarget target = (IDebugTarget) iterator.next();
-				if (target.supportsBreakpoint(breakpoint)) {
-					return true;
-				}
-				
-			}
-			return false;
-		}
-
-	}
-
-	public ShowSupportedBreakpointsAction(StructuredViewer viewer, IViewPart view) {
-		super();
-		setText(ActionMessages.getString("ShowSupportedBreakpointsAction.Show_For_Selected")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("ShowSupportedBreakpointsAction.tooltip")); //$NON-NLS-1$
-		setViewerFilter(new BreakpointFilter());
-		setViewer(viewer);
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_OBJS_DEBUG_TARGET));
-		setChecked(false);
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowSupportedBreakpointsAction"); //$NON-NLS-1$
-		
-		setView(view);
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.SHOW_BREAKPOINTS_FOR_MODEL_ACTION);
-		
-	}
-
-	
-		
-	public void dispose() {
-		if (isChecked()) {
-			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-	}
-	
-	/**
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			List debugTargets= getDebugTargets(ss);
-			if (!isChecked()) {
-				fDebugTargets= debugTargets;
-				return;
-			}
-			if (debugTargets.isEmpty()) {
-				 if(fDebugTargets.isEmpty()) {
-					return;
-				 } 
-				 reapplyFilters(debugTargets);
-				 return;
-			}
-			if (fDebugTargets.isEmpty()) {
-				reapplyFilters(debugTargets);
-				return;
-			}
-			
-			if (debugTargets.size() == fDebugTargets.size()) {
-				List copy= new ArrayList(debugTargets.size());
-				Iterator iter= fDebugTargets.iterator();
-				while (iter.hasNext()) {
-					IDebugTarget target = (IDebugTarget) iter.next();
-					Iterator newDebugTargets= debugTargets.iterator();
-					while (newDebugTargets.hasNext()) {
-						IDebugTarget newTarget= (IDebugTarget)newDebugTargets.next();
-						copy.add(newTarget);
-						if (target.equals(newTarget)) {
-							newDebugTargets.remove();
-						}
-					}
-				}
-				//check for real change
-				if (debugTargets.isEmpty()) {
-					return;
-				}
-				reapplyFilters(copy);
-			} 
-		}
-	}
-
-	
-	/**
-	 * Selection has changed in the debug view
-	 * need to reapply the filters.
-	 */
-	protected void reapplyFilters(List debugTargets) {
-		fDebugTargets= debugTargets;		
-		getViewer().refresh();
-	}
-	
-	protected IViewPart getView() {
-		return fView;
-	}
-
-	protected void setView(IViewPart view) {
-		fView = view;
-	}
-	
-	protected List getDebugTargets(IStructuredSelection ss) {
-		List debugTargets= new ArrayList(2);
-		Iterator i= ss.iterator();
-		while (i.hasNext()) {
-			Object next= i.next();
-			if (next instanceof IDebugElement) {
-				debugTargets.add(((IDebugElement)next).getDebugTarget());
-			} else if (next instanceof ILaunch) {
-				IDebugTarget[] targets= ((ILaunch)next).getDebugTargets();
-				for (int j = 0; j < targets.length; j++) {
-					debugTargets.add(targets[j]);
-				}
-			} else if (next instanceof IProcess) {
-				IDebugTarget target= (IDebugTarget)((IProcess)next).getAdapter(IDebugTarget.class);
-				if (target != null) {
-					debugTargets.add(target);
-				}
-			}	
-		}
-		return debugTargets;
-	}
-	
-	/**
-	 * Adds or removes the viewer filter depending
-	 * on the value of the parameter.
-	 */
-	protected void valueChanged(boolean on) {
-		if (getViewer().getControl().isDisposed()) {
-			return;
-		}
-		if (on) {
-			getView().getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-			ISelection selection= getView().getSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-			selectionChanged(null, selection);
-		} else {
-			getView().getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-		
-		super.valueChanged(on);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
deleted file mode 100644
index 2320b5f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowTypesAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An action that toggles the state of a viewer to
- * show/hide type names of variables.
- * Only viewers that use a <code>VariableLabelProvider</code> to render its
- * elements are effected.
- */
-public class ShowTypesAction extends Action {
-
-	private IDebugView fView;
-
-	public ShowTypesAction(IDebugView view) {
-		super(ActionMessages.getString("ShowTypesAction.Show_&Type_Names_1"), IAction.AS_CHECK_BOX); //$NON-NLS-1$
-		setView(view);
-		setToolTipText(ActionMessages.getString("ShowTypesAction.Show_Type_Names")); //$NON-NLS-1$
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_TYPE_NAMES));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TYPE_NAMES));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_TYPE_NAMES));
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ShowTypesAction"); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.SHOW_TYPES_ACTION);
-	}
-
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		valueChanged(isChecked());
-	}
-
-	private void valueChanged(boolean on) {
-		if (getView().getViewer().getControl().isDisposed()) {
-			return;
-		}
-		
-		IDebugModelPresentation debugLabelProvider= (IDebugModelPresentation)getView().getAdapter(IDebugModelPresentation.class);
-		if (debugLabelProvider != null) {
-			debugLabelProvider.setAttribute(IDebugModelPresentation.DISPLAY_VARIABLE_TYPE_NAMES, (on ? Boolean.TRUE : Boolean.FALSE));			
-			BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() {
-				public void run() {
-					getView().getViewer().refresh();					
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see Action#setChecked(boolean)
-	 */
-	public void setChecked(boolean value) {
-		super.setChecked(value);
-		valueChanged(value);
-	}
-	
-	protected IDebugView getView() {
-		return fView;
-	}
-
-	protected void setView(IDebugView view) {
-		fView = view;
-	}
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SkipAllBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SkipAllBreakpointsAction.java
deleted file mode 100644
index a865c4e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SkipAllBreakpointsAction.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An action which toggles the breakpoint manager's enablement.
- * This causes debug targets which honor the manager's enablement
- * to skip (not suspend for) all breakpoints. 
- * 
- * This class also implements the window action delegate for the action presented as
- * part of the "Breakpoints" group for the "Run" menu.
- */
-public class SkipAllBreakpointsAction extends Action implements IWorkbenchWindowActionDelegate, IBreakpointManagerListener {
-	
-	//The real action if this is an action delegate
-	private IAction fAction;
-	
-	public SkipAllBreakpointsAction() {
-		super(ActionMessages.getString("SkipAllBreakpointsAction.0")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("SkipAllBreakpointsAction.0")); //$NON-NLS-1$
-		setDescription(ActionMessages.getString("SkipAllBreakpointsAction.2")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_SKIP_BREAKPOINTS));
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.SKIP_ALL_BREAKPOINT_ACTION);
-		updateActionCheckedState();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run(){
-		IBreakpointManager manager = getBreakpointManager();
-		manager.setEnabled(!manager.isEnabled());
-	}
-	
-	/**
-	 * Updates the action's checked state to be opposite the enabled
-	 * state of the breakpoint manager.
-	 */
-	public void updateActionCheckedState() {
-		if (fAction != null) {
-			fAction.setChecked(!getBreakpointManager().isEnabled());
-		} else {
-			setChecked(!getBreakpointManager().isEnabled());
-		}
-	}
-	
-	/**
-	 * Returns the global breakpoint manager.
-	 * 
-	 * @return the global breakpoint manager
-	 */
-	public static IBreakpointManager getBreakpointManager() {
-		return DebugPlugin.getDefault().getBreakpointManager();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		getBreakpointManager().removeBreakpointManagerListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		updateActionCheckedState();
-		getBreakpointManager().addBreakpointManagerListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fAction= action;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean)
-	 */
-	public void breakpointManagerEnablementChanged(boolean enabled) {
-		if (fAction != null) {
-			fAction.setChecked(!enabled);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusDialog.java
deleted file mode 100644
index 21a4c12..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusDialog.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-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.Shell;
-import org.eclipse.ui.internal.MessageLine;
-
-/**
- * An abstract base class for dialogs with a status bar and ok/cancel buttons.
- * The status message must be passed over as StatusInfo object and can be
- * an error, warning or ok. The OK button is enabled or disabled depending
- * on the status.
- * Copied from org.eclipse.jdt.internal.ui.StatusDialog
- */
-public abstract class StatusDialog extends Dialog {
-
-	private Button fOkButton;
-	private MessageLine fStatusLine;
-	private IStatus fLastStatus;
-	private String fTitle;
-	private Image fImage;
-
-	/**
-	 * Creates an instane of a status dialog.
-	 */
-	public StatusDialog(Shell parent) {
-		super(parent);
-		fLastStatus = new StatusInfo();
-	}
-
-	/**
-	 * Update the dialog's status line to reflect the given status.
-	 * It is save to call this method before the dialog has been opened.
-	 */
-	protected void updateStatus(IStatus status) {
-		fLastStatus = status;
-		if (fStatusLine != null && !fStatusLine.isDisposed()) {
-			updateButtonsEnableState(status);
-			fStatusLine.setErrorStatus(status);
-		}
-	}
-
-	/**
-	 * Returns the last status.
-	 */
-	public IStatus getStatus() {
-		return fLastStatus;
-	}
-
-	/**
-	 * Updates the status of the ok button to reflect the given status.
-	 * Subclasses may override this method to update additional buttons.
-	 * @param status the status.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		if (fOkButton != null && !fOkButton.isDisposed())
-			fOkButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-
-	/* 
-	 * @see Window#create(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null)
-			shell.setText(fTitle);
-	}
-
-	/*
-	 * @see Window#create()
-	 */
-	public void create() {
-		super.create();
-		if (fLastStatus != null) {
-			// policy: dialogs are not allowed to come up with an error message
-			if (fLastStatus.matches(IStatus.ERROR)) {
-				StatusInfo status = new StatusInfo();
-				status.setError(""); //$NON-NLS-1$
-				fLastStatus = status;
-			}
-			updateStatus(fLastStatus);
-		}
-	}
-
-	/*
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		fOkButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/*
-	 * @see Dialog#createButtonBar(Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		fStatusLine = new MessageLine(composite);
-		fStatusLine.setAlignment(SWT.LEFT);
-		fStatusLine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fStatusLine.setErrorStatus(null); //$NON-NLS-1$
-		applyDialogFont(composite);
-		super.createButtonBar(composite);
-		return composite;
-	}
-
-	/**
-	 * Sets the title for this dialog.
-	 * @param title the title.
-	 */
-	public void setTitle(String title) {
-		fTitle = title != null ? title : ""; //$NON-NLS-1$
-		Shell shell = getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setText(fTitle);
-	}
-
-	/**
-	 * Sets the image for this dialog.
-	 * @param image the image.
-	 */
-	public void setImage(Image image) {
-		fImage = image;
-		Shell shell = getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setImage(fImage);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
deleted file mode 100644
index e76b191..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StatusInfo.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.util.Assert;
-
-/**
- * A settable IStatus. 
- * Can be an error, warning, info or ok. For error, info and warning states,
- * a message describes the problem.
- */
-public class StatusInfo implements IStatus {
-	
-	private String fStatusMessage;
-	private int fSeverity;
-	
-	/**
-	 * Creates a status set to OK (no message)
-	 */
-	public StatusInfo() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status .
-	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
-	 * @param message The message of the status. Applies only for ERROR,
-	 * WARNING and INFO.
-	 */	
-	public StatusInfo(int severity, String message) {
-		fStatusMessage= message;
-		fSeverity= severity;
-	}		
-	
-	/**
-	 *  Returns if the status' severity is OK.
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/**
-	 *  Returns if the status' severity is WARNING.
-	 */	
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/**
-	 *  Returns if the status' severity is INFO.
-	 */	
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}	
-
-	/**
-	 *  Returns if the status' severity is ERROR.
-	 */	
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-	
-	/**
-	 * @see IStatus#getMessage
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-	
-	/**
-	 * Sets the status to ERROR.
-	 * @param The error message (can be empty, but not null)
-	 */	
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage= errorMessage;
-		fSeverity= IStatus.ERROR;
-	}
-
-	/**
-	 * Sets the status to WARNING.
-	 * @param The warning message (can be empty, but not null)
-	 */		
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage= warningMessage;
-		fSeverity= IStatus.WARNING;
-	}
-
-	/**
-	 * Sets the status to INFO.
-	 * @param The info message (can be empty, but not null)
-	 */		
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage= infoMessage;
-		fSeverity= IStatus.INFO;
-	}	
-
-	/**
-	 * Sets the status to OK.
-	 */		
-	public void setOK() {
-		fStatusMessage= null;
-		fSeverity= IStatus.OK;
-	}
-	
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return DebugUIPlugin.getUniqueIdentifier();
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
deleted file mode 100644
index 0a8d782..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepActionDelegate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStep;
-
-public abstract class StepActionDelegate extends AbstractListenerActionDelegate {
-	
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object object) throws DebugException {
-		if (object instanceof IStep) {
-			stepAction((IStep)object);
-		}
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		if (element instanceof IStep) {
-			return checkCapability((IStep)element);
-		}
-		return false;
-	}
-
-	/**
-	 * Returns whether the <code>IStep</code> has the capability to perform the
-	 * requested step action.
-	 */
-	protected abstract boolean checkCapability(IStep element);
-
-	/**
-	 * Performs the specific step action.
-	 *
-	 * @exception DebugException if the action fails
-	 */
-	protected abstract void stepAction(IStep element) throws DebugException;
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
deleted file mode 100644
index d278b48..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepIntoActionDelegate.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStep;
-
-public class StepIntoActionDelegate extends StepActionDelegate {
-	
-	/**
-	 * @see StepActionDelegate#checkCapability(IStep)
-	 */
-	protected boolean checkCapability(IStep element) {
-		return element.canStepInto();
-	}
-
-	/**
-	 * @see StepActionDelegate#stepAction(IStep)
-	 */
-	protected void stepAction(IStep element) throws DebugException {
-		element.stepInto();
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("StepIntoActionDelegate.Exceptions_occurred_attempting_to_step_into_the_frame_2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("StepIntoActionDelegate.Step_into_failed_1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("StepIntoActionDelegate.Step_Into_3"); //$NON-NLS-1$
-	}
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.StepActionDelegate#getActionDefinitionId()
-	 */
-	protected String getActionDefinitionId() {
-		return "org.eclipse.debug.internal.ui.actions.StepIntoActionDelegate"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
deleted file mode 100644
index 6f8738b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepOverActionDelegate.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStep;
-
-public class StepOverActionDelegate extends StepActionDelegate {
-
-	/**
-	 * @see StepActionDelegate#checkCapability(IStep)
-	 */
-	protected boolean checkCapability(IStep element) {
-		return element.canStepOver();
-	}
-
-	/**
-	 * @see StepActionDelegate#stepAction(IStep)
-	 */
-	protected void stepAction(IStep element) throws DebugException {
-		element.stepOver();
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("StepOverActionDelegate.Exceptions_occurred_attempting_to_step_over_the_frame_2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("StepOverActionDelegate.Step_over_failed_1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("StepOverActionDelegate.Step_over_3"); //$NON-NLS-1$
-	}
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.StepActionDelegate#getActionDefinitionId()
-	 */
-	 protected String getActionDefinitionId() {
-		return "org.eclipse.debug.internal.ui.actions.StepOverActionDelegate"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
deleted file mode 100644
index 32ab945..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/StepReturnActionDelegate.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStep;
-
-public class StepReturnActionDelegate extends StepActionDelegate {
-
-	/**
-	 * @see StepActionDelegate#checkCapability(IStep)
-	 */
-	protected boolean checkCapability(IStep element) {
-		return element.canStepReturn();
-	}
-
-	/**
-	 * @see StepActionDelegate#stepAction(IStep)
-	 */
-	protected void stepAction(IStep element) throws DebugException {
-		element.stepReturn();
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("StepReturnActionDelegate.Exceptions_occurred_attempting_to_run_to_return_of_the_frame._2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("StepReturnActionDelegate.Run_to_return_failed._1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("StepReturnActionDelegate.Run_to_Return_3"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.actions.
-	 * StepActionDelegate#getActionDefinitionId()
-	 */
-	protected String getActionDefinitionId() {
-		return "org.eclipse.debug.internal.ui.actions.StepReturnActionDelegate"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
deleted file mode 100644
index 570d05f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SuspendActionDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ISuspendResume;
-
-public class SuspendActionDelegate extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) throws DebugException {
-		if (element instanceof ISuspendResume) {
-			 ((ISuspendResume) element).suspend();
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return element instanceof ISuspendResume && ((ISuspendResume)element).canSuspend();
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("SuspendActionDelegate.Exceptions_occurred_attempting_to_suspend._2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("SuspendActionDelegate.Suspend_failed_1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("SuspendActionDelegate.Suspend_3"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
deleted file mode 100644
index cc313f7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateActionDelegate.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ITerminate;
-
-public class TerminateActionDelegate extends AbstractListenerActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) throws DebugException {
-		if (element instanceof ITerminate) {
-			((ITerminate)element).terminate();
-		}
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		return element instanceof ITerminate && ((ITerminate)element).canTerminate();
-	}
-	
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("TerminateActionDelegate.Exceptions_occurred_attempting_to_terminate._2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("TerminateActionDelegate.Terminate_failed._1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("TerminateActionDelegate.Terminate_3"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ListenerActionDelegate#doHandleDebugEvent(DebugEvent)
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {	
-		if (event.getKind() == DebugEvent.TERMINATE) {
-			update(getAction(), getSelection());
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
deleted file mode 100644
index d15ce2c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAllAction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
- 
-import org.eclipse.core.runtime.MultiStatus;
-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.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-
-/**
- * Terminates all launches.
- */
-public class TerminateAllAction extends AbstractListenerActionDelegate {
-	
-	protected void doAction(Object element) {
-		//not used
-	}
-	
-	protected void update() {
-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches= lManager.getLaunches();
-		for (int i= 0; i< launches.length; i++) {
-			ILaunch launch= launches[i];
-			if (!launch.isTerminated()) {
-				getAction().setEnabled(true);
-				return;
-			}
-		}
-		getAction().setEnabled(false);
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		setAction(action);
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches= lManager.getLaunches();
-		MultiStatus ms = new MultiStatus(DebugPlugin.getUniqueIdentifier(), 
-			DebugException.REQUEST_FAILED, ActionMessages.getString("TerminateAllAction.Terminate_all_failed_3"), null); //$NON-NLS-1$
-		for (int i= 0; i < launches.length; i++) {
-			ILaunch launch= launches[i];
-			if (!launch.isTerminated()) {
-				try {
-					launch.terminate();
-				} catch (DebugException de) {
-					ms.merge(de.getStatus());
-				}
-			}
-		}
-		if (!ms.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), ActionMessages.getString("TerminateAllAction.Terminate_All_2"),ActionMessages.getString("TerminateAllAction.Exceptions_occurred_attempting_to_terminate_all._5") , ms); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				DebugUIPlugin.log(ms);
-			}
-		}
-	}
-
-	protected void doHandleDebugEvent(DebugEvent event) {
-		switch (event.getKind()) {
-			case DebugEvent.TERMINATE :
-				update();
-				break;
-			case DebugEvent.CREATE :
-				update();
-				break;
-		}
-	}		
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
deleted file mode 100644
index 13b7bd4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/TerminateAndRemoveActionDelegate.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.internal.ui.views.launch.LaunchView;
-
-public class TerminateAndRemoveActionDelegate extends AbstractDebugActionDelegate {
-
-	/**
-	 * @see AbstractDebugActionDelegate#doAction(Object)
-	 */
-	protected void doAction(Object element) throws DebugException {
-		LaunchView.terminateAndRemove(element);
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#isEnabledFor(Object)
-	 */
-	protected boolean isEnabledFor(Object element) {
-		if (element instanceof ITerminate) {
-			ITerminate terminate= (ITerminate)element;
-			//do not want to terminate an attach launch that does not
-			//have termination enabled
-			return terminate.canTerminate() || terminate.isTerminated();
-		}
-		return false;
-	}	
-
-	/**
-	 * @see AbstractDebugActionDelegate#getStatusMessage()
-	 */
-	protected String getStatusMessage() {
-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Exceptions_occurred_attempting_to_terminate_and_remove_2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogMessage()
-	 */
-	protected String getErrorDialogMessage() {
-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Terminate_and_remove_failed_1"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractDebugActionDelegate#getErrorDialogTitle()
-	 */
-	protected String getErrorDialogTitle() {
-		return ActionMessages.getString("TerminateAndRemoveActionDelegate.Terminate_and_Remove;_3"); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointObjectActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointObjectActionDelegate.java
deleted file mode 100644
index bff8ea8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleBreakpointObjectActionDelegate.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A toggle breakpoint action that can be contributed to an object. The action
- * will perform a toggle breakpoint operation for a selected object.
- * <p>
- * EXPERIMENTAL
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class ToggleBreakpointObjectActionDelegate implements IObjectActionDelegate, IActionDelegate2 {
-	
-	private IWorkbenchPart part;
-	private IStructuredSelection selection;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		part = targetPart;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IAdaptable adaptable = (IAdaptable) selection.getFirstElement();
-		IToggleBreakpointsTarget target = (IToggleBreakpointsTarget) adaptable.getAdapter(IToggleBreakpointsTarget.class);
-		if (target == null) {
-			IAdapterManager adapterManager = Platform.getAdapterManager();
-			target = (IToggleBreakpointsTarget) adapterManager.loadAdapter(adaptable, IToggleBreakpointsTarget.class.getName());
-		}
-		if (target != null) {
-			try {
-				performAction(target, part, selection);
-			} catch (CoreException e) {
-				DebugPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Performs the operation specific to this action.
-	 *  
-	 * @param target adapter to toggle breakpoints
-	 * @param part the active part
-	 * @param selection the seleciton in the active part
-	 * @exception CoreException if an exception occurrs
-	 */
-	protected abstract void performAction(IToggleBreakpointsTarget target, IWorkbenchPart part, ISelection selection) throws CoreException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		boolean enabled = false;
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			this.selection = ss;
-			if (!ss.isEmpty()) {
-				Object object = ss.getFirstElement();
-				if (object instanceof IAdaptable) {
-					IAdaptable adaptable = (IAdaptable) object;
-					IToggleBreakpointsTarget target = (IToggleBreakpointsTarget) adaptable.getAdapter(IToggleBreakpointsTarget.class);
-					if (target == null) {
-						IAdapterManager adapterManager = Platform.getAdapterManager();
-						enabled = adapterManager.hasAdapter(adaptable, IToggleBreakpointsTarget.class.getName());
-					} else {
-						enabled = true;
-					}
-				}
-			}
-		}
-		action.setEnabled(enabled);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		selection = null;
-		part = null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleDetailPaneAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleDetailPaneAction.java
deleted file mode 100644
index 1f25021..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleDetailPaneAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action that controls the appearance of the details pane in debug views such
- * as the VariablesView and the ExpressionsView.  Instances of this class can be
- * created to show the detail pane underneath the main tree, to the right of the
- * main tree, or not shown at all.
- * 
- * @since 3.0
- */
-public class ToggleDetailPaneAction extends Action {
-
-	private VariablesView fVariablesView;
-	
-	private String fOrientation;
-
-	public ToggleDetailPaneAction(VariablesView view, String orientation, String hiddenLabel) {
-		super("", AS_RADIO_BUTTON); //$NON-NLS-1$
-		setVariablesView(view);
-		setOrientation(orientation);
-				
-		if (orientation == IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH) {
-			setText(ActionMessages.getString("ToggleDetailPaneAction.1"));  //$NON-NLS-1$
-			setToolTipText(ActionMessages.getString("ToggleDetailPaneAction.2"));  //$NON-NLS-1$
-			setDescription(ActionMessages.getString("ToggleDetailPaneAction.3"));  //$NON-NLS-1$
-			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_UNDER));
-			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_UNDER));
-			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_UNDER));
-		} else if (orientation == IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_RIGHT) {
-			setText(ActionMessages.getString("ToggleDetailPaneAction.4"));  //$NON-NLS-1$
-			setToolTipText(ActionMessages.getString("ToggleDetailPaneAction.5"));  //$NON-NLS-1$
-			setDescription(ActionMessages.getString("ToggleDetailPaneAction.6"));  //$NON-NLS-1$
-			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_RIGHT));
-			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_RIGHT));
-			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_RIGHT));
-		} else {
-			setText(hiddenLabel);
-			setToolTipText(ActionMessages.getString("ToggleDetailPaneAction.8"));  //$NON-NLS-1$
-			setDescription(ActionMessages.getString("ToggleDetailPaneAction.9"));  //$NON-NLS-1$
-			setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_DETAIL_PANE_HIDE));
-			setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_DETAIL_PANE_HIDE));
-			setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DETAIL_PANE_HIDE));
-		} 		
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.SHOW_DETAIL_PANE_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		getVariablesView().setDetailPaneOrientation(getOrientation()); 
-	}
-	
-	private VariablesView getVariablesView() {
-		return fVariablesView;
-	}
-
-	private void setVariablesView(VariablesView variablesView) {
-		fVariablesView = variablesView;
-	}
-
-	private void setOrientation(String orientation) {
-		fOrientation = orientation;
-	}
-
-	public String getOrientation() {
-		return fOrientation;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
deleted file mode 100644
index fe658d8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleFilterAction.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * A generic Toggle filter action, meant to be subclassed to provide
- * a specific filter.
- */
-public abstract class ToggleFilterAction extends Action {
-
-	/**
-	 * The viewer that this action works for
-	 */
-	private StructuredViewer fViewer;
-	
-	/**
-	 * The filter this action applies to the viewer
-	 */
-	private ViewerFilter fViewerFilter;
-
-	public void run() {
-		valueChanged(isChecked());
-	}
-	/**
-	 * Adds or removes the viewer filter depending
-	 * on the value of the parameter.
-	 */
-	protected void valueChanged(final boolean on) {
-		if (getViewer().getControl().isDisposed()) {
-			return;
-		}
-		BusyIndicator.showWhile(getViewer().getControl().getDisplay(), new Runnable() {
-			public void run() {
-				if (on) {
-					ViewerFilter filter= getViewerFilter();
-					ViewerFilter[] filters= getViewer().getFilters();
-					boolean alreadyAdded= false;
-					for (int i= 0; i < filters.length; i++) {
-						ViewerFilter addedFilter= filters[i];
-						if (addedFilter.equals(filter)) {
-							alreadyAdded= true;
-							break;
-						}
-					}
-					if (!alreadyAdded) {
-						getViewer().addFilter(filter);
-					}
-					
-				} else {
-					getViewer().removeFilter(getViewerFilter());
-				}
-			}
-		});
-	}
-
-	/**
-	 * Returns the <code>ViewerFilter</code> that this action
-	 * will add/remove from the viewer, or <code>null</code>
-	 * if no filter is involved.
-	 */
-	protected ViewerFilter getViewerFilter() {
-		return fViewerFilter;
-	}
-
-	protected void setViewerFilter(ViewerFilter filter) {
-		fViewerFilter= filter;
-	}
-	
-	protected StructuredViewer getViewer() {
-		return fViewer;
-	}
-
-	protected void setViewer(StructuredViewer viewer) {
-		fViewer = viewer;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleStepFiltersActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleStepFiltersActionDelegate.java
deleted file mode 100644
index bf44c4e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ToggleStepFiltersActionDelegate.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStepFilters;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-
-/**
- * Turns step filters on/off for a selected target.
- */
-public class ToggleStepFiltersActionDelegate extends AbstractDebugActionDelegate implements IActionDelegate2, IPropertyChangeListener {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#doAction(java.lang.Object)
-	 */
-	protected void doAction(Object element) {
-		// do nothing - we override #run(IAction)
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		setAction(action);
-		action.setChecked(isUseStepFilters());
-		getPreferenceStore().addPropertyChangeListener(this);
-	}
-	
-	private boolean isUseStepFilters() {
-		return DebugUIPlugin.getDefault().getStepFilterManager().isUseStepFilters();
-	}
-	
-	private IPreferenceStore getPreferenceStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IInternalDebugUIConstants.PREF_USE_STEP_FILTERS)) {
-			Object newValue= event.getNewValue();
-			if (newValue instanceof Boolean) {
-				getAction().setChecked(((Boolean)(newValue)).booleanValue());
-			} else if (newValue instanceof String) {
-				getAction().setChecked(Boolean.getBoolean((String)(newValue)));
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		getPreferenceStore().removePropertyChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		DebugUITools.setUseStepFilters(action.isChecked());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#initialize(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	protected boolean initialize(IAction action, ISelection selection) {
-		boolean res = super.initialize(action, selection);
-		init(action);
-		return res;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.AbstractDebugActionDelegate#update(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	protected void update(IAction action, ISelection s) {
-		boolean enabled = true;
-		if (s != null && !s.isEmpty()) {
-			if (s instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection)s;
-				if (ss.size() == 1 && ss.getFirstElement() instanceof IDebugElement) {
-					// only disable if the selection does not support step filters
-					IDebugElement element = (IDebugElement) ss.getFirstElement();
-					IDebugTarget target = element.getDebugTarget();
-					if (target instanceof IStepFilters) {
-						IStepFilters filters = (IStepFilters)target;
-						enabled = filters.supportsStepFilters();
-					} else {
-						enabled = false;
-					}
-				}
-			}
-		}
-		action.setEnabled(enabled);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
deleted file mode 100644
index ca26be4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ViewManagementAction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.ViewManagementPreferencePage;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-/**
- * An action which opens the view management preference page.
- */
-public class ViewManagementAction extends ActionDelegate implements IViewActionDelegate {
-	
-	public ViewManagementAction() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IPreferencePage page = new ViewManagementPreferencePage();
-		showPreferencePage("org.eclipse.debug.ui.ViewManagementPreferencePage", page);	 //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-	}
-	
-	protected void showPreferencePage(String id, IPreferencePage page) {
-		final IPreferenceNode targetNode = new PreferenceNode(id, page);
-		
-		PreferenceManager manager = new PreferenceManager();
-		manager.addToRoot(targetNode);
-		final PreferenceDialog dialog = new PreferenceDialog(DebugUIPlugin.getShell(), manager);
-		final boolean [] result = new boolean[] { false };
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				result[0]= (dialog.open() == Window.OK);
-			}
-		});		
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchAction.java
deleted file mode 100644
index 6f11c0d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-
-/**
- * 
- */
-public class WatchAction implements IObjectActionDelegate {
-
-	private ISelection fSelection;
-
-	/**
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (fSelection == null) {
-			return;
-		}
-		if (fSelection instanceof IStructuredSelection) {
-			Iterator iter = ((IStructuredSelection) fSelection).iterator();
-			while (iter.hasNext()) {
-				IVariable variable = (IVariable) iter.next();
-				createExpression(variable);
-			}
-		} else if (fSelection instanceof IVariable) {
-			createExpression((IVariable) fSelection);
-		}
-	}
-
-	private void showExpressionsView() {
-		IWorkbenchPage page = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		IViewPart part = page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-		if (part == null) {
-			try {
-				page.showView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-			} catch (PartInitException e) {
-			}
-		} else {
-			page.bringToTop(part);
-		}
-
-	}
-
-	private void createExpression(IVariable variable) {
-		IWatchExpression expression;
-		try {
-			expression = DebugPlugin.getDefault().getExpressionManager().newWatchExpression(variable.getName());
-		} catch (DebugException e) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), ActionMessages.getString("WatchAction.0"), ActionMessages.getString("WatchAction.1"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-		DebugPlugin.getDefault().getExpressionManager().addExpression(expression);
-		IAdaptable object = DebugUITools.getDebugContext();
-		IDebugElement context = null;
-		if (object instanceof IDebugElement) {
-			context = (IDebugElement) object;
-		} else if (object instanceof ILaunch) {
-			context = ((ILaunch) object).getDebugTarget();
-		}
-		expression.setExpressionContext(context);
-		showExpressionsView();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fSelection = selection;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionAction.java
deleted file mode 100644
index 3e353e7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionAction.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Generic abstract class for the actions associated to the java watch
- * expressions.
- */
-public abstract class WatchExpressionAction implements IObjectActionDelegate, IActionDelegate2 {
-	IWorkbenchPart fPart = null;
-	/**
-	 * Finds the currently selected context in the UI.
-	 */
-	protected IDebugElement getContext() {
-		IAdaptable object = DebugUITools.getDebugContext();
-		IDebugElement context = null;
-		if (object instanceof IDebugElement) {
-			context = (IDebugElement) object;
-		} else if (object instanceof ILaunch) {
-			context = ((ILaunch) object).getDebugTarget();
-		}
-		return context;
-	}
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		fPart = targetPart;
-	}
-
-	/**
-		* @see IActionDelegate#selectionChanged(IAction, ISelection)
-		*/
-	public void selectionChanged(IAction action, ISelection sel) {
-	}
-
-	protected IStructuredSelection getCurrentSelection() {
-		IWorkbenchPage page = DebugUIPlugin.getActiveWorkbenchWindow().getActivePage();
-		if (page != null) {
-			ISelection selection = page.getSelection();
-			if (selection instanceof IStructuredSelection) {
-				return (IStructuredSelection) selection;
-			}
-		}
-		return null;
-	}
-
-	/**
-		* Displays the given error message in the status line.
-		* 
-		* @param message
-		*/
-	protected void showErrorMessage(String message) {
-		if (fPart instanceof IViewPart) {
-			IViewSite viewSite = ((IViewPart) fPart).getViewSite();
-			IStatusLineManager manager = viewSite.getActionBars().getStatusLineManager();
-			manager.setErrorMessage(message);
-			Display.getCurrent().beep();
-		}
-	}
-
-	/* (non-Javadoc)
-		* @see org.eclipse.ui.IActionDelegate2#dispose()
-		*/
-	public void dispose() {
-		fPart = null;
-	}
-
-	/* (non-Javadoc)
-		* @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-		*/
-	public void init(IAction action) {
-	}
-
-	/* (non-Javadoc)
-		* @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-		*/
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionDialog.java
deleted file mode 100644
index e0548b2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/WatchExpressionDialog.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
-
-
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog for edit watch expression.
- */
-public class WatchExpressionDialog extends StatusDialog {
-
-	/**
-	 * The detail formatter to edit.
-	 */
-	private IWatchExpression fWatchExpression;
-
-	// widgets
-	private SourceViewer fSnippetViewer;
-	private Button fCheckBox;
-
-	public WatchExpressionDialog(Shell parent, IWatchExpression watchExpression, boolean editDialog) {
-		super(parent);
-		fWatchExpression= watchExpression;
-		setShellStyle(getShellStyle() | SWT.MAX | SWT.RESIZE);
-		String helpContextId = null;
-		if (editDialog) {
-			setTitle(ActionMessages.getString("WatchExpressionDialog.0")); //$NON-NLS-1$
-			helpContextId = IDebugHelpContextIds.EDIT_WATCH_EXPRESSION_DIALOG;
-		} else {
-			setTitle(ActionMessages.getString("WatchExpressionDialog.1")); //$NON-NLS-1$
-			helpContextId = IDebugHelpContextIds.ADD_WATCH_EXPRESSION_DIALOG;
-		}
-		WorkbenchHelp.setHelp(parent, helpContextId);
-	}
-
-	/**
-	 * Create the dialog area.
-	 *
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-
-		// snippet label
-		Label label= new Label(container, SWT.NONE);
-		label.setText(ActionMessages.getString("WatchExpressionDialog.2")); //$NON-NLS-1$
-		gd= new GridData(GridData.BEGINNING);
-		label.setLayoutData(gd);
-		label.setFont(font);
-		
-		fSnippetViewer= new SourceViewer(container, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		fSnippetViewer.setInput(this);
-
-		
-		IDocument document= new Document();
-		//IDocumentPartitioner partitioner= new RuleBasedPartitioner(...);
-		//document.setDocumentPartitioner(partitioner);
-		//partitioner.connect(document);
-		fSnippetViewer.configure(new SourceViewerConfiguration());
-		fSnippetViewer.setEditable(true);
-		fSnippetViewer.setDocument(document);
-		document.addDocumentListener(new IDocumentListener() {
-			public void documentAboutToBeChanged(DocumentEvent event) {
-			}
-			public void documentChanged(DocumentEvent event) {
-				checkValues();
-			}
-		});
-
-		fSnippetViewer.getTextWidget().setFont(JFaceResources.getTextFont());
-
-		Control control= fSnippetViewer.getControl();
-		gd= new GridData(GridData.FILL_BOTH);
-		gd.heightHint= convertHeightInCharsToPixels(10);
-		gd.widthHint= convertWidthInCharsToPixels(80);
-		control.setLayoutData(gd);
-		fSnippetViewer.getDocument().set(fWatchExpression.getExpressionText());
-
-		// enable checkbox
-		fCheckBox= new Button(container, SWT.CHECK | SWT.LEFT);
-		fCheckBox.setText(ActionMessages.getString("WatchExpressionDialog.3")); //$NON-NLS-1$
-		fCheckBox.setSelection(fWatchExpression.isEnabled());
-		fCheckBox.setFont(font);
-
-		applyDialogFont(container);
-		fSnippetViewer.getControl().setFocus();
-		return container;
-	}
-
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fWatchExpression.setEnabled(fCheckBox.getSelection());
-		fWatchExpression.setExpressionText(fSnippetViewer.getDocument().get());
-		super.okPressed();
-	}
-	
-	/**
-	 * Check the field values and display a message in the status if needed.
-	 */
-	private void checkValues() {
-		StatusInfo status= new StatusInfo();
-		if (fSnippetViewer.getDocument().get().trim().length() == 0) {
-			status.setError(ActionMessages.getString("WatchExpressionDialog.4")); //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
deleted file mode 100644
index 1ff124b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/AbstractLaunchConfigurationAction.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * Common function/behavior for launch configuration view actions
- */
-public abstract class AbstractLaunchConfigurationAction extends SelectionListenerAction {
-	
-	/** 
-	 * The mode this action was created in (run, debug, ...)
-	 */
-	private String fMode;
-	
-	/**
-	 * Allows a requestor to abort this action.
-	 */
-	public interface IConfirmationRequestor {
-		/**
-		 * Returns whether this action should proceed. Confirmation is requested
-		 * when an action is run.
-		 * 
-		 * @return whether this action should proceed
-		 */
-		public boolean getConfirmation();
-	}
-	
-	/**
-	 * This action's confirmation requestor or <code>null</code> if none
-	 */
-	private IConfirmationRequestor fConfirmationRequestor;
-	
-	/**
-	 * The viewer this action is working on
-	 */
-	private Viewer fViewer;
-
-	/**
-	 * Constructor for AbstractLaunchConfigurationAction.
-	 * @param text
-	 */
-	public AbstractLaunchConfigurationAction(String text, Viewer viewer, String mode) {
-		super(text);
-		fViewer = viewer;
-		fViewer.addSelectionChangedListener(this);
-		fMode = mode;
-	}
-
-	/**
-	 * Returns the shell this action is contained in.
-	 * 
-	 * @return the shell this action is contained in
-	 */
-	protected Shell getShell() {
-		return getViewer().getControl().getShell();
-	}
-	
-	/**
-	 * Returns the viewer this action is working on
-	 * 
-	 * @return the viewer this action is working on
-	 */
-	protected Viewer getViewer() {
-		return fViewer;
-	}
-	
-	/**
-	 * Performs this action once confirmation has been aquired. Subclasses
-	 * should override this method.
-	 */
-	protected abstract void performAction();
-	
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public final void run() {
-		if (fConfirmationRequestor != null) {
-			if (!fConfirmationRequestor.getConfirmation()) {
-				return;
-			}
-		}
-		Runnable r = new Runnable() {
-			/**
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				performAction();
-			}
-		};
-		BusyIndicator.showWhile(getShell().getDisplay(), r);
-	}
-	
-	/**
-	 * Sets this action's confirmation requestor.
-	 * 
-	 * @param confirmationRequestor
-	 */
-	public void setConfirmationRequestor(IConfirmationRequestor confirmationRequestor) {
-		fConfirmationRequestor = confirmationRequestor;
-	}
-	
-	/**
-	 * Disposes this action
-	 */
-	public void dispose() {
-		fViewer.removeSelectionChangedListener(this);
-	}
-	
-	/**
-	 * Show an error dialog on the given exception.
-	 * 
-	 * @param exception
-	 */
-	protected void errorDialog(CoreException exception) {
-		ErrorDialog.openError(getShell(), null, null, exception.getStatus());
-	}
-
-	/**
-	 * Return this action's mode.
-	 * 
-	 * @return launch mode
-	 */
-	protected String getMode() {
-		return fMode;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
deleted file mode 100644
index d298933..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class CompileErrorPromptStatusHandler implements IStatusHandler {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		if (source instanceof ILaunchConfiguration) {
-			ILaunchConfiguration config = (ILaunchConfiguration)source;
-			boolean privateConfig = config.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false);
-			if (privateConfig) {
-				return new Boolean(true);
-			}
-		}
-		
-		Shell shell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.getString("CompileErrorPromptStatusHandler.0"); //$NON-NLS-1$
-		String message = LaunchConfigurationsMessages.getString("CompileErrorPromptStatusHandler.1"); //$NON-NLS-1$
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); 
-		
-		String pref = store.getString(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
-		if (pref != null) {
-			if (pref.equals(MessageDialogWithToggle.ALWAYS)) {
-				return new Boolean(true);
-			}
-		}
-
-		MessageDialogWithToggle dialog = new MessageDialogWithToggle(shell, title, null, message, MessageDialog.WARNING,
-				new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 1, null, false);
-		dialog.setPrefKey(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR);
-		dialog.setPrefStore(store);
-		dialog.open();
-		
-		int returnValue = dialog.getReturnCode();
-		if (returnValue == IDialogConstants.OK_ID) {
-			return new Boolean(true);
-		} else {
-			return new Boolean(false);
-		}
-		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
deleted file mode 100644
index 1c2deeb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CreateLaunchConfigurationAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Creates a new launch configuration based on the selection.
- */
-public class CreateLaunchConfigurationAction extends AbstractLaunchConfigurationAction {
-
-	/**
-	 * Action identifier for IDebugView#getAction(String)
-	 */
-	public static final String ID_CREATE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_CREATE_ACTION"; //$NON-NLS-1$
-	
-	/**
-	 * Constructs an action to create a launch configuration 
-	 */
-	public CreateLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.getString("CreateLaunchConfigurationAction.Ne&w_1"), viewer, mode); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractLaunchConfigurationAction#performAction()
-	 */
-	protected void performAction() {
-		Object object = getStructuredSelection().getFirstElement();
-		ILaunchConfigurationType type= null;
-		// Construct a new config of the selected type
-		if (object instanceof ILaunchConfiguration) {
-			ILaunchConfiguration config= (ILaunchConfiguration) object;
-			try {
-				type = config.getType();
-			} catch (CoreException e) {
-				errorDialog(e);
-				return;
-			}
-		} else {
-			type = (ILaunchConfigurationType) object;
-		}
-
-		try {
-			ILaunchConfigurationWorkingCopy wc = type.newInstance(null, DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(LaunchConfigurationsMessages.getString("CreateLaunchConfigurationAction.New_configuration_2"))); //$NON-NLS-1$
-			ILaunchConfigurationTabGroup tabGroup = LaunchConfigurationPresentationManager.getDefault().getTabGroup(wc.getType(), getMode());
-			// this only works because this action is only present when the dialog is open
-			ILaunchConfigurationDialog dialog = LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog();
-			tabGroup.createTabs(dialog, dialog.getMode());
-			ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
-			for (int i = 0; i < tabs.length; i++) {
-				ILaunchConfigurationTab tab = tabs[i];
-				tab.setLaunchConfigurationDialog(dialog);
-			}
-			tabGroup.setDefaults(wc);
-			tabGroup.dispose();
-			wc.doSave();
-		} catch (CoreException e) {
-			errorDialog(e);
-			return;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return selection.size() == 1;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
deleted file mode 100644
index f9d3d53..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class DebugModePromptStatusHandler implements IStatusHandler {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		if (source instanceof ILaunchConfiguration) {
-			ILaunchConfiguration config = (ILaunchConfiguration)source;
-			boolean privateConfig = config.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false);
-			if (privateConfig) {
-				return new Boolean(false);
-			}	
-		}
-		
-		Shell activeShell = DebugUIPlugin.getShell();
-		String title = LaunchConfigurationsMessages.getString("DebugModePromptStatusHandler.0"); //$NON-NLS-1$
-		String message = LaunchConfigurationsMessages.getString("DebugModePromptStatusHandler.1"); //$NON-NLS-1$
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		
-		ILaunchConfiguration configuration = (ILaunchConfiguration)source;
-		
-		String pref = store.getString(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE); 
-		if (pref != null) {
-			if (pref.equals(MessageDialogWithToggle.NEVER)) {
-				return new Boolean(false);
-			} else if (pref.equals(MessageDialogWithToggle.ALWAYS)) { 
-				relaunchInDebugMode(configuration);
-				return new Boolean(true);
-			}
-		}
-		
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(activeShell, title, message, null, false, store, IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE); //$NON-NLS-1$
-		int buttonId = dialog.getReturnCode();
-		if (buttonId == IDialogConstants.YES_ID) { 
-			relaunchInDebugMode(configuration);
-			return new Boolean(true); // stops launch
-		} else if (buttonId == IDialogConstants.NO_ID) {
-			return new Boolean(false); // continue launch
-		} else { //CANCEL 
-			return new Boolean(true); // stops the launch
-		}
-	}
-	/**
-	 * @param configuration
-	 */
-	private void relaunchInDebugMode(ILaunchConfiguration configuration) {
-		DebugUITools.launch(configuration, ILaunchManager.DEBUG_MODE);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
deleted file mode 100644
index 64efcb3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DeleteLaunchConfigurationAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Deletes the selected launch configuration(s).
- */
-public class DeleteLaunchConfigurationAction extends AbstractLaunchConfigurationAction {
-
-	/**
-	 * Action identifier for IDebugView#getAction(String)
-	 */
-	public static final String ID_DELETE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_DELETE_ACTION"; //$NON-NLS-1$
-	
-	class Confirmation implements IConfirmationRequestor {
-		/**
-		 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractLaunchConfigurationAction.IConfirmationRequestor#getConfirmation()
-		 */
-		public boolean getConfirmation() {
-			IStructuredSelection selection = getStructuredSelection();
-			// Make the user confirm the deletion
-			String dialogMessage = selection.size() > 1 ? LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configurations__1") : LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configuration__2"); //$NON-NLS-1$ //$NON-NLS-2$
-			return MessageDialog.openQuestion(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Confirm_Launch_Configuration_Deletion_3"), dialogMessage); //$NON-NLS-1$
-		}
-
-	}
-	
-	/**
-	 * Constructs an action to delete launch configuration(s) 
-	 */
-	public DeleteLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.getString("DeleteLaunchConfigurationAction.Dele&te_1"), viewer, mode); //$NON-NLS-1$
-		setConfirmationRequestor(new Confirmation());
-	}
-
-	/**
-	 * @see AbstractLaunchConfigurationAction#performAction()
-	 */
-	protected void performAction() {
-		IStructuredSelection selection = getStructuredSelection();
-
-		getViewer().getControl().setRedraw(false);
-		Iterator iterator = selection.iterator();
-		while (iterator.hasNext()) {
-			ILaunchConfiguration configuration = (ILaunchConfiguration)iterator.next();
-			try {
-				configuration.delete();
-			} catch (CoreException e) {
-				errorDialog(e);
-			}
-		}
-		getViewer().getControl().setRedraw(true);
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if (selection.isEmpty()) {
-			return false;
-		}
-		Iterator items = selection.iterator();
-		while (items.hasNext()) {
-			if (!(items.next() instanceof ILaunchConfiguration)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
deleted file mode 100644
index 644d0ce..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DuplicateLaunchConfigurationAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Duplicates the selected launch configuration.
- */
-public class DuplicateLaunchConfigurationAction extends AbstractLaunchConfigurationAction {
-	
-	/**
-	 * Action identifier for IDebugView#getAction(String)
-	 */
-	public static final String ID_DUPLICATE_ACTION = DebugUIPlugin.getUniqueIdentifier() + ".ID_DUPLICATE_ACTION"; //$NON-NLS-1$
-
-	/**
-	 * Constructs an action to duplicate a launch configuration 
-	 */
-	public DuplicateLaunchConfigurationAction(Viewer viewer, String mode) {
-		super(LaunchConfigurationsMessages.getString("DuplicateLaunchConfigurationAction.&Duplicate_1"), viewer, mode); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractLaunchConfigurationAction#performAction()
-	 */
-	protected void performAction() {
-		ILaunchConfiguration original = (ILaunchConfiguration)getStructuredSelection().getFirstElement();
-		String newName = DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(original.getName());
-		try {
-			ILaunchConfigurationWorkingCopy newWorkingCopy = original.copy(newName);
-			newWorkingCopy.doSave();
-		} catch (CoreException e) {
-			errorDialog(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return selection.size() == 1 && selection.getFirstElement() instanceof ILaunchConfiguration;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
deleted file mode 100644
index 80bf904..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/EnvironmentVariable.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Keith Seitz (keiths@redhat.com) - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-/**
- * A key/value set whose data is passed into Runtime.exec(...)
- */
-public class EnvironmentVariable
-{
-	// The name of the environment variable
-	private String name;
-	
-	// The value of the environment variable
-	private String value;
-	
-	public EnvironmentVariable(String name, String value)
-	{
-		this.name = name;
-		this.value = value;
-	}
-
-	/**
-	 * Returns this variable's name, which serves as the key in the key/value
-	 * pair this variable represents
-	 * 
-	 * @return this variable's name
-	 */
-	public String getName()
-	{
-		return name;
-	}
-	
-	/**
-	 * Returns this variables value.
-	 * 
-	 * @return this variable's value
-	 */
-	public String getValue()
-	{
-		return value;
-	}
-	
-	/**
-	 * Sets this variable's name (key)
-	 * @param name
-	 */
-	public void setName(String name)
-	{
-		this.name = name;
-	}
-	
-	/**
-	 * Sets this variable's value
-	 * @param value
-	 */
-	public void setValue(String value)
-	{
-		this.value = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		boolean equal = false;
-		if (obj instanceof EnvironmentVariable) {
-			EnvironmentVariable var = (EnvironmentVariable)obj;
-			equal = var.getName().equals(name);
-		}
-		return equal;		
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return name.hashCode();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
deleted file mode 100644
index de46947..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/FavoritesDialog.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DialogSettingsHelper;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.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;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Dialog for organizing favorite launch configurations
- */
-public class FavoritesDialog extends Dialog {
-	
-	/**
-	 * Table of favorite launch configurations
-	 */
-	private TableViewer fFavoritesTable;	
-
-	// history being organized
-	private LaunchHistory fHistory;
-	
-	// favorites collection under edit
-	private List fFavorites;
-
-	// buttons
-	protected Button fAddFavoriteButton;
-	protected Button fRemoveFavoritesButton;
-	protected Button fMoveUpButton;
-	protected Button fMoveDownButton;
-
-	// button action handler
-	/**
-	 * Listener that delegates when a button is pressed
-	 */
-	private SelectionAdapter fButtonListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Button button = (Button) e.widget;
-			if (button == fAddFavoriteButton) {
-				handleAddConfigButtonSelected();
-			} else if (button == fRemoveFavoritesButton) {
-				removeSelectedFavorites();
-			} else if (button == fMoveUpButton) {
-				handleMoveUpButtonSelected();
-			} else if (button == fMoveDownButton) {
-				handleMoveDownButtonSelected();
-			}
-		}
-	};	
-	
-	/**
-	 * Listener that delegates when the selection changes in a table
-	 */
-	private ISelectionChangedListener fSelectionChangedListener= new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			handleFavoriteSelectionChanged();
-		}
-	};	
-	
-	/**
-	 * Listener that delegates when a key is pressed in a table
-	 */
-	private KeyListener fKeyListener= new KeyAdapter() {
-		public void keyPressed(KeyEvent event) {
-			if (event.character == SWT.DEL && event.stateMask == 0) {
-				removeSelectedFavorites(); 
-			}
-		}
-	};
-	
-	/**
-	 * Content provider for favorites table
-	 */
-	protected class FavoritesContentProvider implements IStructuredContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			ILaunchConfiguration[] favorites= (ILaunchConfiguration[]) getFavorites().toArray(new ILaunchConfiguration[0]);
-			return LaunchConfigurationManager.filterConfigs(favorites);
-		}
-
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-	}
-
-	/**
-	 * Content provider for recent table
-	 */	
-	protected class LaunchConfigurationContentProvider extends FavoritesContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			ILaunchConfiguration[] all = null;
-			try {
-				all = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-				return new ILaunchConfiguration[0];
-			}
-			List list = new ArrayList(all.length);
-			ViewerFilter filter = new LaunchGroupFilter(getLaunchHistory().getLaunchGroup());
-			for (int i = 0; i < all.length; i++) {
-				if (filter.select(null, null, all[i])) {
-					list.add(all[i]);
-				}
-			}
-			list.removeAll(getFavorites());
-			Object[] objs = list.toArray();
-			new WorkbenchViewerSorter().sort(getFavoritesTable(), objs);
-			return objs;
-		}
-
-	}	
-	
-	/**
-	 * Constructs a favorites dialog.
-	 * 
-	 * @param parentShell shell to open the dialog on
-	 * @param history launch history to edit
-	 */
-	public FavoritesDialog(Shell parentShell, LaunchHistory history) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fHistory = history;
-	}
-
-	/**
-	 * The 'add config' button has been pressed
-	 */
-	protected void handleAddConfigButtonSelected() {
-		
-		ListSelectionDialog dialog = new ListSelectionDialog(fFavoritesTable.getControl().getShell(),
-			getMode(), new LaunchConfigurationContentProvider(), DebugUITools.newDebugModelPresentation(),
-			LaunchConfigurationsMessages.getString("FavoritesDialog.7")); //$NON-NLS-1$
-		dialog.open();
-		Object[] selection = dialog.getResult();
-		if (selection != null) {
-			for (int i = 0; i < selection.length; i++) {
-				getFavorites().add(selection[i]);
-			}
-			updateStatus();
-		}
-	}	
-	
-	/**
-	 * The 'remove favorites' button has been pressed
-	 */
-	protected void removeSelectedFavorites() {
-		IStructuredSelection sel = (IStructuredSelection)getFavoritesTable().getSelection();
-		Iterator iter = sel.iterator();
-		while (iter.hasNext()) {
-			Object config = iter.next();
-			getFavorites().remove(config);
-		}
-		getFavoritesTable().refresh();		
-	}	
-	
-	/**
-	 * The 'move up' button has been pressed
-	 */
-	protected void handleMoveUpButtonSelected() {
-		handleMove(-1);
-	}	
-	
-	/**
-	 * The 'move down' button has been pressed
-	 */
-	protected void handleMoveDownButtonSelected() {
-		handleMove(1);
-	}	
-	
-	protected void handleMove(int direction) {
-		IStructuredSelection sel = (IStructuredSelection)getFavoritesTable().getSelection();
-		List selList= sel.toList();
-		Object[] movedFavs= new Object[getFavorites().size()];
-		int i;
-		for (Iterator favs = selList.iterator(); favs.hasNext();) {
-			Object config = favs.next();
-			i= getFavorites().indexOf(config);
-			movedFavs[i + direction]= config;
-		}
-		
-		getFavorites().removeAll(selList);
-			
-		for (int j = 0; j < movedFavs.length; j++) {
-			Object config = movedFavs[j];
-			if (config != null) {
-				getFavorites().add(j, config);		
-			}
-		}
-		
-		getFavoritesTable().refresh();	
-		handleFavoriteSelectionChanged();	
-	}
-	
-	/**
-	 * Returns the table of favorite launch configurations.
-	 * 
-	 * @return table viewer
-	 */
-	protected TableViewer getFavoritesTable() {
-		return fFavoritesTable;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		getShell().setText(MessageFormat.format(LaunchConfigurationsMessages.getString("FavoritesDialog.1"), new String[]{DebugUIPlugin.removeAccelerators(fHistory.getLaunchGroup().getLabel())})); //$NON-NLS-1$
-		createFavoritesArea(composite);
-		return composite;
-	}
-
-	protected void createFavoritesArea(Composite parent) {
-		Composite topComp = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		topComp.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		topComp.setLayoutData(gd);
-		topComp.setFont(parent.getFont());
-	
-		// Create "favorite config" area
-		createLabel(topComp, LaunchConfigurationsMessages.getString("FavoritesDialog.2")); //$NON-NLS-1$
-		fFavoritesTable = createTable(topComp, new FavoritesContentProvider());
-		Composite buttonComp = createButtonComposite(topComp);
-		fAddFavoriteButton = createPushButton(buttonComp,LaunchConfigurationsMessages.getString("FavoritesDialog.3")); //$NON-NLS-1$
-		fAddFavoriteButton.setEnabled(true);
-		fRemoveFavoritesButton = createPushButton(buttonComp, LaunchConfigurationsMessages.getString("FavoritesDialog.4")); //$NON-NLS-1$
-		fMoveUpButton = createPushButton(buttonComp, LaunchConfigurationsMessages.getString("FavoritesDialog.5")); //$NON-NLS-1$
-		fMoveDownButton = createPushButton(buttonComp, LaunchConfigurationsMessages.getString("FavoritesDialog.6"));  //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates a fully configured table with the given content provider
-	 */
-	private TableViewer createTable(Composite parent, IContentProvider contentProvider) {
-		TableViewer tableViewer= new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
-		tableViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		tableViewer.setContentProvider(contentProvider);
-		tableViewer.setInput(DebugUIPlugin.getDefault());
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 100;
-		gd.heightHint = 100;
-		tableViewer.getTable().setLayoutData(gd);
-		tableViewer.getTable().setFont(parent.getFont());
-		tableViewer.addSelectionChangedListener(fSelectionChangedListener);
-		tableViewer.getControl().addKeyListener(fKeyListener);
-		return tableViewer; 
-	}	
-	
-	/**
-	 * Creates and returns a fully configured push button in the given paren with the given label.
-	 */
-	private Button createPushButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-		button.setFont(parent.getFont());
-		setButtonLayoutData(button);
-		button.addSelectionListener(fButtonListener);
-		button.setEnabled(false);
-		return button;
-	}
-	
-	/**
-	 * Creates a fully configured composite to add buttons to.
-	 */
-	private Composite createButtonComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		composite.setLayoutData(gd);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 1;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-		return composite;
-	}
-	
-	/**
-	 * Creates a fully configured label with the given text
-	 */
-	private Label createLabel(Composite parent, String labelText) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(labelText);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-		label.setFont(parent.getFont());
-		return label;
-	}	
-	
-	/**
-	 * Returns the current list of favorites.
-	 */
-	protected List getFavorites() {
-		if (fFavorites == null) {
-			ILaunchConfiguration[] favs = getInitialFavorites();
-			fFavorites = new ArrayList(favs.length);
-			addAll(favs, fFavorites);
-		}
-		return fFavorites;
-	}	
-	
-	protected LaunchHistory getLaunchHistory() {
-		return fHistory;
-	}	
-	
-	/**
-	 * Returns the initial content for the favorites list
-	 */
-	protected ILaunchConfiguration[] getInitialFavorites() {
-		return getLaunchHistory().getFavorites();
-	}	
-	
-	/**
-	 * Returns the mode of this page - run or debug.
-	 */
-	protected String getMode() {
-		return getLaunchHistory().getLaunchGroup().getMode();
-	}
-			
-	/**
-	 * Copies the array into the list
-	 */
-	protected void addAll(Object[] array, List list) {
-		for (int i = 0; i < array.length; i++) {
-			list.add(array[i]);
-		}
-	}
-	
-	/**
-	 * Refresh all tables and buttons
-	 */
-	protected void updateStatus() {
-		getFavoritesTable().refresh();
-		handleFavoriteSelectionChanged();				
-	}	
-
-	/**
-	 * The selection in the favorites list has changed
-	 */
-	protected void handleFavoriteSelectionChanged() {
-		IStructuredSelection selection = (IStructuredSelection)getFavoritesTable().getSelection();
-		List favs = getFavorites();
-		boolean notEmpty = !selection.isEmpty();
-		Iterator elements= selection.iterator();
-		boolean first= false;
-		boolean last= false;
-		int lastFav= favs.size() - 1;
-		while (elements.hasNext()) {
-			Object element = elements.next();
-			if(!first && favs.indexOf(element) == 0) {
-				first= true;
-			}
-			if (!last && favs.indexOf(element) == lastFav) {
-				last= true;
-			}
-		}
-		
-		fRemoveFavoritesButton.setEnabled(notEmpty);
-		fMoveUpButton.setEnabled(notEmpty && !first);
-		fMoveDownButton.setEnabled(notEmpty && !last);
-	}
-	
-	/**
-	 * Method performOK.
-	 */
-	public void saveFavorites() {
-		ILaunchConfiguration[] initial = getInitialFavorites();
-		List current = getFavorites();
-		String groupId = getLaunchHistory().getLaunchGroup().getIdentifier();
-		
-		// removed favorites
-		for (int i = 0; i < initial.length; i++) {
-			ILaunchConfiguration configuration = initial[i];
-			if (current.contains(configuration)) {
-			} else {
-				// remove fav attributes
-				try {
-					ILaunchConfigurationWorkingCopy workingCopy = configuration.getWorkingCopy();
-					workingCopy.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
-					workingCopy.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
-					List groups = workingCopy.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-					if (groups != null) {
-						groups.remove(groupId);
-						if (groups.isEmpty()) {
-							groups = null;	
-						}
-						workingCopy.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
-					}
-					workingCopy.doSave();
-				} catch (CoreException e) {
-					DebugUIPlugin.log(e);
-				} 
-			}
-		}
-		// update added favorites
-		Iterator favs = current.iterator();
-		while (favs.hasNext()) {
-			ILaunchConfiguration configuration = (ILaunchConfiguration)favs.next();
-			try {
-				List groups = configuration.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-				if (groups == null) {
-					groups = new ArrayList();
-				}
-				if (!groups.contains(groupId)) {
-					groups.add(groupId);
-					ILaunchConfigurationWorkingCopy workingCopy = configuration.getWorkingCopy();
-					workingCopy.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
-					workingCopy.doSave();
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		 
-		fHistory.setFavorites(getArray(current));		
-	}	
-	
-	protected ILaunchConfiguration[] getArray(List list) {
-		return (ILaunchConfiguration[])list.toArray(new ILaunchConfiguration[list.size()]);
-	} 
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		saveFavorites();
-		super.okPressed();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-		return super.close();
-	}		
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Point initialLocation= DialogSettingsHelper.getInitialLocation(getDialogSettingsSectionName());
-		if (initialLocation != null) {
-			return initialLocation;
-		}
-		return super.getInitialLocation(initialSize);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point size = super.getInitialSize();
-		return DialogSettingsHelper.getInitialSize(getDialogSettingsSectionName(), size);
-	}
-	
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	private String getDialogSettingsSectionName() {
-		return "FAVORITES_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
deleted file mode 100644
index 59343cd..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationDialog.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * A dialog used to edit & launch a single launch configuration.
- */
-public class LaunchConfigurationDialog extends LaunchConfigurationPropertiesDialog {
-
-	/**
-	 * Constructs a dialog
-	 * 
-	 * @param shell
-	 * @param launchConfiguration
-	 * @param group
-	 */
-	public LaunchConfigurationDialog(Shell shell, ILaunchConfiguration launchConfiguration, LaunchGroupExtension group) {
-		super(shell, launchConfiguration, group);
-	}
-
-	/**
-	 * This dialog has 'Launch' and 'Close' buttons.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);
-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Close_1"), false);  //$NON-NLS-1$
-	}
-	
-	protected String getShellTitle() {
-		return getLaunchConfiguration().getName();
-	}
-	
-	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Modify_attributes_and_launch._1"); //$NON-NLS-1$
-	}
-	/**
-	 * @see ILaunchConfigurationDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		// Launch button
-		getTabViewer().refresh();
-		getButton(ID_LAUNCH_BUTTON).setEnabled(getTabViewer().canLaunch());
-		
-	}
-		
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.SINGLE_LAUNCH_CONFIGURATION_DIALOG;
-	}
-	
-	protected void initializeContent() {
-		getTabViewer().setInput(getLaunchConfiguration());
-		IStatus status = getInitialStatus();
-		if (status != null) {
-			handleStatus(status);
-		}		
-	}
-		
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 *
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".SINGLE_LAUNCH_CONFIGURATION_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
deleted file mode 100644
index afe7569..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationManager.java
+++ /dev/null
@@ -1,759 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-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 javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-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.IPath;
-import org.eclipse.core.runtime.Platform;
-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.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-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;
-
-public class LaunchConfigurationManager implements ILaunchListener {
-	/**
-	 * Launch group extensions, keyed by launch group identifier.
-	 */
-	protected Map fLaunchGroups;
-	
-	/**
-	 * Launch histories keyed by launch group identifier
-	 */	
-	protected Map fLaunchHistories;
-		
-	/**
-	 * The list of registered implementors of <code>ILaunchHistoryChangedListener</code>
-	 */
-	protected List fLaunchHistoryChangedListeners = new ArrayList(3);	
-
-	/**
-	 * Launch shortcuts
-	 */
-	private List fLaunchShortcuts = null;
-	
-	/**
-	 * Launch shortcuts, cached by perspective ids
-	 */
-	private Map fLaunchShortcutsByPerspective = null;
-		
-	/**
-	 * Cache of launch configuration tab images with error overlays
-	 */
-	protected ImageRegistry fErrorImages = null;
-	
-	/**
-	 * true when restoring launch history
-	 */
-	protected boolean fRestoring = false;
-	
-	/**
-	 * A set containing the launch modes supported by
-	 * current configurations.
-	 */
-	private Set fLoadedModes = null;
-		
-	/**
-	 * The name of the file used to persist the launch history.
-	 */
-	private static final String LAUNCH_CONFIGURATION_HISTORY_FILENAME = "launchConfigurationHistory.xml"; //$NON-NLS-1$
-	
-	/**
-	 * The 'HISTORY_' fields are constants that represent node & attribute names used when
-	 * writing out the launch history XML file.
-	 */
-	private static final String HISTORY_ROOT_NODE = "launchHistory"; //$NON-NLS-1$
-	private static final String HISTORY_LAUNCH_NODE = "launch"; //$NON-NLS-1$
-	private static final String HISTORY_LAST_LAUNCH_NODE = "lastLaunch"; //$NON-NLS-1$
-	private static final String HISTORY_MEMENTO_ATT = "memento"; //$NON-NLS-1$
-	private static final String HISTORY_MODE_ATT = "mode"; //$NON-NLS-1$
-	
-	public void startup() {				
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);	
-
-		//update histories for launches already registered
-		ILaunch[] launches= launchManager.getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			launchAdded(launches[i]);
-		}
-	}
-	
-	/**
-	 * Returns whether any launch config supports the given mode.
-	 * 
-	 * @param mode launch mode
-	 * @return whether any launch config supports the given mode
-	 */
-	public boolean launchModeAvailable(String mode) {
-		if (fLoadedModes == null) {
-			ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType[] types = launchManager.getLaunchConfigurationTypes();
-			ILaunchMode[] modes = launchManager.getLaunchModes();
-			fLoadedModes = new HashSet(3);
-			for (int i = 0; i < types.length; i++) {
-				ILaunchConfigurationType type = types[i];
-				for (int j = 0; j < modes.length; j++) {
-					ILaunchMode launchMode = modes[j];
-					if (type.supportsMode(launchMode.getIdentifier())) {
-						fLoadedModes.add(launchMode.getIdentifier());
-					}
-				}
-			}
-		}
-		return fLoadedModes.contains(mode);
-	}
-	
-	/**
-	 * Returns whether the given launch configuraiton should be visible in the
-	 * debug ui. If the config is marked as private, or belongs to a different
-	 * category (i.e. non-null), then this configuration should not be displayed
-	 * in the debug ui.
-	 * 
-	 * @param launchConfiguration
-	 * @return boolean
-	 */
-	public static boolean isVisible(ILaunchConfiguration launchConfiguration) {
-		try {
-			return !(launchConfiguration.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false));
-		} catch (CoreException e) {
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns a collection of launch configurations that does not contain
-	 * configs from disabled activities.
-	 * 
-	 * @param configurations a collection of configurations
-	 * @return the given collection minus any configurations from disabled activities
-	 */
-	public static ILaunchConfiguration[] filterConfigs(ILaunchConfiguration[] configurations) {
-		IWorkbenchActivitySupport activitySupport= PlatformUI.getWorkbench().getActivitySupport();
-		if (activitySupport == null) {
-			return configurations;
-		}
-
-		List filteredConfigs= new ArrayList();
-		for (int i = 0; i < configurations.length; i++) {
-			ILaunchConfiguration configuration= configurations[i];
-			ILaunchConfigurationType type= null;
-			try {
-				type= configuration.getType();
-				LaunchConfigurationTypeContribution contribution = new LaunchConfigurationTypeContribution(type);				
-				if (!WorkbenchActivityHelper.filterItem(contribution))
-					filteredConfigs.add(configuration);
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e.getStatus());
-			}
-		}
-		return (ILaunchConfiguration[]) filteredConfigs.toArray(new ILaunchConfiguration[filteredConfigs.size()]);
-	}
-	
-	public void shutdown() {
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.removeLaunchListener(this);
-		if (fLaunchHistories != null) {
-			Iterator histories = fLaunchHistories.values().iterator();
-			while (histories.hasNext()) {
-				LaunchHistory history = (LaunchHistory)histories.next();
-				history.dispose();
-			}
-		}
-	}
-	
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-	
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {	
-
-	}
-
-	/**
-	 * Must not assume that will only be called from the UI thread.
-	 *
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(final ILaunch launch) {
-		removeTerminatedLaunches(launch);
-	}
-	
-	protected void removeTerminatedLaunches(ILaunch newLaunch) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES)) {
-			ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-			Object[] launches= lManager.getLaunches();
-			for (int i= 0; i < launches.length; i++) {
-				ILaunch launch= (ILaunch)launches[i];
-				if (launch != newLaunch && launch.isTerminated()) {
-					lManager.removeLaunch(launch);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the most recent launch for the given group, or <code>null</code>
-	 * if none.
-	 *	
-	 * @return the last launch, or <code>null</code> if none
-	 */	
-	public ILaunchConfiguration getLastLaunch(String groupId) {
-		LaunchHistory history = getLaunchHistory(groupId);
-		if (history != null) {
-			return history.getRecentLaunch();
-		}
-		return null;
-	}
-	
-	/**
-	 * Add the specified listener to the list of listeners that will be notified when the
-	 * launch history changes.
-	 */
-	public void addLaunchHistoryListener(ILaunchHistoryChangedListener listener) {
-		if (!fLaunchHistoryChangedListeners.contains(listener)) {
-			fLaunchHistoryChangedListeners.add(listener);
-		}
-	}
-	
-	/**
-	 * Remove the specified listener from the list of listeners that will be notified when the
-	 * launch history changes.
-	 */
-	public void removeLaunchHistoryListener(ILaunchHistoryChangedListener listener) {
-		fLaunchHistoryChangedListeners.remove(listener);
-	}
-	
-	/**
-	 * Notify all launch history listeners that the launch history has changed in some way.
-	 */
-	protected void fireLaunchHistoryChanged() {
-		Iterator iterator = fLaunchHistoryChangedListeners.iterator();
-		while (iterator.hasNext()) {
-			ILaunchHistoryChangedListener listener = (ILaunchHistoryChangedListener) iterator.next();
-			listener.launchHistoryChanged();
-		}
-	}
-
-	protected String getHistoryAsXML() throws CoreException, ParserConfigurationException, TransformerException, IOException {
-		Document doc = DebugUIPlugin.getDocument();
-		Element historyRootElement = doc.createElement(HISTORY_ROOT_NODE); 
-		doc.appendChild(historyRootElement);
-		
-		Iterator histories = fLaunchHistories.values().iterator();
-		while (histories.hasNext()) {
-			LaunchHistory history = (LaunchHistory)histories.next();
-			createEntry(doc, historyRootElement, history.getLaunchGroup().getMode(), history.getHistory());
-			createEntry(doc, historyRootElement, history.getLaunchGroup().getMode(), history.getFavorites());
-			ILaunchConfiguration configuration = history.getRecentLaunch();
-			if (configuration != null && configuration.exists()) {
-				Element last = doc.createElement(HISTORY_LAST_LAUNCH_NODE);
-				last.setAttribute(HISTORY_MEMENTO_ATT, configuration.getMemento());
-				last.setAttribute(HISTORY_MODE_ATT, history.getLaunchGroup().getMode());
-				historyRootElement.appendChild(last);
-			}
-		}
-		
-		return DebugUIPlugin.serializeDocument(doc);
-	}
-
-	protected void createEntry(Document doc, Element historyRootElement, String mode, ILaunchConfiguration[] configurations) throws CoreException {
-		for (int i = 0; i < configurations.length; i++) {
-			ILaunchConfiguration configuration = configurations[i];
-			if (configuration.exists()) {
-				Element launch = doc.createElement(HISTORY_LAUNCH_NODE);
-				launch.setAttribute(HISTORY_MEMENTO_ATT, configuration.getMemento());
-				launch.setAttribute(HISTORY_MODE_ATT, mode);
-				historyRootElement.appendChild(launch);
-			}
-		}
-	}
-				
-	protected IPath getHistoryFilePath() {
-		return DebugUIPlugin.getDefault().getStateLocation().append(LAUNCH_CONFIGURATION_HISTORY_FILENAME); 
-	}
-
-	/**
-	 * Write out an XML file indicating the entries on the run & debug history lists and
-	 * the most recent launch.
-	 */
-	protected void persistLaunchHistory() throws IOException, CoreException, TransformerException, ParserConfigurationException {
-		if (fRestoring) {
-			return;
-		}
-		IPath historyPath = getHistoryFilePath();
-		String osHistoryPath = historyPath.toOSString();
-		String xml = getHistoryAsXML();
-		File file = new File(osHistoryPath);
-		file.createNewFile();
-		
-		FileOutputStream stream = new FileOutputStream(file);
-		stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
-		stream.close();
-		fireLaunchHistoryChanged();
-	}
-	
-	/**
-	 * Find the XML history file and parse it.  Place the corresponding configs
-	 * in the appropriate history, and set the most recent launch.
-	 */
-	private void restoreLaunchHistory() {
-		// Find the history file
-		IPath historyPath = getHistoryFilePath();
-		String osHistoryPath = historyPath.toOSString();
-		File file = new File(osHistoryPath);
-		
-		// If no history file, nothing to do
-		if (!file.exists()) {
-			return;
-		}
-		
-		FileInputStream stream= null;
-		Element rootHistoryElement= null;
-		try {
-			// Parse the history file
-			stream = new FileInputStream(file);
-			rootHistoryElement = null;
-			try {
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				rootHistoryElement = parser.parse(new InputSource(stream)).getDocumentElement();
-			} catch (SAXException e) {
-				DebugUIPlugin.log(e);
-				return;
-			} catch (ParserConfigurationException e) {
-				DebugUIPlugin.log(e);
-				return;
-			} finally {
-				stream.close();
-			}
-		} catch (IOException exception) {
-			DebugUIPlugin.log(exception);
-			return;
-		}
-		
-		// If root node isn't what we expect, return
-		if (!rootHistoryElement.getNodeName().equalsIgnoreCase(HISTORY_ROOT_NODE)) { 
-			return;
-		}
-
-		// For each child of the root node, construct a launch config handle and add it to
-		// the appropriate history, or set the most recent launch
-		Collection l = fLaunchHistories.values();
-		LaunchHistory[] histories = (LaunchHistory[])l.toArray(new LaunchHistory[l.size()]);
-		NodeList list = rootHistoryElement.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(HISTORY_LAUNCH_NODE)) { 
-					createHistoryElement(entry, histories);
-				} else if (entry.getNodeName().equalsIgnoreCase(HISTORY_LAST_LAUNCH_NODE)) {
-					createRecentElement(entry, histories);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Construct a launch configuration corresponding to the specified XML
-	 * element, and place it in the approriate history.
-	 */
-	private void createHistoryElement(Element entry, LaunchHistory[] histories) {
-		String memento = entry.getAttribute(HISTORY_MEMENTO_ATT); 
-		String mode = entry.getAttribute(HISTORY_MODE_ATT);     
-		try {
-			ILaunchConfiguration launchConfig = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(memento);
-			if (launchConfig.exists()) {
-				for (int i = 0; i < histories.length; i++) {
-					LaunchHistory history = histories[i];
-					if (history.accepts(launchConfig) && history.getLaunchGroup().getMode().equals(mode)) {
-						history.addHistory(launchConfig, false);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}	
-	}
-	
-	/**
-	 * Construct a launch configuration corresponding to the specified XML
-	 * element, and place it in the approriate history's recent launch
-	 */
-	private void createRecentElement(Element entry, LaunchHistory[] histories) {
-		String memento = entry.getAttribute(HISTORY_MEMENTO_ATT); 
-		String mode = entry.getAttribute(HISTORY_MODE_ATT);     
-		try {
-			ILaunchConfiguration launchConfig = DebugPlugin.getDefault().getLaunchManager().getLaunchConfiguration(memento);
-			if (launchConfig.exists()) {
-				for (int i = 0; i < histories.length; i++) {
-					LaunchHistory history = histories[i];
-					if (history.accepts(launchConfig) && history.getLaunchGroup().getMode().equals(mode)) {
-						history.setRecentLaunch(launchConfig);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE) {
-				// only log the error if it's not a missing type definition
-				DebugUIPlugin.log(e);
-			}
-		}	
-	}	
-	
-	/**
-	 * Load all registered extensions of the 'launch shortcut' extension point.
-	 */
-	private void loadLaunchShortcuts() {
-		// Get the configuration elements
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_SHORTCUTS);
-		IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-
-		// Load the configuration elements into a Map 
-		fLaunchShortcuts = new ArrayList(infos.length);
-		for (int i = 0; i < infos.length; i++) {
-			LaunchShortcutExtension ext = new LaunchShortcutExtension(infos[i]);
-			fLaunchShortcuts.add(ext);
-		}
-		Collections.sort(fLaunchShortcuts, new ShortcutComparator());
-	}
-	
-	/**
-	 * Load all registered extensions of the 'launch groups' extension point.
-	 */
-	private void loadLaunchGroups() {
-		if (fLaunchGroups == null) {
-			// Get the configuration elements
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_GROUPS);
-			IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
-	
-			// Load the configuration elements into a Map 
-			fLaunchGroups = new HashMap(infos.length);
-			for (int i = 0; i < infos.length; i++) {
-				LaunchGroupExtension ext = new LaunchGroupExtension(infos[i]);
-				fLaunchGroups.put(ext.getIdentifier(), ext);
-			}
-		}
-	}	
-	
-	/**
-	 * Returns all launch shortcuts
-	 * 
-	 * @return all launch shortcuts
-	 */
-	public List getLaunchShortcuts() {
-		if (fLaunchShortcuts == null) {
-			loadLaunchShortcuts();
-		}
-		return fLaunchShortcuts;
-	}
-	
-	/**
-	 * Returns all launch shortcuts for the given category
-	 *
-	 * @return all launch shortcuts
-	 */
-	public List getLaunchShortcuts(String category) {
-		return filterShortcuts(getLaunchShortcuts(), category);
-	}	
-	
-	/**
-	 * Return a list of filtered launch shortcuts, based on the given category.
-	 *  
-	 * @param unfiltered
-	 * @param category
-	 * @return List
-	 */
-	protected List filterShortcuts(List unfiltered, String category) {
-		List filtered = new ArrayList(unfiltered.size());
-		Iterator iter = unfiltered.iterator();
-		while (iter.hasNext()){
-			LaunchShortcutExtension extension = (LaunchShortcutExtension)iter.next();
-			if (category == null) {
-				if (extension.getCategory() == null) {
-					filtered.add(extension);
-				}
-			} else if (category.equals(extension.getCategory())){
-				filtered.add(extension);
-			}
-		}
-		return filtered;		
-	}
-	
-	/**
-	 * Returns all launch shortcuts defined for the given perspective,
-	 * empty list if none.
-	 * 
-	 * @param perpsective perspective identifier
-	 * @return all launch shortcuts defined for the given perspective,
-	 * empty list if none.
-	 */
-	public List getLaunchShortcuts(String perpsective, String category) {
-		if (fLaunchShortcutsByPerspective == null) {
-			Iterator shortcuts = getLaunchShortcuts().iterator();
-			fLaunchShortcutsByPerspective = new HashMap(10);
-			while (shortcuts.hasNext()) {
-				LaunchShortcutExtension ext = (LaunchShortcutExtension)shortcuts.next();
-				Iterator perspectives = ext.getPerspectives().iterator();
-				while (perspectives.hasNext()) {
-					String id = (String)perspectives.next();
-					List list = (List)fLaunchShortcutsByPerspective.get(id);
-					if (list == null) {
-						list = new ArrayList(4);
-						fLaunchShortcutsByPerspective.put(id, list);
-					}
-					list.add(ext);
-				}
-			}
-		}
-		List list = (List)fLaunchShortcutsByPerspective.get(perpsective); 
-		if (list == null) {
-			return new ArrayList();
-		} else {
-			return filterShortcuts(list, category);
-		}
-	}
-	
-	/**
-	 * Returns the image used to display an error in the given tab
-	 */
-	public Image getErrorTabImage(ILaunchConfigurationTab tab) {
-		if (fErrorImages == null) {
-			fErrorImages = new ImageRegistry();
-		}
-		String key = tab.getClass().getName();
-		Image image = fErrorImages.get(key);
-		if (image == null) {
-			// create image
-			Image base = tab.getImage();
-			if (base == null) {
-				base = DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OVR_TRANSPARENT);
-			}
-			base = new Image(Display.getCurrent(), base, SWT.IMAGE_COPY);
-			LaunchConfigurationTabImageDescriptor desc = new LaunchConfigurationTabImageDescriptor(base, LaunchConfigurationTabImageDescriptor.ERROR);
-			image = desc.createImage();
-			fErrorImages.put(key, image);
-		}
-		return image;
-	}
-	
-	/**
-	 * Return the launch group with the given id, or <code>null</code>
-	 * 
-	 * @return the launch group with the given id, or <code>null</code>
-	 */
-	public LaunchGroupExtension getLaunchGroup(String id) {
-		if (fLaunchGroups == null) {
-			loadLaunchGroups();
-		}
-		return (LaunchGroupExtension)fLaunchGroups.get(id);
-	}
-	
-	/**
-	 * Return all defined launch groups
-	 * 
-	 * @return all defined launch groups
-	 */
-	public ILaunchGroup[] getLaunchGroups() {
-		if (fLaunchGroups == null) {
-			loadLaunchGroups();
-		}
-		Collection groups = fLaunchGroups.values();
-		return (ILaunchGroup[])groups.toArray(new ILaunchGroup[groups.size()]);
-	}	
-	
-	/**
-	 * Return the launch history with the given group id, or <code>null</code>
-	 * 
-	 * @return the launch history with the given group id, or <code>null</code>
-	 */
-	public LaunchHistory getLaunchHistory(String id) {
-		if (fLaunchHistories == null) {
-			loadLaunchHistories();
-		}
-		return (LaunchHistory)fLaunchHistories.get(id);
-	}	
-	
-	/**
-	 * Restore launch history
-	 */
-	private void loadLaunchHistories() {
-		if (fLaunchHistories == null) {
-			fRestoring = true;
-			ILaunchGroup[] groups = getLaunchGroups();
-			fLaunchHistories = new HashMap(groups.length);
-			for (int i = 0; i < groups.length; i++) {
-				ILaunchGroup extension = groups[i];
-				if (extension.isPublic()) {
-					fLaunchHistories.put(extension.getIdentifier(), new LaunchHistory(extension));
-				}
-			}
-			restoreLaunchHistory();
-			fRestoring = false;
-		}
-	}
-	
-	/**
-	 * Returns the default launch group for the given mode.
-	 * 
-	 * @param mode
-	 * @return launch group
-	 */
-	public LaunchGroupExtension getDefaultLanuchGroup(String mode) {
-		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			return getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-		} else {
-			return getLaunchGroup(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-		}
-	}
-	
-	/**
-	 * Returns the launch group the given launch configuration belongs to, in
-	 * the specified mode, or <code>null</code> if none.
-	 * 
-	 * @param configuration
-	 * @param mode
-	 * @return the launch group the given launch configuration belongs to, in
-	 * the specified mode, or <code>null</code> if none
-	 */
-	public ILaunchGroup getLaunchGroup(ILaunchConfiguration configuration, String mode) {
-		try {
-			String category = configuration.getCategory();
-			ILaunchGroup[] groups = getLaunchGroups();
-			for (int i = 0; i < groups.length; i++) {
-				ILaunchGroup extension = groups[i];
-				if (category == null) {
-					if (extension.getCategory() == null && extension.getMode().equals(mode)) {
-						return extension;
-					}
-				} else if (category.equals(extension.getCategory())) {
-					if (extension.getMode().equals(mode)) {
-						return extension;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the private launch configuration used as a placeholder to represent/store
-	 * the information associated with a launch configuration type.
-	 * 
-	 * @param type launch configuration type
-	 * @return launch configuration
-	 * @since 3.0
-	 */
-	public static ILaunchConfiguration getSharedTypeConfig(ILaunchConfigurationType type) throws CoreException {
-		String id = type.getIdentifier();
-		String name = id + ".SHARED_INFO"; //$NON-NLS-1$
-		ILaunchConfiguration shared = null;
-		ILaunchConfiguration[] configurations = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations(type);
-		for (int i = 0; i < configurations.length; i++) {
-			ILaunchConfiguration configuration = configurations[i];
-			if (configuration.getName().equals(name)) {
-				shared = configuration;
-				break;
-			}
-		}
-		
-		if (shared == null) {
-			// create a new shared config
-			ILaunchConfigurationWorkingCopy workingCopy;
-			workingCopy = type.newInstance(null, name);
-			workingCopy.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);
-			// null entries indicate default settings
-			// save
-			shared = workingCopy.doSave();
-		}
-		return shared;
-	}
-
-}
-
-class ShortcutComparator implements Comparator {
-	/**
-	 * @see Comparator#compare(Object, Object)
-	 */
-	public int compare(Object a, Object b) {
-		String labelA = ((LaunchShortcutExtension)a).getLabel();
-		String labelB = ((LaunchShortcutExtension)b).getLabel();
-		
-		// null labels sort last (i.e. highest)
-		if (labelA == labelB) {
-			return 0;
-		}
-		if (labelA == null) {
-			return 1;
-		}
-		if (labelB == null) {
-			return -1;
-		}
-		
-		return labelA.compareToIgnoreCase(labelB);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
deleted file mode 100644
index 8793475..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPresentationManager.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import java.text.MessageFormat;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-
-/**
- * Manages contributed launch configuration tabs
- */ 
-public class LaunchConfigurationPresentationManager {
-	
-	/**
-	 * The singleton launch configuration presentation manager
-	 */
-	private static LaunchConfigurationPresentationManager fgDefault;
-			
-	/**
-	 * Collection of launch configuration tab group extensions
-	 * defined in plug-in xml. Entries are keyed by launch
-	 * configuration type identifier (<code>String</code>),
-	 * and entires are tables of launch modes (<code>String</code>)
-	 * to <code>LaunchConfigurationTabGroupExtension</code>. "*" is
-	 * used to represent the default tab group (i.e. unspecified mode).
-	 */
-	private Hashtable fTabGroupExtensions;	
-		
-	/**
-	 * Constructs the singleton launch configuration presentation
-	 * manager.
-	 */
-	private LaunchConfigurationPresentationManager() {
-		fgDefault = this;
-		initializeTabGroupExtensions();
-	}
-
-	/**
-	 * Returns the launch configuration presentation manager
-	 */
-	public static LaunchConfigurationPresentationManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new LaunchConfigurationPresentationManager();
-		}
-		return fgDefault;
-	}
-		
-	/**
-	 * Creates launch configuration tab group extensions for each extension
-	 * defined in XML, and adds them to the table of tab group extensions.
-	 */
-	private void initializeTabGroupExtensions() {
-		fTabGroupExtensions = new Hashtable();
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS);
-		IConfigurationElement[] groups = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < groups.length; i++) {
-			LaunchConfigurationTabGroupExtension group = new LaunchConfigurationTabGroupExtension(groups[i]);
-			String typeId = group.getTypeIdentifier();
-			if (typeId == null) {
-				IExtension ext = groups[i].getDeclaringExtension();
-				IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.STATUS_INVALID_EXTENSION_DEFINITION,
-					 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_does_not_specify_launch_configuration_type_1"), (new String[] {ext.getUniqueIdentifier()})), null); //$NON-NLS-1$
-					DebugUIPlugin.log(status);
-			} else {
-				// verify it references a valid launch configuration type
-				ILaunchConfigurationType lct = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(typeId);
-				if (lct == null) {
-					IExtension ext = groups[i].getDeclaringExtension();
-					IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.STATUS_INVALID_EXTENSION_DEFINITION,
-					 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_refers_to_non-existant_launch_configuration_type_{1}_2"), (new String[] {ext.getUniqueIdentifier(), typeId})), null); //$NON-NLS-1$
-					DebugUIPlugin.log(status);
-				}
-			}
-			if (typeId != null) {
-				// get the map for the config type
-				Map map = (Map)fTabGroupExtensions.get(typeId);
-				if (map == null) {
-					map = new Hashtable();
-					fTabGroupExtensions.put(typeId, map);
-				}
-				Set modes = group.getModes();
-				if (modes == null) {
-					// default tabs - store with "*"
-					map.put("*", group); //$NON-NLS-1$
-				} else {
-					// store per mode
-					Iterator iterator = modes.iterator();
-					while (iterator.hasNext()) {
-						map.put(iterator.next(), group);
-					}
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Returns the tab group for the given launch configuration type and mode.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode
-	 * @return the tab group for the given type of launch configuration
-	 * @exception CoreException if an exception occurs creating the group
-	 */
-	public ILaunchConfigurationTabGroup getTabGroup(ILaunchConfigurationType type, String mode) throws CoreException {
-		LaunchConfigurationTabGroupExtension ext = getExtension(type.getIdentifier(), mode);
-		if (ext == null) {
-			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR,
-			 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.No_tab_group_defined_for_launch_configuration_type_{0}_3"), (new String[] {type.getIdentifier()})), null);  //$NON-NLS-1$
-			 throw new CoreException(status);
-		} else {
-			return ext.newTabGroup();
-		}		
-	}
-	
-	/**
-	 * Returns the launch tab group extension for the given type and mode, or
-	 * <code>null</code> if none
-	 * 
-	 * @param type launch configuration type identifier
-	 * @param mode launch mode identifier
-	 * @return launch tab group extension or <code>null</code>
-	 */
-	protected LaunchConfigurationTabGroupExtension getExtension(String type, String mode) {
-		// get the map for the config type
-		Map map = (Map)fTabGroupExtensions.get(type);
-		if (map != null) {
-			// try the specific mode
-			Object extension = map.get(mode);
-			if (extension == null) {
-				// get the default tabs
-				extension = map.get("*"); //$NON-NLS-1$
-			}
-			return (LaunchConfigurationTabGroupExtension)extension;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the identifier of the help context that is associated with the
-	 * specified launch configuration type and mode, or <code>null</code> if none.
-	 * 
-	 * @param type launch config type
-	 * @param mode launch mode
-	 * @return the identifier for the help context associated with the given
-	 * type of launch configuration, or <code>null</code>
-	 * @exception CoreException if an exception occurs creating the group
-	 * @since 2.1
-	 */
-	public String getHelpContext(ILaunchConfigurationType type, String mode) throws CoreException {
-		LaunchConfigurationTabGroupExtension ext = getExtension(type.getIdentifier(), mode);
-		if (ext == null) {
-			IStatus status = new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR,
-			 MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPresentationManager.No_tab_group_defined_for_launch_configuration_type_{0}_3"), (new String[] {type.getIdentifier()})), null); //$NON-NLS-1$
-			 throw new CoreException(status);
-		} else {
-			return ext.getHelpContextId();
-		}		
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
deleted file mode 100644
index 4c4f199..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationPropertiesDialog.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.PixelConverter;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
- 
-
-/**
- * A dialog used to edit a single launch configuration.
- */
-public class LaunchConfigurationPropertiesDialog extends LaunchConfigurationsDialog implements ILaunchConfigurationListener {
-	
-	/**
-	 * The launch configuration to display
-	 */
-	private ILaunchConfiguration fLaunchConfiguration;
-
-	/**
-	 * Constructs a new launch configuration dialog on the given
-	 * parent shell.
-	 * 
-	 * @param shell the parent shell
-	 * @param selection the selection used to initialize this dialog, typically the 
-	 *  current workbench selection
-	 * @param group launch group
-	 */
-	public LaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration launchConfiguration, LaunchGroupExtension group) {
-		super(shell, group);
-		setLaunchConfiguration(launchConfiguration);
-		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
-	}
-	
-	/**
-	 * Sets the launch configration to be displayed.
-	 * 
-	 * @param configuration
-	 */
-	private void setLaunchConfiguration(ILaunchConfiguration configuration) {
-		fLaunchConfiguration = configuration;
-	}
-	
-	/**
-	 * Returns the launch configuration being displayed.
-	 * 
-	 * @return ILaunchConfiguration
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration() {
-		return fLaunchConfiguration;
-	}
-
-	protected void initializeContent() {
-		getTabViewer().setInput(getLaunchConfiguration());
-		IStatus status = getInitialStatus();
-		if (status != null) {
-			handleStatus(status);
-		}
-	}
-			
-	/**
-	 * @see Window#close()
-	 */
-	public boolean close() {
-		persistShellGeometry();
-		getBannerImage().dispose();
-		getTabViewer().dispose();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(this);
-		return super.close();
-	}
-		
-	/**
-	 * Adds content to the dialog area
-	 */
-	protected void addContent(Composite dialogComp) {
-		GridData gd;
-		Composite topComp = new Composite(dialogComp, SWT.NONE);
-		gd = new GridData(GridData.FILL_BOTH);
-		topComp.setLayoutData(gd);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 1;
-		topLayout.marginHeight = 5;
-		topLayout.marginWidth = 0;
-		topComp.setLayout(topLayout);
-		topComp.setFont(dialogComp.getFont());
-	
-		// Set the things that TitleAreaDialog takes care of 
-		setTitle(getTitleAreaTitle());
-		setMessage(""); //$NON-NLS-1$
-		setModeLabelState();
-	
-		// Build the launch configuration edit area and put it into the composite.
-		Composite editAreaComp = createLaunchConfigurationEditArea(topComp);
-		setEditArea(editAreaComp);
-		gd = new GridData(GridData.FILL_BOTH);
-		editAreaComp.setLayoutData(gd);
-		editAreaComp.setFont(dialogComp.getFont());
-			
-		// Build the separator line that demarcates the button bar
-		Label separator = new Label(topComp, SWT.HORIZONTAL | SWT.SEPARATOR);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		separator.setLayoutData(gd);
-		
-		dialogComp.layout(true);
-		applyDialogFont(dialogComp);
-	}
-	
-	protected String getTitleAreaTitle() {
-		return LaunchConfigurationsMessages.getString("LaunchConfigurationPropertiesDialog.Edit_launch_configuration_properties_1"); //$NON-NLS-1$
-	}
-			
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK and Cancel buttons by default
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-					
-	protected String getShellTitle() {
-		return MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationPropertiesDialog.Properties_for_{0}_2"), new String[]{getLaunchConfiguration().getName()}); //$NON-NLS-1$
-	}
-	
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_PROPERTIES_DIALOG;
-	}
-		  	
-  	protected void resize() {
-  		// determine the maximum tab dimensions
-  		PixelConverter pixelConverter = new PixelConverter(getEditArea());
-  		int runningTabWidth = 0;
-  		ILaunchConfigurationTabGroup group = getTabGroup();
-  		if (group == null) {
-  			return;
-  		}
-  		ILaunchConfigurationTab[] tabs = group.getTabs();
-  		Point contentSize = new Point(0, 0);
-  		for (int i = 0; i < tabs.length; i++) {
-  			String name = tabs[i].getName();
-  			Image image = tabs[i].getImage();
-  			runningTabWidth += pixelConverter.convertWidthInCharsToPixels(name.length() + 5);
-  			if (image != null) {
-  				runningTabWidth += image.getBounds().width;
-  			}
-  			Control control = tabs[i].getControl();
-  			if (control != null) {
-  				Point size = control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-  				if (size.x > contentSize.x) {
-  					contentSize.x = size.x;
-  				}
-  				if (size.y > contentSize.y) {
-  					contentSize.y = size.y;
-  				}
-  			}
-  		}
-
-  		// Determine if more space is needed to show all tab labels across the top of the
-  		// tab folder.  If so, only increase size of dialog to some percent of the available
-  		// screen real estate.
-  		if (runningTabWidth > contentSize.x) {
-  			int maxAllowedWidth = (int) (getDisplay().getBounds().width * MAX_DIALOG_WIDTH_PERCENT);
-  			if (runningTabWidth > maxAllowedWidth) {
-  				contentSize.x = maxAllowedWidth;
-  			} else {
-  				contentSize.x = runningTabWidth;
-  			}
-  		}
-
-  		// Adjust the maximum tab dimensions to account for the extra space required for the tab labels
-  		Rectangle tabFolderBoundingBox = getEditArea().computeTrim(0, 0, contentSize.x, contentSize.y);
-  		contentSize.x = tabFolderBoundingBox.width;
-  		contentSize.y = tabFolderBoundingBox.height;
-
-  		// Force recalculation of sizes
-  		getEditArea().layout(true);
-
-  		// Calculate difference between required space for tab folder and current size,
-  		// then increase size of this dialog's Shell by that amount
-  		Rectangle rect = getEditArea().getClientArea();
-  		Point containerSize= new Point(rect.width, rect.height);
-  		int hdiff= contentSize.x - containerSize.x;
-  		int vdiff= contentSize.y - containerSize.y;
-  		// Only increase size of dialog, never shrink it
-  		if (hdiff > 0 || vdiff > 0) {
-  			hdiff= Math.max(0, hdiff);
-  			vdiff= Math.max(0, vdiff);
-  			Shell shell= getShell();
-  			Point shellSize= shell.getSize();
-  			setShellSize(shellSize.x + hdiff, shellSize.y + vdiff);
-  		}  		
-  	}
-  	 	 	 	 	
-	/**
-	 * @see ILaunchConfigurationDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		// apply/revert buttons
-		getTabViewer().refresh();
-		getButton(IDialogConstants.OK_ID).setEnabled(getTabViewer().canSave());
-		
-	}
-		
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		getTabViewer().handleApplyPressed();
-		super.okPressed();
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		setOpenMode(-1);
-		return super.open();
-	}
-
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 *
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".LAUNCH_CONFIGURATION_PROPERTIES_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		if (getLaunchConfiguration().equals(manager.getMovedFrom(configuration))) {
-			// this config was re-named, update the dialog with the new config
-			setLaunchConfiguration(configuration);
-			getTabViewer().setInput(getLaunchConfiguration());
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
deleted file mode 100644
index a4d636c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupExtension.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-
-
-/**
- * Proxy to a launch configuration tab group element
- */
-public class LaunchConfigurationTabGroupExtension {
-	
-	/**
-	 * The configuration element defining this tab group.
-	 */
-	private IConfigurationElement fConfig;
-	
-	/**
-	 * Modes this tab group is applicable to or, <code>null</code> if
-	 * default.
-	 */
-	private Set fModes;
-	
-	/**
-	 * Perspectives for each mode
-	 */
-	private Map fPerspectives;
-	
-	/**
-	 * Constructs a launch configuration tab extension based
-	 * on the given configuration element
-	 * 
-	 * @param element the configuration element defining the
-	 *  attribtues of this launch configuration tab extension
-	 * @return a new launch configuration tab extension
-	 */
-	public LaunchConfigurationTabGroupExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets the configuration element that defines the attributes
-	 * for this launch configuration tab group extension.
-	 * 
-	 * @param element configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fConfig = element;
-	}
-	
-	/**
-	 * Returns the configuration element that defines the attributes
-	 * for this launch configuration tab group extension.
-	 * 
-	 * @param configuration element that defines the attributes
-	 *  for this launch configuration tab extension
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfig;
-	}
-	
-	/**
-	 * Returns the type of launch configuration this tab group is associated with
-	 * 
-	 * @return the type of launch configuration this tab group is associated with
-	 */
-	public ILaunchConfigurationType getType() {
-		return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(getTypeIdentifier());
-	}
-	
-	/**
-	 * Returns the set of modes specified in the configuration data, or <code>null</code>
-	 * if none (i.e. default tab group)
-	 * 
-	 * @return the set of modes specified in the configuration data, or
-	 *  <code>null</code>
-	 */
-	protected Set getModes() {
-		if (fModes == null) {
-			IConfigurationElement[] modes= getConfigurationElement().getChildren("launchMode"); //$NON-NLS-1$
-			if (modes.length > 0) {
-				fModes = new HashSet(modes.length);
-				fPerspectives = new Hashtable(modes.length);
-				for (int i = 0; i < modes.length; i++) {
-					IConfigurationElement element = modes[i];
-					String mode = element.getAttribute("mode"); //$NON-NLS-1$
-					fModes.add(mode);
-					String perspective = element.getAttribute("perspective"); //$NON-NLS-1$
-					if (perspective != null) {
-						fPerspectives.put(mode, perspective);
-					}
-				}
-			}
-		}
-		return fModes;
-	}
-	
-	/**
-	 * Returns the perspective associated with the given launch
-	 * mode, as specified in plug-in XML, or <code>null</code> if none.
-	 * 
-	 * @param mode launch mode
-	 * @return perspective identifier, or <code>null</code>
-	 */
-	protected String getPerspective(String mode) {
-		// ensure modes are initialized
-		getModes();
-		String id = null;
-		if (fPerspectives != null) {
-			id = (String)fPerspectives.get(mode);
-		}
-		return id;
-	}
-	
-	/**
-	 * Returns the identifier of the type of launch configuration this
-	 * tab group is associated with
-	 * 
-	 * @return the identifier of the type of launch configuration this
-	 *  tab group is associated with
-	 */	
-	protected String getTypeIdentifier() {
-		return getConfigurationElement().getAttribute("type"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the identifier of the help context associated with this tab
-	 * group, or <code>null</code> if one was not specified.
-	 * 
-	 * @return the identifier of this tab group's help context or
-	 * <code>null</code>
-	 * @since 2.1
-	 */	
-	protected String getHelpContextId() {
-		return getConfigurationElement().getAttribute("helpContextId"); //$NON-NLS-1$		
-	}
-	
-	/**
-	 * Returns a new tab group defined by this extension
-	 * 
-	 * @return a new tab group defined by this extension
-	 * @exception CoreException if an exception occurs instantiating
-	 * 	the tab group
-	 */
-	public ILaunchConfigurationTabGroup newTabGroup() throws CoreException {
-		return (ILaunchConfigurationTabGroup)getConfigurationElement().createExecutableExtension("class"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns this tab group's description in the given mode.
-	 *
-	 * @param mode the mode
-	 * @return a description of the Launch Mode if available. If not available, attempts to return
-	 * a description of the Launch Configuration. If no appropriate description is found an empty string is returned.
-	 */
-	public String getDescription(String mode) {
-		String description = null;
-		
-		IConfigurationElement[] children = fConfig.getChildren("launchMode"); //$NON-NLS-1$
-		if (children!= null && children.length != 0) {
-			for (int i=0; i<children.length; i++) {
-				IConfigurationElement child = children[i];
-				if (child.getAttribute("mode").equals(mode)) { //$NON-NLS-1$
-					description = child.getAttribute("description"); //$NON-NLS-1$
-				}
-			}
-		} 
-		if (description == null){
-			description = fConfig.getAttribute("description"); //$NON-NLS-1$
-		}
-		
-		if (description == null)
-			description = ""; //$NON-NLS-1$
-		
-		return description;
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
deleted file mode 100644
index 627aaad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabGroupViewer.java
+++ /dev/null
@@ -1,1267 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-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.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * A viewer that displays tabs for a launch configuration, with apply and revert
- * buttons.
- */
-public class LaunchConfigurationTabGroupViewer extends Viewer {
-	
-	/**
-	 * Containing launch dialog
-	 */
-	private ILaunchConfigurationDialog fDialog;
-	
-	/**
-	 * The this viewer's input
-	 */
-	private Object fInput;
-	
-	/**
-	 * The launch configuration (original) being edited
-	 */
-	private ILaunchConfiguration fOriginal;
-	
-	/**
-	 * The working copy of the original
-	 */
-	private ILaunchConfigurationWorkingCopy fWorkingCopy;
-	
-	/**
-	 * This view's control, which contains a composite area of controls
-	 */
-	private Composite fViewerControl;
-	
-	/**
-	 * The composite which is hidden/displayed as tabs are required.
-	 */
-	private Composite fVisibleArea;
-	
-	/**
-	 * Name label widget
-	 */
-	private Label fNameLabel;
-	
-	/**
-	 * Name text widget
-	 */
-	private Text fNameWidget;
-	
-	/**
-	 * Composite containing the launch config tab widgets
-	 */
-	private Composite fTabComposite;
-	
-	/**
-	 * Tab folder
-	 */
-	private TabFolder fTabFolder;
-	
-	/**
-	 * The current tab group being displayed
-	 */
-	private ILaunchConfigurationTabGroup fTabGroup;
-
-	/**
-	 * The type of config tabs are currently displayed
-	 * for
-	 */
-	private ILaunchConfigurationType fTabType;	
-	
-	/**
-	 * Index of the active tab
-	 */
-	private int fCurrentTabIndex = -1;
-	
-	/**
-	 * Apply & Revert buttons
-	 */
-	private Button fApplyButton;
-	private Button fRevertButton;
-	
-	/**
-	 * Whether tabs are currently being disposed or initialized
-	 */
-	private boolean fDisposingTabs = false;
-	private boolean fInitializingTabs = false;
-
-	/**
-	 * Controls when the redraw flag is set on the visible area
-	 */
-	private boolean fRedraw = true;
-
-	/**
-	 * The description of the currently selected launch configuration or
-	 * launch configuration type or <code>null</code> if none.
-	 */
-	private String fDescription = null;
-
-	/**
-	 * Constructs a viewer in the given composite, contained by the given
-	 * launch configuration dialog.
-	 * 
-	 * @param parent composite containing this viewer
-	 * @param dialog containing launch configuration dialog
-	 */
-	public LaunchConfigurationTabGroupViewer(Composite parent, ILaunchConfigurationDialog dialog) {
-		super();
-		fDialog = dialog;
-		createControl(parent);
-	}
-	
-	/**
-	 * Cleanup
-	 */
-	public void dispose() {
-		disposeTabGroup();
-	}
-
-	/**
-	 * Dispose the active tab group, if any.
-	 */
-	protected void disposeTabGroup() {
-		if (getTabGroup() != null) {
-			getTabGroup().dispose();
-			setTabGroup(null);
-			setTabType(null);
-		}
-	}	
-	
-	/**
-	 * Creates this viewer's control This area displays the name of the launch
-	 * configuration currently being edited, as well as a tab folder of tabs
-	 * that are applicable to the launch configuration.
-	 *
-	 * @return the composite used for launch configuration editing
-	 */
-	private void createControl(Composite parent) {
-		Font font = parent.getFont();
-		fViewerControl = new Composite(parent, SWT.NONE);
-		GridLayout outerCompLayout = new GridLayout();
-		outerCompLayout.numColumns = 1;
-		outerCompLayout.marginHeight = 0;
-		outerCompLayout.marginWidth = 0;
-		fViewerControl.setLayout(outerCompLayout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fViewerControl.setLayoutData(gd);
-		
-		Composite container = new Composite(fViewerControl, SWT.NONE);
-		outerCompLayout = new GridLayout();
-		outerCompLayout.numColumns = 2;
-		outerCompLayout.marginHeight = 0;
-		outerCompLayout.marginWidth = 5;
-		container.setLayout(outerCompLayout);
-		gd = new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-		setVisibleArea(container);
-
-		fNameLabel = new Label(container, SWT.HORIZONTAL | SWT.LEFT);
-		fNameLabel.setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.&Name__16")); //$NON-NLS-1$
-		gd = new GridData(GridData.BEGINNING);
-		fNameLabel.setLayoutData(gd);
-		fNameLabel.setFont(font);
-		
-		Text nameText = new Text(container, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		nameText.setLayoutData(gd);
-		nameText.setFont(font);
-		setNameWidget(nameText);
-
-		getNameWidget().addModifyListener(
-			new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					handleNameModified();
-				}
-			}
-		);
-
-		Label spacer = new Label(container, SWT.NONE);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		spacer.setLayoutData(gd);
-
-		fTabComposite = new Composite(container, SWT.NONE);
-		GridLayout outerTabCompositeLayout = new GridLayout();
-		outerTabCompositeLayout.marginHeight = 0;
-		outerTabCompositeLayout.marginWidth = 0;
-		fTabComposite.setLayout(outerTabCompositeLayout);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		fTabComposite.setLayoutData(gd);
-
-		createTabFolder(fTabComposite);
-
-		Composite buttonComp = new Composite(container, SWT.NONE);
-		GridLayout buttonCompLayout = new GridLayout();
-		buttonCompLayout.numColumns = 2;
-		buttonComp.setLayout(buttonCompLayout);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 2;
-		buttonComp.setLayoutData(gd);
-
-		setApplyButton(new Button(buttonComp, SWT.PUSH));
-		getApplyButton().setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.&Apply_17")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		getApplyButton().setLayoutData(gd);
-		getApplyButton().setFont(font);
-		SWTUtil.setButtonDimensionHint(getApplyButton());
-		getApplyButton().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleApplyPressed();
-			}
-		});
-
-		setRevertButton(new Button(buttonComp, SWT.PUSH));
-		getRevertButton().setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Revert_2"));   //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		getRevertButton().setLayoutData(gd);
-		getRevertButton().setFont(font);
-		SWTUtil.setButtonDimensionHint(getRevertButton());
-		getRevertButton().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleRevertPressed();
-			}
-		});
-
-	}
-	
-	private void createTabFolder(Composite parent) {
-		Point size = null;
-		if (fTabFolder != null) {
-			size = fTabFolder.getSize();
-			fTabFolder.dispose();
-		}
-		fTabFolder = new TabFolder(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fTabFolder.setLayoutData(gd);
-		fTabFolder.setFont(parent.getFont());
-		if (size != null) {
-			fTabFolder.setSize(size);
-		}
-		getTabFolder().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				if (!isInitializingTabs()) {
-					handleTabSelected();
-				}
-			}
-		});		
-	}
-	
-	/**
-	 * Sets the apply button
-	 */
-	private void setApplyButton(Button button) {
-		fApplyButton = button;
-	}
-	
-	/**
-	 * Returns the apply button
-	 */
-	protected Button getApplyButton() {
-		return fApplyButton;
-	}	
-	
-	/**
-	 * Sets the revert button
-	 */
-	private void setRevertButton(Button button) {
-		fRevertButton = button;
-	}	
-	
-	/**
-	 * Returns the revert button
-	 */
-	protected Button getRevertButton() {
-		return fRevertButton;
-	}	
-	
-	/**
-	 * Sets the tab folder
-	 */
-	protected TabFolder getTabFolder() {
-		return fTabFolder;
-	}
-		
-	/**
-	 * Returns the name widget
-	 */
-	private Text getNameWidget() {
-		return fNameWidget;
-	}
-	
-	/**
-	 * Sets the name widget
-	 */
-	private void setNameWidget(Text nameText) {
-		fNameWidget = nameText;
-	}
-	
-	/**
-	 * Sets the current name
-	 */
-	public void setName(String name) {
-		if (getWorkingCopy() != null) {
-			if (name == null) {
-				name = ""; //$NON-NLS-1$
-			}
-			getNameWidget().setText(name.trim());
-			refreshStatus();
-		}
-	}	
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#getControl()
-	 */
-	public Control getControl() {
-		return fViewerControl;
-	}
-	
-	/**
-	 * Returns the shell this viewer is contained in.
-	 */
-	protected Shell getShell() {
-		return getControl().getShell();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IInputProvider#getInput()
-	 */
-	public Object getInput() {
-		return fInput;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-	 */
-	public ISelection getSelection() {
-		if (getActiveTab() == null) {
-			return new StructuredSelection();
-		} else {
-			return new StructuredSelection(getActiveTab());
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#refresh()
-	 */
-	public void refresh() {
-		if (isInitializingTabs()) {
-			return;
-		}
-		
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (!isInitializingTabs() && tabs != null) {
-			// update the working copy from the active tab
-			getActiveTab().performApply(getWorkingCopy());
-			updateButtons();
-			// update error ticks
-			TabFolder folder = getTabFolder();
-			for (int i = 0; i < tabs.length; i++) {
-				ILaunchConfigurationTab tab = tabs[i];
-				tab.isValid(getWorkingCopy());
-				boolean error = tab.getErrorMessage() != null;
-				TabItem item = folder.getItem(i);
-				setTabIcon(item, error, tab);
-			}		
-		}
-	}
-
-	private void updateButtons() {
-		boolean dirty = isDirty();
-		getApplyButton().setEnabled(dirty && canSave());
-		getRevertButton().setEnabled(dirty);
-	}
-	
-	/**
-	 * Set the specified tab item's icon to an error icon if <code>error</code> is true,
-	 * or a transparent icon of the same size otherwise.
-	 */
-	private void setTabIcon(TabItem tabItem, boolean error, ILaunchConfigurationTab tab) {
-		Image image = null;
-		if (error) {
-			image = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getErrorTabImage(tab);
-		} else {
-			image = tab.getImage();
-		}
-		tabItem.setImage(image);
-	}	
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
-	 */
-	public void setInput(Object input) {
-		if (input == null) {
-			if (fInput == null) {
-				return;
-			} else {
-				inputChanged(input);
-			}
-		} else {
-			if (!input.equals(fInput)) {
-				inputChanged(input);
-			}
-		}
-	}
-	
-	/**
-	 * The input has changed to the given object, possibly <code>null</code>.
-	 * 
-	 * @param input the new input, possibly <code>null</code>
-	 */
-	protected void inputChanged(Object input) {
-		fInput = input;
-		Runnable r = new Runnable() {
-			public void run() {
-				try {
-					if (fInput instanceof ILaunchConfiguration) {
-						ILaunchConfiguration configuration = (ILaunchConfiguration)fInput;
-						setOriginal(configuration);
-						setWorkingCopy(configuration.getWorkingCopy());
-						displayInstanceTabs();
-					} else if (fInput instanceof ILaunchConfigurationType) {
-						ILaunchConfiguration configuration = LaunchConfigurationManager.getSharedTypeConfig((ILaunchConfigurationType)fInput);
-						setOriginal(configuration);
-						setWorkingCopy(configuration.getWorkingCopy());
-						displaySharedTabs();
-					} else {
-						setNoInput();
-					}
-					setRedraw(true);
-				} catch (CoreException ce) {
-					errorDialog(ce);
-					setNoInput();
-					setRedraw(true);
-				}
-			}
-		};
-		BusyIndicator.showWhile(getShell().getDisplay(), r);
-	}
-	
-	private void setNoInput() {
-		setOriginal(null);
-		setWorkingCopy(null);
-		getVisibleArea().setVisible(false);
-		disposeExistingTabs();				
-	}
-	
-	private void setRedraw(boolean b) {
-		if (fRedraw != b) {
-			fRedraw = b;
-			getVisibleArea().setRedraw(fRedraw);
-		}	
-	}	
-	/**
-	 * Displays tabs for the current working copy
-	 */
-	protected void displayInstanceTabs() {
-		// Turn on initializing flag to ignore message updates
-		setInitializingTabs(true);
-
-		ILaunchConfigurationType type = null;
-		try {
-			type = getWorkingCopy().getType();
-			showInstanceTabsFor(type);
-		} catch (CoreException e) {
-			errorDialog(e);
-			setInitializingTabs(false);
-			return;
-		}
-
-		// show the name area
-		fNameLabel.setVisible(true);
-		fNameWidget.setVisible(true);
-		// Update the name field before to avoid verify error
-		getNameWidget().setText(getWorkingCopy().getName());
-
-		// Retrieve the current tab group.  If there is none, clean up and leave
-		ILaunchConfigurationTabGroup tabGroup = getTabGroup();
-		if (tabGroup == null) {
-			IStatus status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationTabGroupViewer.No_tabs_defined_for_launch_configuration_type_{0}_1"), new String[]{type.getName()}), null); //$NON-NLS-1$
-			CoreException e = new CoreException(status);
-			errorDialog(e);
-			setInitializingTabs(false);
-			return;
-		}
-
-		// Update the tabs with the new working copy
-		tabGroup.initializeFrom(getWorkingCopy());
-
-		// Update the name field after in case client changed it
-		getNameWidget().setText(getWorkingCopy().getName());
-		
-		fCurrentTabIndex = getTabFolder().getSelectionIndex();
-
-		// Turn off initializing flag to update message
-		setInitializingTabs(false);
-		
-		if (!getVisibleArea().isVisible()) {
-			getVisibleArea().setVisible(true);
-		}
-		
-		refreshStatus();		
-	}
-	
-	/**
-	 * Displays tabs for the current config type
-	 */
-	protected void displaySharedTabs() {
-		// Turn on initializing flag to ignore message updates
-		setInitializingTabs(true);
-
-		ILaunchConfigurationType type = null;
-		try {
-			type = getWorkingCopy().getType();
-			showSharedTabsFor(type);
-		} catch (CoreException e) {
-			errorDialog(e);
-			setInitializingTabs(false);
-			return;
-		}
-
-		// hide the name area
-		fNameLabel.setVisible(false);
-		fNameWidget.setVisible(false);
-		// Update the name field before to avoid verify error
-		getNameWidget().setText(getWorkingCopy().getName());
-
-		// Retrieve the current tab group.  If there is none, clean up and leave
-		ILaunchConfigurationTabGroup tabGroup = getTabGroup();
-		if (tabGroup == null) {
-			IStatus status = new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationTabGroupViewer.No_tabs_defined_for_launch_configuration_type_{0}_1"), new String[]{type.getName()}), null); //$NON-NLS-1$
-			CoreException e = new CoreException(status);
-			errorDialog(e);
-			setInitializingTabs(false);
-			return;
-		}
-
-		// Update the tabs with the new working copy
-		tabGroup.initializeFrom(getWorkingCopy());
-
-		// Update the name field after in case client changed it
-		getNameWidget().setText(getWorkingCopy().getName());
-		
-		fCurrentTabIndex = getTabFolder().getSelectionIndex();
-
-		// Turn off initializing flag to update message
-		setInitializingTabs(false);
-		
-		if (!getVisibleArea().isVisible()) {
-			getVisibleArea().setVisible(true);
-		}
-		
-		fDescription = getDescription(null);
-		
-		refreshStatus();		
-	}	
-	
-	/**
-	 * Populate the tabs in the configuration edit area to be appropriate to the current
-	 * launch configuration type.
-	 */
-	private void showInstanceTabsFor(ILaunchConfigurationType configType) {
-
-		// Don't do any work if the current tabs are for the current config type
-		if (getTabType() != null && getTabType().equals(configType) && !(getTabGroup() instanceof PerspectiveTabGroup)) {
-			return;
-		}
-
-		// Build the new tabs
-		ILaunchConfigurationTabGroup group = null;
-		try {
-			group = createGroup(configType);
-		} catch (CoreException ce) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_creating_launch_configuration_tabs_27"),ce); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-
-		showTabsFor(group);
-		setTabGroup(group);
-		setTabType(configType);
-		
-		fDescription = getDescription(configType);
-	}	
-
-	/**
-	 * Returns the description of the given configuration type
-	 * in the current mode or <code>null</code> if none.
-	 * 
-	 * @param configType the config type
-	 * @return the description of the given configuration type or <code>null</code>
-	 */
-	private String getDescription(ILaunchConfigurationType configType) {
-		String description = null;
-		if(configType != null) {
-			String mode = fDialog.getMode();
-			LaunchConfigurationPresentationManager manager = LaunchConfigurationPresentationManager.getDefault();
-			LaunchConfigurationTabGroupExtension extension = manager.getExtension(configType.getAttribute("id"), mode); //$NON-NLS-1$
-			description = extension.getDescription(mode);
-		}
-	
-		if (description == null)
-			description = ""; //$NON-NLS-1$
-		
-		return description;
-	}
-	
-	/**
-	 * Populate the tabs in the configuration edit area for the shared info
-	 * for the given launch config type.
-	 */
-	private void showSharedTabsFor(ILaunchConfigurationType configType) {
-
-		// Don't do any work if the current tabs are for the current config type
-		if (getTabType() != null && getTabType().equals(configType) && (getTabGroup() instanceof PerspectiveTabGroup)) {
-			return;
-		}		
-		
-		// Build the new tabs
-		ILaunchConfigurationTabGroup group = new PerspectiveTabGroup(configType);
-		group.createTabs(getLaunchConfigurationDialog(), getLaunchConfigurationDialog().getMode());
-		ILaunchConfigurationTab[] tabs = group.getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].setLaunchConfigurationDialog(getLaunchConfigurationDialog());
-		}
-				
-		showTabsFor(group);
-		setTabType(configType);
-		setTabGroup(group);		
-	}		
-
-	/**
-	 * Create the tabs in the configuration edit area for the given tab group.
-	 */
-	private void showTabsFor(ILaunchConfigurationTabGroup tabGroup) {
-		// turn off redraw
-		setRedraw(false);
-		// Dispose the current tabs
-		disposeExistingTabs();
-
-		setTabGroup(tabGroup);
-
-		// Create the Control for each tab
-		ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			TabItem tab = new TabItem(getTabFolder(), SWT.NONE);
-			String name = tabs[i].getName();
-			if (name == null) {
-				name = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.unspecified_28"); //$NON-NLS-1$
-			}
-			tab.setText(name);
-			Image image = tabs[i].getImage();
-			tab.setImage(image);
-			tabs[i].createControl(tab.getParent());
-			Control control = tabs[i].getControl();
-			if (control != null) {
-				tab.setControl(control);
-			}
-		}
-
-	}	
-	
-	/**
-	 * Returns tab group for the given type of launch configuration.
-	 * Tabs are initialized to be contained in this dialog.
-	 *
-	 * @exception CoreException if unable to instantiate a tab group
-	 */
-	protected ILaunchConfigurationTabGroup createGroup(final ILaunchConfigurationType configType) throws CoreException {
-		// Use a final Object array to store the tab group and any exception that
-		// results from the Runnable
-		final Object[] finalArray = new Object[2];
-		Runnable runnable = new Runnable() {
-			public void run() {
-				ILaunchConfigurationTabGroup tabGroup = null;
-				try {
-					tabGroup = LaunchConfigurationPresentationManager.getDefault().getTabGroup(configType, getLaunchConfigurationDialog().getMode());
-					finalArray[0] = tabGroup;
-				} catch (CoreException ce) {
-					finalArray[1] = ce;
-					return;
-				}
-				tabGroup.createTabs(getLaunchConfigurationDialog(), getLaunchConfigurationDialog().getMode());
-				ILaunchConfigurationTab[] tabs = tabGroup.getTabs();
-				for (int i = 0; i < tabs.length; i++) {
-					tabs[i].setLaunchConfigurationDialog(getLaunchConfigurationDialog());
-				}
-			}
-		};
-
-		// Creating the tabs can result in plugin loading, so we show the busy cursor
-		BusyIndicator.showWhile(getControl().getDisplay(), runnable);
-
-		// Re-throw any CoreException if there was one
-		if (finalArray[1] != null) {
-			throw (CoreException)finalArray[1];
-		}
-
-		// Otherwise return the tab group
-		return (ILaunchConfigurationTabGroup)finalArray[0];
-	}	
-
-	/**
-	 * @see org.eclipse.jface.viewers.Viewer#setSelection(org.eclipse.jface.viewers.ISelection, boolean)
-	 */
-	public void setSelection(ISelection selection, boolean reveal) {
-		if (getWorkingCopy() != null) {
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-				Object object = structuredSelection.getFirstElement();
-				if (object instanceof ILaunchConfigurationTab) {
-					ILaunchConfigurationTab[] tabs = getTabs();
-					for (int i = 0; i < tabs.length; i++) {
-						ILaunchConfigurationTab tab = tabs[i];
-						if (tab.equals(object)) {
-							fCurrentTabIndex = i;
-							getTabFolder().setSelection(i);
-						}
-						return;
-					}
-				}
-			}
-		}
-			
-	}
-
-	/**
-	 * Returns the tabs currently being displayed, or
-	 * <code>null</code> if none.
-	 *
-	 * @return currently displayed tabs, or <code>null</code>
-	 */
-	public ILaunchConfigurationTab[] getTabs() {
-		if (getTabGroup() != null) {
-			return getTabGroup().getTabs();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the currently active <code>ILaunchConfigurationTab</code>
-	 * being displayed, or <code>null</code> if there is none.
-	 *
-	 * @return currently active <code>ILaunchConfigurationTab</code>, or <code>null</code>.
-	 */
-	public ILaunchConfigurationTab getActiveTab() {
-		TabFolder folder = getTabFolder();
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (folder != null && tabs != null) {
-			int pageIndex = folder.getSelectionIndex();
-			if (pageIndex >= 0) {
-				return tabs[pageIndex];
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns whether the launch configuration being edited is dirty (i.e.
-	 * needs saving)
-	 * 
-	 * @return whether the launch configuration being edited needs saving
-	 */
-	public boolean isDirty() {
-		ILaunchConfigurationWorkingCopy workingCopy = getWorkingCopy();
-		if (workingCopy == null) {
-			return false;
-		}
-
-		// Working copy hasn't been saved
-		if (workingCopy.getOriginal() == null) {
-			return true;
-		}
-
-		ILaunchConfiguration original = getOriginal();
-		return !original.contentsEqual(workingCopy);
-	}
-	
-	/**
-	 * Update apply & revert buttons, as well as buttons and message on the
-	 * launch config dialog.
-	 */
-	protected void refreshStatus() {
-		if (!isInitializingTabs()) {
-			getLaunchConfigurationDialog().updateButtons();
-			getLaunchConfigurationDialog().updateMessage();
-		}
-	}	
-	
-	/**
-	 * Returns the containing launch dialog
-	 */
-	protected ILaunchConfigurationDialog getLaunchConfigurationDialog() {
-		return fDialog;
-	}
-	
-	/**
-	 * Sets the launch configuration being displayed/edited, possilby
-	 * <code>null</code>.
-	 */
-	private void setOriginal(ILaunchConfiguration configuration) {
-		fOriginal = configuration;
-	}
-	
-	/**
-	 * Returns the original launch configuration being edited, possibly
-	 * <code>null</code>.
-	 * 
-	 * @return ILaunchConfiguration
-	 */
-	protected ILaunchConfiguration getOriginal() {
-		return fOriginal;
-	}
-	
-	/**
-	 * Sets the working copy used to edit the original.
-	 */
-	private void setWorkingCopy(ILaunchConfigurationWorkingCopy workingCopy) {
-		fWorkingCopy = workingCopy;
-	}
-	
-	/**
-	 * Returns the working copy used to edit the original, possibly
-	 * <code>null</code>.
- 	 */
-	protected ILaunchConfigurationWorkingCopy getWorkingCopy() {
-		return fWorkingCopy;
-	}
-	
-	/**
-	 * Return whether the current configuration can be saved.
-	 * <p>
-	 * Note this is NOT the same thing as the config simply being valid. It
-	 * is possible to save a config that does not validate. This method
-	 * determines whether the config can be saved without causing a serious
-	 * error. For example, a shared config that has no specified location would
-	 * cause this method to return <code>false</code>.
-	 * </p>
-	 */
-	public boolean canSave() {
-		if (isInitializingTabs()) {
-			return false;
-		}
-		// First make sure that name doesn't prevent saving the config
-		try {
-			verifyName();
-		} catch (CoreException ce) {
-			return false;
-		}
-
-		// Next, make sure none of the tabs object to saving the config
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (tabs == null) {
-			return false;
-		}
-		for (int i = 0; i < tabs.length; i++) {
-			if (!tabs[i].canSave()) {
-				return false;
-			}
-		}
-		return true;
-	}	
-	
-	/**
-	 * @see ILaunchConfigurationDialog#canLaunch()
-	 */
-	public boolean canLaunch() {
-		if(isInitializingTabs()) {
-			return false;
-		}
-		
-		if (getActiveTab() instanceof PerspectivesTab) {
-			return false;
-		}
-		
-		if (getWorkingCopy() == null) {
-			return false;
-		}
-		try {
-			verifyName();
-		} catch (CoreException e) {
-			return false;
-		}
-
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (tabs == null) {
-			return false;
-		}
-		for (int i = 0; i < tabs.length; i++) {
-			if (!tabs[i].isValid(getWorkingCopy())) {
-				return false;
-			}
-		}
-		return true;
-	}	
-	
-	/**
-	 * Returns the current error message or <code>null</code> if none.
-	 */
-	public String getErrorMesssage() {
-		if (isInitializingTabs()) {
-			return null;
-		}
-		
-		if (getWorkingCopy() == null) {
-			return null;
-		}
-		try {
-			verifyName();
-		} catch (CoreException ce) {
-			return ce.getStatus().getMessage();
-		}
-	
-		String message = null;
-		ILaunchConfigurationTab activeTab = getActiveTab();
-		if (activeTab == null) {
-			return null;
-		} else {
-			message = activeTab.getErrorMessage();
-		}
-		if (message != null) {
-			return message;
-		}
-		
-		ILaunchConfigurationTab[] allTabs = getTabs();
-		for (int i = 0; i < allTabs.length; i++) {
-			ILaunchConfigurationTab tab = allTabs[i];
-			if (tab == activeTab) {
-				continue;
-			}
-			message = tab.getErrorMessage();
-			if (message != null) {
-				StringBuffer temp= new StringBuffer();
-				temp.append('[');
-				temp.append(removeAmpersandsFrom(tab.getName()));
-				temp.append("]: "); //$NON-NLS-1$
-				temp.append(message);
-				return temp.toString();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Return a copy of the specified string without ampersands.
-	 */
-	private String removeAmpersandsFrom(String string) {
-		String newString = new String(string);
-		int index = newString.indexOf('&');
-		while (index != -1) {
-			newString = string.substring(0, index) + newString.substring(index + 1, newString.length());
-			index = newString.indexOf('&');
-		}
-		return newString;
-	}	
-	
-	/**
-	 * Returns the current message or <code>null</code> if none.
-	 * @return Returns an appropriate message for display to user. The message returned will be:
-	 * The message defined by the visible tab,
-	 * or The tab group description for the particular launch mode,
-	 * or The generic tab group description,
-	 * or <code>null</code> if no message is defined 
-	 */
-	public String getMessage() {
-		if (isInitializingTabs()) {
-			return null;
-		}
-		
-		String message = fDescription;
-		
-		ILaunchConfigurationTab tab = getActiveTab();
-		if (tab != null) {
-			String tabMessage = tab.getMessage();
-			if (tabMessage != null) {
-				message = tabMessage;
-			}
-		}
-		
-		return message;
-	}	
-		
-	/**
-	 * Verify that the launch configuration name is valid.
-	 */
-	protected void verifyName() throws CoreException {
-		if (fNameWidget.isVisible()) {
-			String currentName = getNameWidget().getText().trim();
-	
-			// If there is no name, complain
-			if (currentName.length() < 1) {
-				throw new CoreException(new Status(IStatus.ERROR,
-													 DebugUIPlugin.getUniqueIdentifier(),
-													 0,
-													 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Name_required_for_launch_configuration_11"), //$NON-NLS-1$
-													 null));
-			}
-	
-			// See if name contains any 'illegal' characters
-			IStatus status = ResourcesPlugin.getWorkspace().validateName(currentName, IResource.FILE);
-			if (status.getCode() != IStatus.OK) {
-				throw new CoreException(new Status(IStatus.ERROR,
-													 DebugUIPlugin.getUniqueIdentifier(),
-													 0,
-													 status.getMessage(),
-													 null));
-			}
-	
-			// Otherwise, if there's already a config with the same name, complain
-			if (!getOriginal().getName().equals(currentName)) {
-				if (getLaunchManager().isExistingLaunchConfigurationName(currentName)) {
-					throw new CoreException(new Status(IStatus.ERROR,
-														 DebugUIPlugin.getUniqueIdentifier(),
-														 0,
-														 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_configuration_already_exists_with_this_name_12"), //$NON-NLS-1$
-														 null));
-				}
-			}
-		}
-	}
-	
-	private void setDisposingTabs(boolean disposing) {
-		fDisposingTabs = disposing;
-	}
-
-	private boolean isDisposingTabs() {
-		return fDisposingTabs;
-	}
-	
-	private void setInitializingTabs(boolean initializing) {
-		fInitializingTabs = initializing;
-	}
-
-	private boolean isInitializingTabs() {
-		return fInitializingTabs;
-	}		
-	
-	private void disposeExistingTabs() {
-		setDisposingTabs(true);
-		TabItem[] oldTabs = getTabFolder().getItems();
-		for (int i = 0; i < oldTabs.length; i++) {
-			oldTabs[i].dispose();
-		}
-		createTabFolder(fTabComposite);
-		disposeTabGroup();
-		setDisposingTabs(false);
-	}	
-	
-	private ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Returns the type that tabs are currently displayed
-	 * for, or <code>null</code> if none.
-	 *
-	 * @return launch configuration type or <code>null</code>
-	 */
-	private ILaunchConfigurationType getTabType() {
-		return fTabType;
-	}
-
-	/**
-	 * Sets the type that tabs are currently displayed
-	 * for, or <code>null</code> if none.
-	 *
-	 * @param tabType launch configuration type
-	 */
-	private void setTabType(ILaunchConfigurationType tabType) {
-		fTabType = tabType;
-	}	
-	
-	/**
-	 * Sets the current tab group being displayed
-	 *
-	 * @param group the current tab group being displayed
-	 */
-	private void setTabGroup(ILaunchConfigurationTabGroup group) {
-		fTabGroup = group;
-	}
-
-	/**
-	 * Returns the current tab group
-	 *
-	 * @return the current tab group, or <code>null</code> if none
-	 */
-	public ILaunchConfigurationTabGroup getTabGroup() {
-		return fTabGroup;
-	}
-	
-	/**
-	 * Notification that a tab has been selected
-	 *
-	 * Disallow tab changing when the current tab is invalid.
-	 * Update the config from the tab being left, and refresh
-	 * the tab being entered.
-	 */
-	protected void handleTabSelected() {
-		if (isDisposingTabs()) {
-			return;
-		}
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (fCurrentTabIndex == getTabFolder().getSelectionIndex() || tabs == null || tabs.length == 0 || fCurrentTabIndex > (tabs.length - 1)) {
-			return;
-		}
-		if (fCurrentTabIndex != -1) {
-			ILaunchConfigurationTab tab = tabs[fCurrentTabIndex];
-			ILaunchConfigurationWorkingCopy wc = getWorkingCopy();
-			if (wc != null) {
-				tab.deactivated(wc);
-				getActiveTab().activated(wc);
-			}
-		}
-		fCurrentTabIndex = getTabFolder().getSelectionIndex();
-		SelectionChangedEvent event = new SelectionChangedEvent(this, getSelection());
-		fireSelectionChanged(event);
-	}
-	
-	/**
-	 * Notification the name field has been modified
-	 */
-	protected void handleNameModified() {
-		getWorkingCopy().rename(getNameWidget().getText().trim());
-		refreshStatus();
-	}		
-	
-	/**
-	 * Notification that the 'Apply' button has been pressed
-	 */
-	protected void handleApplyPressed() {
-		try {
-			// trim name
-			Text widget = getNameWidget();
-			String name = widget.getText();
-			String trimmed = name.trim();
-
-			// update launch config
-			setInitializingTabs(true);
-			if (!name.equals(trimmed)) {
-				widget.setText(trimmed);
-			}
-			getWorkingCopy().rename(trimmed);
-			getTabGroup().performApply(getWorkingCopy());
-			setInitializingTabs(false);
-			//
-			
-			if (isDirty()) {
-				getWorkingCopy().doSave();
-			}
-			updateButtons();
-		} catch (CoreException e) {
-			DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configuration_Error_46"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Exception_occurred_while_saving_launch_configuration_47"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-	}
-
-	/**
-	 * Notification that the 'Revert' button has been pressed
-	 */
-	protected void handleRevertPressed() {
-		if (getActiveTab() instanceof PerspectivesTab) {
-			inputChanged(getTabType());	
-		} else {
-			inputChanged(getOriginal());
-		}
-	}	
-	
-	/**
-	 * Show an error dialog on the given exception.
-	 *
-	 * @param exception
-	 */
-	protected void errorDialog(CoreException exception) {
-		ErrorDialog.openError(getShell(), null, null, exception.getStatus());
-	}	
-	
-	protected void setVisibleArea(Composite control) {
-		fVisibleArea = control;
-	}
-	
-	protected Composite getVisibleArea() {
-		return fVisibleArea;
-	}
-	
-	/**
-	 * Sets the displayed tab to the given tab. Has no effect if the specified
-	 * tab is not one of the tabs being displayed in the dialog currently.
-	 * 
-	 * @param tab the tab to display/activate
-	 */
-	public void setActiveTab(ILaunchConfigurationTab tab) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			ILaunchConfigurationTab configurationTab = tabs[i];
-			if (configurationTab.equals(tab)) {
-				setActiveTab(i);
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Sets the displayed tab to the tab with the given index. Has no effect if
-	 * the specified index is not within the limits of the tabs returned by
-	 * <code>getTabs()</code>.
-	 * 
-	 * @param index the index of the tab to dispay
-	 */
-	public void setActiveTab(int index) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (index >= 0 && index < tabs.length) {
-			getTabFolder().setSelection(index);
-			handleTabSelected();
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
deleted file mode 100644
index 6d06a63..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTabImageDescriptor.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A JDIImageDescriptor consists of a main icon and several adornments. The adornments
- * are computed according to flags set on creation of the descriptor.
- */
-public class LaunchConfigurationTabImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render the error adornment */
-	public final static int ERROR= 		0x001;
-
-	private Image fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new JDIImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 * 
-	 */
-	public LaunchConfigurationTabImageDescriptor(Image baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data= getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof LaunchConfigurationTabImageDescriptor)){
-			return false;
-		}
-			
-		LaunchConfigurationTabImageDescriptor other= (LaunchConfigurationTabImageDescriptor)object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg= getBaseImage().getImageData();
-		if (bg == null) {
-			bg= DEFAULT_IMAGE_DATA;
-		}
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags= getFlags();
-		ImageData data= null;
-		if ((flags & ERROR) != 0) {
-			data= DebugUITools.getImage(IDebugUIConstants.IMG_OVR_ERROR).getImageData();
-			drawImage(data, 0, 0);
-		}
-	}
-	
-	protected Image getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(Image baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
deleted file mode 100644
index e20341b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTreeContentProvider.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * Content provider for representing launch configuration types & launch configurations in a tree.
- * 
- * @since 2.1
- */
-public class LaunchConfigurationTreeContentProvider implements ITreeContentProvider {
-
-	/**
-	 * Empty Object array
-	 */
-	private static final Object[] EMPTY_ARRAY = new Object[0];	
-	
-	/**
-	 * The mode in which the tree is being shown, one of <code>RUN_MODE</code> 
-	 * or <code>DEBUG_MODE</code> defined in <code>ILaunchManager</code>.
-	 * If this is <code>null</code>, then it means both modes are being shown.
-	 */
-	private String fMode;
-	
-	/**
-	 * The Shell context
-	 */
-	private Shell fShell;
-	
-	public LaunchConfigurationTreeContentProvider(String mode, Shell shell) {
-		setMode(mode);
-		setShell(shell);
-	}
-
-	/**
-	 * Actual launch configurations have no children.  Launch configuration types have
-	 * all configurations of that type as children, minus any configurations that are 
-	 * marked as private.
-	 * <p>
-	 * In 2.1, the <code>category</code> attribute was added to launch config
-	 * types. The debug UI only displays those configs that do not specify a
-	 * category.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof ILaunchConfiguration) {
-			return EMPTY_ARRAY;
-		} else if (parentElement instanceof ILaunchConfigurationType) {
-			try {
-				ILaunchConfigurationType type = (ILaunchConfigurationType)parentElement;
-				return getLaunchManager().getLaunchConfigurations(type);
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		} else {
-			return getLaunchManager().getLaunchConfigurationTypes();
-		}
-		return EMPTY_ARRAY;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof ILaunchConfiguration) {
-			if (!((ILaunchConfiguration)element).exists()) {
-				return null;
-			}
-			try {
-				return ((ILaunchConfiguration)element).getType();
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Error_19"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		} else if (element instanceof ILaunchConfigurationType) {
-			return ResourcesPlugin.getWorkspace().getRoot();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof ILaunchConfiguration) {
-			return false;
-		} else {
-			return getChildren(element).length > 0;
-		}
-	}
-
-	/**
-	 * Return only the launch configuration types that support the current mode AND
-	 * are marked as 'public'.
-	 * 
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		ILaunchConfigurationType[] allTypes = getLaunchManager().getLaunchConfigurationTypes();
-		return filterTypes(allTypes).toArray();
-	}
-
-	/**
-	 * Returns a list containing the given types minus any types that
-	 * should not be visible. A type should not be visible if it doesn't match
-	 * the current mode or if it matches a disabled activity.
-	 * 
-	 * @param allTypes the types
-	 * @return the given types minus any types that should not be visible.
-	 */
-	private List filterTypes(ILaunchConfigurationType[] allTypes) {
-		List filteredTypes= new ArrayList();
-		String mode = getMode();
-		LaunchConfigurationTypeContribution contribution;
-		for (int i = 0; i < allTypes.length; i++) {
-			ILaunchConfigurationType type = allTypes[i];
-			contribution= new LaunchConfigurationTypeContribution(type);
-			if (isVisible(type, mode) && !WorkbenchActivityHelper.filterItem(contribution)) {
-				filteredTypes.add(type);
-			}
-		}
-		return filteredTypes;
-	}
-
-	/* (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) {
-	}
-	
-	/**
-	 * Return <code>true</code> if the specified launch configuration type should
-	 * be visible in the specified mode, <code>false</code> otherwise.
-	 */
-	private boolean isVisible(ILaunchConfigurationType configType, String mode) {
-		if (!configType.isPublic()) {
-			return false;
-		}
-		if (mode == null) {
-			return true;
-		}
-		return configType.supportsMode(mode);
-	}
-
-	/**
-	 * Convenience method to get the singleton launch manager.
-	 */
-	private ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/**
-	 * Write accessor for the mode value
-	 */
-	private void setMode(String mode) {
-		fMode = mode;
-	}
-	
-	/**
-	 * Read accessor for the mode value
-	 */
-	private String getMode() {
-		return fMode;
-	}
-
-	/**
-	 * Write accessor for the shell value
-	 */
-	private void setShell(Shell shell) {
-		fShell = shell;
-	}
-	
-	/**
-	 * Read accessor for the shell value
-	 */
-	private Shell getShell() {
-		return fShell;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
deleted file mode 100644
index f6920c3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationTypeContribution.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.ui.IPluginContribution;
-
-/**
- * A plug-in contribution (UI element) which contains a launch configuration
- * type (Core element). Plug-in contributions are passed to the workbench
- * activity support to filter elements from the UI.
- */
-class LaunchConfigurationTypeContribution implements IPluginContribution {
-	
-	protected ILaunchConfigurationType type;
-	
-	/**
-	 * Creates a new plug-in contribution for the given type
-	 * 
-	 * @param type the launch configuration type
-	 */
-	public LaunchConfigurationTypeContribution(ILaunchConfigurationType type) {
-		this.type= type;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getLocalId()
-	 */
-	public String getLocalId() {
-		return type.getIdentifier();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getPluginId()
-	 */
-	public String getPluginId() {
-		return type.getPluginIdentifier();
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
deleted file mode 100644
index 883201f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationView.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-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.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.events.HelpEvent;
-import org.eclipse.swt.events.HelpListener;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * A tree view of launch configurations
- */
-public class LaunchConfigurationView extends AbstractDebugView implements ILaunchConfigurationListener {
-	
-	private Viewer fViewer;
-	
-	/**
-	 * The launch group to display
-	 */
-	private LaunchGroupExtension fLaunchGroup;
-	
-	/**
-	 * Actions
-	 */
-	private CreateLaunchConfigurationAction fCreateAction;
-	private DeleteLaunchConfigurationAction fDeleteAction;
-	private DuplicateLaunchConfigurationAction fDuplicateAction;
-	
-	/**
-	 * Whether to automatically select configs that are added
-	 */
-	private boolean fAutoSelect = true;
-	
-	/**
-	 * Constructs a launch configuration view for the given launch group
-	 */
-	public LaunchConfigurationView(LaunchGroupExtension launchGroup) {
-		super();
-		fLaunchGroup = launchGroup;
-	}
-	
-	/**
-	 * Returns the launch group this view is displaying.
-	 * 
-	 * @return the launch group this view is displaying
-	 */
-	protected LaunchGroupExtension getLaunchGroup() {
-		return fLaunchGroup;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		TreeViewer treeViewer = new TreeViewer(parent);
-		treeViewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
-		treeViewer.setSorter(new WorkbenchViewerSorter());
-		treeViewer.setContentProvider(new LaunchConfigurationTreeContentProvider(fLaunchGroup.getMode(), parent.getShell()));
-		treeViewer.addFilter(new LaunchGroupFilter(getLaunchGroup()));
-		treeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		treeViewer.expandAll();
-		treeViewer.getControl().addHelpListener(new HelpListener() {
-			public void helpRequested(HelpEvent evt) {
-				handleHelpRequest(evt);
-			}
-		});
-		getLaunchManager().addLaunchConfigurationListener(this);
-		return treeViewer;
-	}
-	
-	/**
-	 * Handle help events locally rather than deferring to WorkbenchHelp.  This
-	 * allows help specific to the selected config type to be presented.
-	 * 
-	 * @since 2.1
-	 */
-	protected void handleHelpRequest(HelpEvent evt) {
-		if (getTreeViewer().getTree() != evt.getSource()) {
-			return;
-		}
-		try {
-			ISelection selection = getViewer().getSelection();
-			if (!selection.isEmpty() && selection instanceof IStructuredSelection ) {
-				IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-				Object firstSelected = structuredSelection.getFirstElement();
-				ILaunchConfigurationType configType = null;
-				if (firstSelected instanceof ILaunchConfigurationType) {
-					configType = (ILaunchConfigurationType) firstSelected;
-				} else if (firstSelected instanceof ILaunchConfiguration) {
-					configType = ((ILaunchConfiguration) firstSelected).getType();
-				}
-				if (configType != null) {
-					String helpContextId = LaunchConfigurationPresentationManager.getDefault().getHelpContext(configType, getLaunchGroup().getMode());
-					if (helpContextId != null) {
-						WorkbenchHelp.displayHelp(helpContextId);
-					}
-				}
-			}
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(ce);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		
-		fCreateAction = new CreateLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
-		setAction(CreateLaunchConfigurationAction.ID_CREATE_ACTION, fCreateAction);
-		
-		fDeleteAction = new DeleteLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
-		setAction(DeleteLaunchConfigurationAction.ID_DELETE_ACTION, fDeleteAction);
-		setAction(IDebugView.REMOVE_ACTION, fDeleteAction);
-		
-		fDuplicateAction = new DuplicateLaunchConfigurationAction(getViewer(), getLaunchGroup().getMode());
-		setAction(DuplicateLaunchConfigurationAction.ID_DUPLICATE_ACTION, fDuplicateAction);
-		
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_VIEW;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		menu.add(fCreateAction);
-		menu.add(fDuplicateAction);
-		menu.add(fDeleteAction);
-		menu.add(new Separator());
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-	}
-	
-	/**
-	 * Returns this view's tree viewer
-	 * 
-	 * @return this view's tree viewer 
-	 */
-	protected TreeViewer getTreeViewer() {
-		return (TreeViewer)getViewer();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		fCreateAction.dispose();
-		fDeleteAction.dispose();
-		fDuplicateAction.dispose();
-		getLaunchManager().removeLaunchConfigurationListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		try {
-			if (configuration.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false)) {
-				return;
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-			return;
-		}
-		TreeViewer viewer = getTreeViewer();
-		viewer.getControl().setRedraw(false);
-		try {
-			viewer.add(configuration.getType(), configuration);
-			// if moved, remove original now
-			ILaunchConfiguration from = getLaunchManager().getMovedFrom(configuration);
-			if (from != null) {
-				viewer.remove(from);
-			}
-		} catch (CoreException e) {
-		}
-		viewer.getControl().setRedraw(true);
-		if (isAutoSelect()) {
-			getTreeViewer().setSelection(new StructuredSelection(configuration), true);
-		}
-		
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		// if moved, ignore
-		ILaunchConfiguration to = getLaunchManager().getMovedTo(configuration);
-		if (to != null) {
-			return;
-		}
-		
-		ILaunchConfigurationType type = null;
-		int typeIndex= -1; // The index of the deleted configuration's type
-		int configIndex= -1; // The index of the deleted configuration		
-		// Initialize data used to set the selection after deletion
-		TreeItem[] items= getTreeViewer().getTree().getItems();
-		TreeItem typeItem;
-		for (int i= 0, numTypes= items.length; (i < numTypes && type == null); i++) {
-			typeItem= items[i];
-			typeIndex= i;
-			TreeItem[] configs= typeItem.getItems();
-			for (int j= 0, numConfigs= configs.length; j < numConfigs; j++) {
-				if (configuration.equals(configs[j].getData())) {
-					configIndex= j;
-					type = (ILaunchConfigurationType)typeItem.getData();
-					break;
-				}
-			}
-		}			
-			
-		getTreeViewer().remove(configuration);
-		if (getViewer().getSelection().isEmpty()) {
-			IStructuredSelection newSelection= null;
-			if (typeIndex != -1 && configIndex != -1) {
-				// Reset selection to the next config
-				TreeItem[] configItems= getTreeViewer().getTree().getItems()[typeIndex].getItems();
-				int numItems= configItems.length;
-				Object data= null;
-				if (numItems > configIndex) { // Select the item at the same index as the deleted
-					data= configItems[configIndex].getData();
-				} else if (numItems > 0) { // Deleted the last item(s). Select the last item
-					data= configItems[numItems - 1].getData();
-				}
-				if (data != null) {
-					newSelection= new StructuredSelection(data);
-				}
-			}
-			if (newSelection == null && type != null) {
-				// Reset selection to the config type of the first selected configuration
-				newSelection = new StructuredSelection(type);
-			}
-			getTreeViewer().setSelection(newSelection);
-		}
-	}
-
-	/**
-	 * This is similar to IWorkbenchPart#createPartControl(Composite), but it is
-	 * called by the launch dialog when creating the launch config tree view.
-	 * Since this view is not contained in the workbench, we cannot do all the
-	 * usual initialzation (toolbars, etc).
-	 */
-	public void createLaunchDialogControl(Composite parent) {
-		fViewer = createViewer(parent);
-		createActions();
-		createContextMenu(getViewer().getControl());
-		WorkbenchHelp.setHelp(parent, getHelpContextId());
-		getViewer().getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent e) {
-				handleKeyPressed(e);
-			}
-		});
-		if (getViewer() instanceof StructuredViewer) {
-			((StructuredViewer)getViewer()).addDoubleClickListener(this);
-		}
-	}
-	
-	
-
-	/**
-	 * @see org.eclipse.debug.ui.IDebugView#getViewer()
-	 */
-	public Viewer getViewer() {
-		return fViewer;
-	}
-	
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Sets whether to automatically select configs that are
-	 * added into the view (newly created).
-	 * 
-	 * @param select whether to automatically select configs that are
-	 * added into the view (newly created)
-	 */
-	public void setAutoSelect(boolean select) {
-		fAutoSelect = select;
-	}
-	
-	/**
-	 * Returns whether this view is currently configured to
-	 * automatically select newly created configs that are
-	 * added into the view.
-	 * 
-	 * @return whether this view is currently configured to
-	 * automatically select newly created configs
-	 */
-	protected boolean isAutoSelect() {
-		return fAutoSelect;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
deleted file mode 100644
index c26a7d8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsDialog.java
+++ /dev/null
@@ -1,1666 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DialogSettingsHelper;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.PixelConverter;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ControlEnableState;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.operation.ModalContext;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
- 
-
-/**
- * The dialog used to edit and launch launch configurations.
- */
-public class LaunchConfigurationsDialog extends TitleAreaDialog implements ILaunchConfigurationDialog {
-
-	/**
-	 * Keep track of the currently visible dialog instance
-	 */
-	private static ILaunchConfigurationDialog fgCurrentlyVisibleLaunchConfigurationDialog;
-		
-	/**
-	 * The label appearing above tree of configs & config types.
-	 */
-	private Label fTreeLabel;
-	
-	/**
-	 * The Composite used to insert an adjustable 'sash' between the tree and the tabs.
-	 */
-	private SashForm fSashForm;
-	
-	/**
-	 * Default weights for the SashForm that specify how wide the selection and
-	 * edit areas aree relative to each other.
-	 */
-	private static final int[] DEFAULT_SASH_WEIGHTS = new int[] {11, 30};
-	
-	/**
-	 * The launch configuration selection area.
-	 */
-	private Composite fSelectionArea;
-	
-	/**
-	 * Tree view of launch configurations
-	 */
-	private LaunchConfigurationView fLaunchConfigurationView;	
-	
-	/**
-	 * Tab edit area
-	 */
-	private LaunchConfigurationTabGroupViewer fTabViewer;
-		
-	/**
-	 * The launch configuration edit area.
-	 */
-	private Composite fEditArea;
-	
-	/**
-	 * The 'New configuration' action.
-	 */
-	private ButtonAction fButtonActionNew;
-		
-	/**
-	 * The 'Delete configuration' action.
-	 */
-	private ButtonAction fButtonActionDelete;
-		
-	/**
-	 * The 'cancel' button that appears when the in-dialog progress monitor is shown.
-	 */
-	private Button fProgressMonitorCancelButton;
-		
-	/**
-	 * When this dialog is opened in <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code>
-	 * mode, this specifies the selection that is initially shown in the dialog.
-	 */
-	private IStructuredSelection fInitialSelection;
-	
-	/**
-	 * The status to open the dialog on, or <code>null</code> if none.
-	 */
-	private IStatus fInitialStatus;
-		
-	private ProgressMonitorPart fProgressMonitorPart;
-	private Cursor waitCursor;
-	private Cursor arrowCursor;
-	
-	/**
-	 * The number of 'long-running' operations currently taking place in this dialog
-	 */	
-	private long fActiveRunningOperations = 0;
-	
-	/**
-	 * The launch groupd being displayed
-	 */
-	private LaunchGroupExtension fGroup;
-	
-	/**
-	 * Banner image
-	 */
-	private Image fBannerImage;
-	
-	/**
-	 * Double-click action
-	 */
-	private IAction fDoubleClickAction;
-			
-	/**
-	 * Id for 'Launch' button.
-	 */
-	protected static final int ID_LAUNCH_BUTTON = IDialogConstants.CLIENT_ID + 1;
-	
-	/**
-	 * Id for 'Close' button.
-	 */
-	protected static final int ID_CLOSE_BUTTON = IDialogConstants.CLIENT_ID + 2;
-	
-	/**
-	 * Id for 'Cancel' button.
-	 */
-	protected static final int ID_CANCEL_BUTTON = IDialogConstants.CLIENT_ID + 3;
-	
-	/**
-	 * Constrant String used as key for setting and retrieving current Control with focus
-	 */
-	private static final String FOCUS_CONTROL = "focusControl";//$NON-NLS-1$
-
-	/**
-	 * Constant specifying how wide this dialog is allowed to get (as a percentage of
-	 * total available screen width) as a result of tab labels in the edit area.
-	 */
-	protected static final float MAX_DIALOG_WIDTH_PERCENT = 0.50f;
-	
-	/**
-	 * Constant specifying how tall this dialog is allowed to get (as a percentage of
-	 * total available screen height) as a result of preferred tab size.
-	 */
-	protected static final float MAX_DIALOG_HEIGHT_PERCENT = 0.50f;	
-
-	/**
-	 * Empty array
-	 */
-	protected static final Object[] EMPTY_ARRAY = new Object[0];	
-	
-	/**
-	 * Size of this dialog if there is no preference specifying a size.
-	 */
-	protected static final Point DEFAULT_INITIAL_DIALOG_SIZE = new Point(620, 560);
-		
-	/**
-	 * Constant specifying that this dialog should be opened with the last configuration launched
-	 * in the workspace selected.
-	 */
-	public static final int LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED = 2;
-
-	/**
-	 * Constant specifying that this dialog should be opened with the value specified via 
-	 * <code>setInitialSelection()</code> selected.
-	 */
-	public static final int LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION = 3;
-	
-	/**
-	 * Constant specifying that a new launch configuration dialog was not opened.  Instead
-	 * an existing launch configuration dialog was used.
-	 */
-	public static final int LAUNCH_CONFIGURATION_DIALOG_REUSE_OPEN = 4;
-	
-	/**
-	 * Specifies how this dialog behaves when opened.  Value is one of the 
-	 * 'LAUNCH_CONFIGURATION_DIALOG' constants defined in this class.
-	 */
-	private int fOpenMode = LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED;
-	
-	/**
-	 * Constructs a new launch configuration dialog on the given
-	 * parent shell.
-	 * 
-	 * @param shell the parent shell
-	 * @param group the group of launch configuration to display
-	 */
-	public LaunchConfigurationsDialog(Shell shell, LaunchGroupExtension group) {
-		super(shell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		setLaunchGroup(group);
-	}
-	
-	/**
-	 * Set the flag indicating how this dialog behaves when the <code>open()</code> method is called.
-	 * Valid values are defined by the LAUNCH_CONFIGURATION_DIALOG... constants in this class.
-	 */
-	public void setOpenMode(int mode) {
-		fOpenMode = mode;
-	}
-	
-	protected int getOpenMode() {
-		return fOpenMode;
-	}
-	
-	/**
-	 * A launch configuration dialog overrides this method
-	 * to create a custom set of buttons in the button bar.
-	 * This dialog has 'Launch' and 'Cancel'
-	 * buttons.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, ID_LAUNCH_BUTTON, getLaunchButtonText(), true);
-		createButton(parent, ID_CLOSE_BUTTON, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Close_1"), false);  //$NON-NLS-1$
-	}
-	
-	/**
-	 * Handle the 'save and launch' & 'launch' buttons here, all others are handled
-	 * in <code>Dialog</code>
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == ID_LAUNCH_BUTTON) {
-			handleLaunchPressed();
-		} else if (buttonId == ID_CLOSE_BUTTON) {
-			handleClosePressed();
-		} else {
-			super.buttonPressed(buttonId);
-		}
-	}
-
-	/**
-	 * Returns the appropriate text for the launch button - run or debug.
-	 */
-	protected String getLaunchButtonText() {
-		return DebugPlugin.getDefault().getLaunchManager().getLaunchMode(getMode()).getLabel();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control contents = super.createContents(parent);
-		initializeContent();
-		return contents;
-	}
-
-	protected void initializeContent() {
-		doInitialTreeSelection();
-		IStatus status = getInitialStatus();
-		if (status != null) {
-			handleStatus(status);
-		}
-	}
-	
-
-	/**
-	 * Initialize the relative weights (widths) of the 2 sides of the sash.
-	 */
-	private void initializeSashForm() {
-		if (getSashForm() != null) {
-			IDialogSettings settings = getDialogSettings();
-			int[] sashWeights;
-			try {
-				int w1, w2;
-				w1 = settings.getInt(IDebugPreferenceConstants.DIALOG_SASH_WEIGHTS_1);
-				w2 = settings.getInt(IDebugPreferenceConstants.DIALOG_SASH_WEIGHTS_2);
-				sashWeights = new int[] {w1, w2};
-			} catch (NumberFormatException e) {
-				sashWeights = DEFAULT_SASH_WEIGHTS;
-			}
-			getSashForm().setWeights(sashWeights);
-		}
-	}
-
-	/**
-	 * Check if the selection area is currently wide enough so that both the 'New' &
-	 * 'Delete' buttons are shown without truncation.  If so, do nothing.  Otherwise,
-	 * increase the width of this dialog's Shell just enough so that both buttons 
-	 * are shown cleanly.
-	 */
-	private void ensureSelectionAreaWidth() {
-		if (fLaunchConfigurationView != null) {
-			Button newButton = getButtonActionNew().getButton();
-			Button deleteButton = getButtonActionDelete().getButton();		
-			int requiredWidth = newButton.getBounds().width + deleteButton.getBounds().width;
-			int marginWidth = ((GridLayout)getSelectionArea().getLayout()).marginWidth;
-			int horizontalSpacing = ((GridLayout)getSelectionArea().getLayout()).horizontalSpacing;
-			requiredWidth += (2 * marginWidth) + horizontalSpacing;
-			int currentWidth = getSelectionArea().getBounds().width;
-	
-			if (requiredWidth > currentWidth) {
-				int[] newSashWeights = new int[2];
-				newSashWeights[0] = requiredWidth;
-				newSashWeights[1] = getEditArea().getBounds().width;
-				Shell shell= getShell();
-				Point shellSize= shell.getSize();
-				setShellSize(shellSize.x + (requiredWidth - currentWidth), shellSize.y);
-				getSashForm().setWeights(newSashWeights);			
-			}
-		}
-	}
-	
-	/**
-	 * Set the initial selection in the tree.
-	 */
-	public void doInitialTreeSelection() {
-		fLaunchConfigurationView.getViewer().setSelection(getInitialSelection());
-	}
-	
-	/**
-	 * Write out this dialog's Shell size, location to the preference store.
-	 */
-	protected void persistShellGeometry() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-	}
-	
-	protected void persistSashWeights() {
-		IDialogSettings settings = getDialogSettings();
-		SashForm sashForm = getSashForm();
-		if (sashForm != null) {
-			int[] sashWeights = getSashForm().getWeights();
-			settings.put(IDebugPreferenceConstants.DIALOG_SASH_WEIGHTS_1, sashWeights[0]);
-			settings.put(IDebugPreferenceConstants.DIALOG_SASH_WEIGHTS_2, sashWeights[1]);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		persistShellGeometry();
-		persistSashWeights();
-		setCurrentlyVisibleLaunchConfigurationDialog(null);
-		getBannerImage().dispose();
-		getTabViewer().dispose();
-		if (fLaunchConfigurationView != null) {
-			fLaunchConfigurationView.dispose();
-		}
-		return super.close();
-	}
-	
-	/**
-	 * Determine the initial configuration for this dialog.
-	 * Open the dialog in the mode set using #setOpenMode(int) and return one of
-	 * <code>Window. OK</code> or <code>Window.CANCEL</code>.
-	 * 
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {		
-		int mode = getOpenMode();
-		setCurrentlyVisibleLaunchConfigurationDialog(this);	
-		if (mode == LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_LAST_LAUNCHED) {
-			ILaunchConfiguration lastLaunchedConfig = getLastLaunchedWorkbenchConfiguration();
-			if (lastLaunchedConfig != null) {
-				setInitialSelection(new StructuredSelection(lastLaunchedConfig));
-			}			
-		}	
-		return super.open();
-	}
-	
-	/**
-	 * Return the last launched configuration in the workspace.
-	 */
-	protected ILaunchConfiguration getLastLaunchedWorkbenchConfiguration() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLastLaunch(getLaunchGroup().getIdentifier());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite dialogComp = (Composite)super.createDialogArea(parent);
-		addContent(dialogComp);
-		return dialogComp;
-	}
-
-	/**
-	 * Adds content to the dialog area
-	 * 
-	 * @param dialogComp
-	 */
-	protected void addContent(Composite dialogComp) {
-		GridData gd;
-		Composite topComp = new Composite(dialogComp, SWT.NONE);
-		gd = new GridData(GridData.FILL_BOTH);
-		topComp.setLayoutData(gd);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		topLayout.marginHeight = 5;
-		topLayout.marginWidth = 0;
-		topComp.setLayout(topLayout);
-		
-		// Set the things that TitleAreaDialog takes care of 
-		setTitle(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Create,_manage,_and_run_launch_configurations_8")); //$NON-NLS-1$
-		setMessage(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Ready_to_launch_2")); //$NON-NLS-1$
-		setModeLabelState();
-		
-		// Create the SashForm that contains the selection area on the left,
-		// and the edit area on the right
-		setSashForm(new SashForm(topComp, SWT.NONE));
-		getSashForm().setOrientation(SWT.HORIZONTAL);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 2;
-		getSashForm().setLayoutData(gd);
-		getSashForm().setFont(dialogComp.getFont());
-		
-		// Build the launch configuration selection area and put it into the composite.
-		Control launchConfigSelectionArea = createLaunchConfigurationSelectionArea(getSashForm());
-		gd = new GridData(GridData.FILL_VERTICAL);
-		launchConfigSelectionArea.setLayoutData(gd);
-		
-		// Build the launch configuration edit area and put it into the composite.
-		Composite editAreaComp = createLaunchConfigurationEditArea(getSashForm());
-		setEditArea(editAreaComp);
-		gd = new GridData(GridData.FILL_BOTH);
-		editAreaComp.setLayoutData(gd);
-			
-		// Build the separator line that demarcates the button bar
-		Label separator = new Label(topComp, SWT.HORIZONTAL | SWT.SEPARATOR);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		separator.setLayoutData(gd);
-		
-		dialogComp.layout(true);
-		applyDialogFont(dialogComp);
-	}
-	
-	/**
-	 * Set the title area image based on the mode this dialog was initialized with
-	 */
-	protected void setModeLabelState() {
-		setTitleImage(getBannerImage());
-	}
-	
-	/**
-	 * Update buttons and message.
-	 */
-	protected void refreshStatus() {
-		updateMessage();
-		updateButtons();
-	}
-			
-	protected Display getDisplay() {
-		Shell shell = getShell();
-		if (shell != null) {
-			return shell.getDisplay();
-		} else {
-			return Display.getDefault();
-		}
-	}
-		
-	/**
-	 * Creates the launch configuration selection area of the dialog.
-	 * This area displays a tree of launch configurations that the user
-	 * may select, and allows users to create new configurations, and
-	 * delete and duplicate existing configurations.
-	 * 
-	 * @return the composite used for launch configuration selection area
-	 */ 
-	protected Control createLaunchConfigurationSelectionArea(Composite parent) {
-		Font font = parent.getFont();
-		Composite comp = new Composite(parent, SWT.NONE);
-		setSelectionArea(comp);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 5;
-		comp.setLayout(layout);
-		comp.setFont(font);
-		
-		setTreeLabel(new Label(comp, SWT.NONE));
-		getTreeLabel().setFont(font);
-		getTreeLabel().setText(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Con&figurations__1")); //$NON-NLS-1$
-		
-		fLaunchConfigurationView = new LaunchConfigurationView(getLaunchGroup());
-		fLaunchConfigurationView.createLaunchDialogControl(comp);
-		Viewer viewer = fLaunchConfigurationView.getViewer();
-		Control control = viewer.getControl();
-		
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		control.setLayoutData(gd);
-		control.setFont(font);
-		
-		fDoubleClickAction = new DoubleClickAction();
-		fLaunchConfigurationView.setAction(IDebugView.DOUBLE_CLICK_ACTION, fDoubleClickAction);
-		
-		Composite buttonComposite= new Composite(comp, SWT.NONE);
-		layout= new GridLayout(2, false);
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttonComposite.setLayout(layout);
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		buttonComposite.setLayoutData(gd);
-		buttonComposite.setFont(comp.getFont());
-		
-		final Button newButton = SWTUtil.createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Ne&w_13"), null); //$NON-NLS-1$
-		setButtonActionNew(new ButtonActionNew(newButton.getText(), newButton));
-		
-		final Button deleteButton = SWTUtil.createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Dele&te_14"), null); //$NON-NLS-1$
-		gd= (GridData)deleteButton.getLayoutData();
-		gd.horizontalAlignment= GridData.BEGINNING;
-		gd.grabExcessHorizontalSpace= true;
-		setButtonActionDelete(new ButtonActionDelete(deleteButton.getText(), deleteButton));
-		
-		AbstractLaunchConfigurationAction.IConfirmationRequestor requestor =
-			new AbstractLaunchConfigurationAction.IConfirmationRequestor() {
-					/**
-					 * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractLaunchConfigurationAction.IConfirmationRequestor#getConfirmation()
-					 */
-					public boolean getConfirmation() {
-						return canDiscardCurrentConfig();
-					}
-			};
-			
-		// confirmation requestors
-		getDuplicateAction().setConfirmationRequestor(requestor);
-		getNewAction().setConfirmationRequestor(requestor);
-							
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			/**
-			 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-			 */
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleLaunchConfigurationSelectionChanged(event);
-				newButton.setEnabled(getNewAction().isEnabled());
-				deleteButton.setEnabled(getDeleteAction().isEnabled());
-			}
-		});
-		return comp;
-	}	
-	
-	/**
-	 * Creates the launch configuration edit area of the dialog.
-	 * This area displays the name of the launch configuration
-	 * currently being edited, as well as a tab folder of tabs
-	 * that are applicable to the launch configuration.
-	 * 
-	 * @return the composite used for launch configuration editing
-	 */ 
-	protected Composite createLaunchConfigurationEditArea(Composite parent) {
-		setTabViewer(new LaunchConfigurationTabGroupViewer(parent, this));
-		getTabViewer().addSelectionChangedListener(new ISelectionChangedListener() {
-			/**
-			 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-			 */
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleTabSelectionChanged();
-			}
-		});
-		return (Composite)getTabViewer().getControl();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Font font = parent.getFont();
-		Composite composite= new Composite(parent, SWT.NULL);
-		
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
-		
-		Composite monitorComposite = new Composite(composite, SWT.NULL);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		monitorComposite.setLayout(layout);
-		monitorComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		GridLayout pmLayout = new GridLayout();
-		setProgressMonitorPart(new ProgressMonitorPart(monitorComposite, pmLayout));
-		Button cancelButton = createButton(monitorComposite, ID_CANCEL_BUTTON, LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cancel_3"), true); //$NON-NLS-1$
-		setProgressMonitorCancelButton(cancelButton);
-		getProgressMonitorCancelButton().setFont(font);
-		getProgressMonitorPart().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		getProgressMonitorPart().setFont(font);
-		monitorComposite.setVisible(false);
-
-		return super.createButtonBar(composite);
-	}
-	
-	/**
-	 * Sets the title for the dialog, and establishes the help context.
-	 * 
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell);
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(getShellTitle());
-		WorkbenchHelp.setHelp(
-			shell,
-			getHelpContextId());
-	}
-	
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG;
-	}
-	
-	protected String getShellTitle() {
-		String title = DebugUIPlugin.removeAccelerators(getLaunchGroup().getLabel());
-		if (title == null) {
-			title = LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Launch_Configurations_18"); //$NON-NLS-1$
-		}
-		return title;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		IDialogSettings settings = getDialogSettings();
-		try {
-			int x, y;
-			x = settings.getInt(IDebugPreferenceConstants.DIALOG_ORIGIN_X);
-			y = settings.getInt(IDebugPreferenceConstants.DIALOG_ORIGIN_Y);
-			return new Point(x,y);
-		} catch (NumberFormatException e) {
-		}
-		return super.getInitialLocation(initialSize);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {		
-		IDialogSettings settings = getDialogSettings();
-		try {
-			int x, y;
-			x = settings.getInt(IDebugPreferenceConstants.DIALOG_WIDTH);
-			y = settings.getInt(IDebugPreferenceConstants.DIALOG_HEIGHT);
-			return new Point(x, y);
-		} catch (NumberFormatException e) {
-		}
-		return DEFAULT_INITIAL_DIALOG_SIZE;
-	}
-		
-	private void setSashForm(SashForm sashForm) {
-		fSashForm = sashForm;
-	}
-	
-	private SashForm getSashForm() {
-		return fSashForm;
-	}
-
-	/**
-	 * Returns the launch manager.
-	 * 
-	 * @return the launch manager
-	 */
-	private ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	/**
-	 * Returns whether this dialog is currently open
-	 */
-	private boolean isVisible() {
-		return getShell() != null && getShell().isVisible();
-	}	
-		
-	/**
-	 * Notification that selection has changed in the launch configuration tree.
-	 * <p>
-	 * If the currently displayed configuration is not saved,
-	 * prompt for saving before moving on to the new selection.
-	 * </p>
-	 * 
-	 * @param event selection changed event
-	 */
- 	protected void handleLaunchConfigurationSelectionChanged(SelectionChangedEvent event) {
- 		
- 		Object input = getTabViewer().getInput();
- 		Object newInput = null;
- 		ISelection selection = event.getSelection();
- 		if (!selection.isEmpty()) {
- 			if (selection instanceof IStructuredSelection) {
- 				IStructuredSelection structuredSelection = (IStructuredSelection)selection;
- 				if (structuredSelection.size() == 1) {
- 					newInput = structuredSelection.getFirstElement();
- 				}
- 			}
- 		}
- 		ILaunchConfiguration original = getTabViewer().getOriginal();
- 		if (original != null && newInput == null && getLaunchManager().getMovedTo(original) != null) {
-			// the current config is about to be deleted ignore this change
-			return;
-		}
- 		
- 		if (!isEqual(input, newInput)) {
- 			ILaunchConfigurationTabGroup group = getTabGroup();
- 			if (original != null) {
- 				boolean deleted = !original.exists();
- 				boolean renamed = false;
- 				if (newInput instanceof ILaunchConfiguration) {
- 					ILaunchConfiguration lc = (ILaunchConfiguration)newInput;
- 					renamed = getLaunchManager().getMovedFrom(lc) != null;
- 				}
-	 			if (getTabViewer().isDirty() && !deleted && !renamed) {
-	 				boolean canReplace = showUnsavedChangesDialog();
-	 				if (!canReplace) {
-	 					// restore the original selection
-	 					IStructuredSelection sel = new StructuredSelection(input);
-	 					fLaunchConfigurationView.getViewer().setSelection(sel);
-	 					return;
-	 				}
-	 			}
- 			}
- 			getTabViewer().setInput(newInput);
-
- 			// bug 14758 - if the newly selected config is dirty, save its changes
- 			if (getTabViewer().isDirty()) {
- 				getTabViewer().handleApplyPressed();
- 			} 
- 			// bug 14758			
- 			ILaunchConfigurationTabGroup newGroup = getTabGroup();
- 			if (!isEqual(group, newGroup)) {
- 				if (isVisible()) {
- 					resize();
- 				}
- 			}
- 		}
-  	}
-  	
-  	protected boolean isEqual(Object o1, Object o2) {
-  		if (o1 == o2) {
-  			return true;
-  		} else if (o1 == null) {
-  			return false;
-  		} else {
-  			return o1.equals(o2);
-  		}
-  	}
-  	
-  	
-  	protected void resize() {
-		// determine the maximum tab dimensions
-		PixelConverter pixelConverter = new PixelConverter(getEditArea());
-		int runningTabWidth = 0;
-		ILaunchConfigurationTabGroup group = getTabGroup();
-		if (group == null) {
-			return;
-		}
-		ILaunchConfigurationTab[] tabs = group.getTabs();
-		Point contentSize = new Point(0, 0);
-		for (int i = 0; i < tabs.length; i++) {
-			String name = tabs[i].getName();
-			Image image = tabs[i].getImage();
-			runningTabWidth += pixelConverter.convertWidthInCharsToPixels(name.length() + 5);
-			if (image != null) {
-				runningTabWidth += image.getBounds().width;
-			}
-			Control control = tabs[i].getControl();
-			if (control != null) {
-				Point size = control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-				if (size.x > contentSize.x) {
-					contentSize.x = size.x;
-				}
-				if (size.y > contentSize.y) {
-					contentSize.y = size.y;
-				}
-			}
-		}
-	
-		// Determine if more space is needed to show all tab labels across the top of the
-		// tab folder.  If so, only increase size of dialog to some percent of the available
-		// screen real estate.
-		if (runningTabWidth > contentSize.x) {
-			int maxAllowedWidth = (int) (getDisplay().getBounds().width * MAX_DIALOG_WIDTH_PERCENT);
-			int otherWidth = getSashForm().SASH_WIDTH + getSelectionArea().getBounds().width;
-			int totalWidth = runningTabWidth + otherWidth;
-			if (totalWidth > maxAllowedWidth) {
-				contentSize.x = maxAllowedWidth - otherWidth;
-			} else {
-				contentSize.x = runningTabWidth;
-			}
-		}
-		
-		int maxAllowedHeight =(int) (getDisplay().getBounds().height * MAX_DIALOG_HEIGHT_PERCENT);
-		contentSize.y = Math.min(contentSize.y, maxAllowedHeight);
-	
-		// Adjust the maximum tab dimensions to account for the extra space required for the tab labels
-		Rectangle tabFolderBoundingBox = getEditArea().computeTrim(0, 0, contentSize.x, contentSize.y);
-		contentSize.x = tabFolderBoundingBox.width;
-		contentSize.y = tabFolderBoundingBox.height;
-	
-		// Force recalculation of sizes
-		getEditArea().layout(true);
-	
-		// Calculate difference between required space for the tab folder's client area 
-		// and it's current size, then increase size of this dialog's Shell by that amount
-		Rectangle rect = getTabViewer().getTabFolder().getClientArea();
-		Point containerSize= new Point(rect.width, rect.height);
-		int hdiff= contentSize.x - containerSize.x;
-		int vdiff= contentSize.y - containerSize.y;
-		// Only increase size of dialog, never shrink it
-		if (hdiff > 0 || vdiff > 0) {
-			int[] newSashWeights = null;
-			if (hdiff > 0) {
-				newSashWeights = calculateNewSashWeights(hdiff);
-			}
-			hdiff= Math.max(0, hdiff);
-			vdiff= Math.max(0, vdiff);
-			Shell shell= getShell();
-			Point shellSize= shell.getSize();
-			setShellSize(shellSize.x + hdiff, shellSize.y + vdiff);
-			// Adjust the sash weights so that all of the increase in width
-			// is given to the tab area
-			if (newSashWeights != null) {
-				getSashForm().setWeights(newSashWeights);
-			}
-		}  		
-	}
-  	
-	/**
-	 * Notification that tab selection has changed.
-	 *
-	 */
-	protected void handleTabSelectionChanged() {
-		updateMessage();
-	}
-	 	 	
- 	private void setProgressMonitorPart(ProgressMonitorPart part) {
- 		fProgressMonitorPart = part;
- 	}
- 	
- 	private ProgressMonitorPart getProgressMonitorPart() {
- 		return fProgressMonitorPart;
- 	}
- 	
- 	private void setProgressMonitorCancelButton(Button button) {
- 		fProgressMonitorCancelButton = button;
- 	}
- 	
- 	private Button getProgressMonitorCancelButton() {
- 		return fProgressMonitorCancelButton;
- 	}
- 	 	 	
- 	/**
- 	 * Calculate & return a 2 element integer array that specifies the relative 
- 	 * weights of the selection area and the edit area, based on the specified
- 	 * increase in width of the owning shell.  The point of this method is calculate 
- 	 * sash weights such that when the shell gets wider, all of the increase in width
- 	 * is given to the edit area (tab folder), and the selection area (tree) stays
- 	 * the same width.
- 	 */
-	private int[] calculateNewSashWeights(int widthIncrease) {
-		int[] newWeights = new int[2];
-		newWeights[0] = getSelectionArea().getBounds().width;
-		newWeights[1] = getEditArea().getBounds().width + widthIncrease;
-		return newWeights;
-	}
-
- 	/**
- 	 * Increase the size of this dialog's <code>Shell</code> by the specified amounts.
- 	 * Do not increase the size of the Shell beyond the bounds of the Display.
- 	 */
-	protected void setShellSize(int width, int height) {
-		Rectangle bounds = getShell().getDisplay().getBounds();
-		getShell().setSize(Math.min(width, bounds.width), Math.min(height, bounds.height));
-	}
- 	 
- 	/* (non-Javadoc)
- 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getMode()
- 	 */
- 	public String getMode() {
- 		return getLaunchGroup().getMode();
- 	}
- 	 	 	
- 	/**
- 	 * Returns the current tab group
- 	 * 
- 	 * @return the current tab group, or <code>null</code> if none
- 	 */
- 	public ILaunchConfigurationTabGroup getTabGroup() {
- 		if (getTabViewer() != null) {
- 			return getTabViewer().getTabGroup();
- 		}
- 		return null;
- 	}
- 	
- 	/* (non-Javadoc)
- 	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getTabs()
- 	 */
- 	public ILaunchConfigurationTab[] getTabs() {
- 		if (getTabGroup() == null) {
- 			return null;
- 		} else {
- 			return getTabGroup().getTabs();
- 		}
- 	} 	
- 	
-	/**
-	 * Return whether the current configuration can be discarded.  This involves determining
-	 * if it is dirty, and if it is, asking the user what to do.
-	 */
-	private boolean canDiscardCurrentConfig() {				
-		if (getTabViewer().isDirty()) {
-			return showUnsavedChangesDialog();
-		} else {
-			return true;
-		}
-	}
-	
-	/**
-	 * Show the user a dialog appropriate to whether the unsaved changes in the current config
-	 * can be saved or not.  Return <code>true</code> if the user indicated that they wish to replace
-	 * the current config, either by saving changes or by discarding the, return <code>false</code>
-	 * otherwise.
-	 */
-	private boolean showUnsavedChangesDialog() {
-		if (getTabViewer().canSave()) {
-			return showSaveChangesDialog();
-		} else {
-			return showDiscardChangesDialog();
-		}
-	}
-	
-	/**
-	 * Create and return a dialog that asks the user whether they want to save
-	 * unsaved changes.  Return <code>true </code> if they chose to save changes,
-	 * <code>false</code> otherwise.
-	 */
-	private boolean showSaveChangesDialog() {
-		String message = null;
-		if (getActiveTab() instanceof PerspectivesTab) {
-			try {
-				message = MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationsDialog.45"), new String[]{getTabViewer().getWorkingCopy().getType().getName()}); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		} else {
-			message = MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.The_configuration___29"), new String[]{getTabViewer().getWorkingCopy().getName()}); //$NON-NLS-1$
-		}
-		MessageDialog dialog = new MessageDialog(getShell(), 
-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Save_changes__31"), //$NON-NLS-1$
-												 null,
-												 message,
-												 MessageDialog.QUESTION,
-												 new String[] {LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Yes_32"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.No_33"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Cancel_34")}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-												 0);
-		// If user clicked 'Cancel' or closed dialog, return false
-		int selectedButton = dialog.open();
-		if ((selectedButton < 0) || (selectedButton == 2)) {
-			return false;
-		}
-		
-		// If they hit 'Yes', save the working copy 
-		if (selectedButton == 0) {
-			// Turn off auto select if prompting to save changes. The user
-			// has made another selection and we don't want a 'rename' to
-			// cause an auto-select.
-			if (fLaunchConfigurationView != null) {
-				fLaunchConfigurationView.setAutoSelect(false);
-			}
-			getTabViewer().handleApplyPressed();
-			if (fLaunchConfigurationView != null) {
-				fLaunchConfigurationView.setAutoSelect(true);
-			}
-		}
-		
-		return true;
-	}
-	
-	/**
-	 * Create and return a dialog that asks the user whether they want to discard
-	 * unsaved changes.  Return <code>true</code> if they chose to discard changes,
-	 * <code>false</code> otherwise.
-	 */
-	private boolean showDiscardChangesDialog() {
-		StringBuffer buffer = new StringBuffer(MessageFormat.format(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.The_configuration___35"), new String[]{getTabViewer().getWorkingCopy().getName()})); //$NON-NLS-1$
-		buffer.append(getTabViewer().getErrorMesssage());
-		buffer.append(LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Do_you_wish_to_discard_changes_37")); //$NON-NLS-1$
-		MessageDialog dialog = new MessageDialog(getShell(), 
-												 LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Discard_changes__38"), //$NON-NLS-1$
-												 null,
-												 buffer.toString(),
-												 MessageDialog.QUESTION,
-												 new String[] {LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.Yes_32"), LaunchConfigurationsMessages.getString("LaunchConfigurationDialog.No_33")}, //$NON-NLS-1$ //$NON-NLS-2$
-												 1);
-		// If user clicked 'Yes', return true
-		int selectedButton = dialog.open();
-		if (selectedButton == 0) {
-			return true;
-		}
-		return false;
-	}
-			
-	/**
-	 * Notification the 'Close' button has been pressed.
-	 */
-	protected void handleClosePressed() {
-		if (canDiscardCurrentConfig()) {
-			cancelPressed();
-		}
-	}
-	
-	/**
-	 * Notification the 'launch' button has been pressed.
-	 * Save and launch.
-	 */
-	protected void handleLaunchPressed() {
-		ILaunchConfiguration config = getTabViewer().getOriginal(); 
-		if (getTabViewer().isDirty()) {
-			getTabViewer().handleApplyPressed();
-			config = getTabViewer().getOriginal();
-		}
-		String mode = getMode();
-		close();
-		DebugUITools.launch(config, mode);
-	}
-	
-	/***************************************************************************************
-	 * 
-	 * ProgressMonitor & IRunnableContext related methods
-	 * 
-	 ***************************************************************************************/
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.operation.IRunnableContext#run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-		if (isVisible()) {
-			// The operation can only be canceled if it is executed in a separate thread.
-			// Otherwise the UI is blocked anyway.
-			Object state = aboutToStart();
-			fActiveRunningOperations++;
-			try {
-				ModalContext.run(runnable, fork, fProgressMonitorPart, getShell().getDisplay());
-			} finally {
-				fActiveRunningOperations--;
-				stopped(state);
-			}
-		} else {
-			PlatformUI.getWorkbench().getProgressService().run(fork, cancelable, runnable);
-		}
-	}
-	
-	/**
-	 * About to start a long running operation triggered through
-	 * the dialog. Shows the progress monitor and disables the dialog's
-	 * buttons and controls.
-	 *
-	 * @return the saved UI state
-	 */
-	private Object aboutToStart() {
-		Map savedState = null;
-		if (getShell() != null) {
-			// Save focus control
-			Control focusControl = getShell().getDisplay().getFocusControl();
-			if (focusControl != null && focusControl.getShell() != getShell()) {
-				focusControl = null;
-			}
-			
-			// Set the busy cursor to all shells.
-			Display d = getShell().getDisplay();
-			waitCursor = new Cursor(d, SWT.CURSOR_WAIT);
-			setDisplayCursor(waitCursor);
-					
-			// Set the arrow cursor to the cancel component.
-			arrowCursor= new Cursor(d, SWT.CURSOR_ARROW);
-			getProgressMonitorCancelButton().setCursor(arrowCursor);
-	
-			// Deactivate shell
-			savedState = saveUIState();
-			if (focusControl != null) {
-				savedState.put(FOCUS_CONTROL, focusControl);
-			}
-				
-			// Attach the progress monitor part to the cancel button
-			getProgressMonitorCancelButton().setEnabled(true);
-			getProgressMonitorPart().attachToCancelComponent(getProgressMonitorCancelButton());
-			getProgressMonitorPart().getParent().setVisible(true);
-			getProgressMonitorCancelButton().setFocus();
-		}
-		return savedState;
-	}
-
-	/**
-	 * A long running operation triggered through the dialog
-	 * was stopped either by user input or by normal end.
-	 * Hides the progress monitor and restores the enable state
-	 * of the dialog's buttons and controls.
-	 *
-	 * @param savedState the saved UI state as returned by <code>aboutToStart</code>
-	 * @see #aboutToStart
-	 */
-	private void stopped(Object savedState) {
-		if (getShell() != null) {
-			getProgressMonitorPart().getParent().setVisible(false);
-			getProgressMonitorPart().removeFromCancelComponent(getProgressMonitorCancelButton());
-			Map state = (Map)savedState;
-			restoreUIState(state);
-	
-			setDisplayCursor(null);	
-			waitCursor.dispose();
-			waitCursor = null;
-			arrowCursor.dispose();
-			arrowCursor = null;
-			Control focusControl = (Control)state.get(FOCUS_CONTROL);
-			if (focusControl != null) {
-				focusControl.setFocus();
-			}
-		}
-	}
-
-	/**
-	 * Captures and returns the enabled/disabled state of the wizard dialog's
-	 * buttons and the tree of controls for the currently showing page. All
-	 * these controls are disabled in the process, with the possible excepton of
-	 * the Cancel button.
-	 *
-	 * @return a map containing the saved state suitable for restoring later
-	 *   with <code>restoreUIState</code>
-	 * @see #restoreUIState
-	 */
-	private Map saveUIState() {
-		Map savedState= new HashMap(4);
-		saveEnableStateAndSet(getButton(ID_LAUNCH_BUTTON), savedState, "launch", false);//$NON-NLS-1$
-		saveEnableStateAndSet(getButton(ID_CLOSE_BUTTON), savedState, "close", false);//$NON-NLS-1$
-		if (getSelectionArea() != null) {
-			savedState.put("selectionarea", ControlEnableState.disable(getSelectionArea()));//$NON-NLS-1$
-		}
-		savedState.put("editarea", ControlEnableState.disable(getEditArea()));//$NON-NLS-1$
-		return savedState;
-	}
-
-	/**
-	 * Saves the enabled/disabled state of the given control in the
-	 * given map, which must be modifiable.
-	 *
-	 * @param w the control, or <code>null</code> if none
-	 * @param h the map (key type: <code>String</code>, element type:
-	 *   <code>Boolean</code>)
-	 * @param key the key
-	 * @param enabled <code>true</code> to enable the control, 
-	 *   and <code>false</code> to disable it
-	 * @see #restoreEnableStateAndSet
-	 */
-	private void saveEnableStateAndSet(Control w, Map h, String key, boolean enabled) {
-		if (w != null) {
-			h.put(key, new Boolean(w.isEnabled()));
-			w.setEnabled(enabled);
-		}
-	}
-
-	/**
-	 * Restores the enabled/disabled state of the wizard dialog's
-	 * buttons and the tree of controls for the currently showing page.
-	 *
-	 * @param state a map containing the saved state as returned by 
-	 *   <code>saveUIState</code>
-	 * @see #saveUIState
-	 */
-	private void restoreUIState(Map state) {
-		restoreEnableState(getButton(ID_LAUNCH_BUTTON), state, "launch");//$NON-NLS-1$
-		restoreEnableState(getButton(ID_CLOSE_BUTTON), state, "close");//$NON-NLS-1$
-		ControlEnableState treeState = (ControlEnableState) state.get("selectionarea");//$NON-NLS-1$
-		if (treeState != null) {
-			treeState.restore();
-		}
-		ControlEnableState tabState = (ControlEnableState) state.get("editarea");//$NON-NLS-1$
-		tabState.restore();
-	}
-
-	/**
-	 * Restores the enabled/disabled state of the given control.
-	 *
-	 * @param w the control
-	 * @param h the map (key type: <code>String</code>, element type:
-	 *   <code>Boolean</code>)
-	 * @param key the key
-	 * @see #saveEnableStateAndSet
-	 */
-	private void restoreEnableState(Control w, Map h, String key) {
-		if (w != null) {
-			Boolean b = (Boolean) h.get(key);
-			if (b != null)
-				w.setEnabled(b.booleanValue());
-		}
-	}
-	
-	/**
-	 * Sets the given cursor for all shells currently active
-	 * for this window's display.
-	 *
-	 * @param cursor the cursor
-	 */
-	private void setDisplayCursor(Cursor cursor) {
-		Shell[] shells = getShell().getDisplay().getShells();
-		for (int i = 0; i < shells.length; i++) {
-			shells[i].setCursor(cursor);
-		}
-	}
-	
-	/**
-	 * Convenience method that replies whether the tab viewer is in a launchable state.
-	 */
-	private boolean canLaunch() {
-		return getTabViewer().canLaunch();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#updateButtons()
-	 */
-	public void updateButtons() {
-		// New & Delete buttons
- 		getButtonActionNew().setEnabled(getNewAction().isEnabled());
-		getButtonActionDelete().setEnabled(getDeleteAction().isEnabled());
-
-		// Launch button
-		getTabViewer().refresh();
-		getButton(ID_LAUNCH_BUTTON).setEnabled(canLaunch());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#getActiveTab()
-	 */
-	public ILaunchConfigurationTab getActiveTab() {
-		return getTabViewer().getActiveTab();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#updateMessage()
-	 */
-	public void updateMessage() {
-		setErrorMessage(getTabViewer().getErrorMesssage());
-		setMessage(getTabViewer().getMessage());				
-	}
-	
-	/**
-	 * Returns the launch configuration selection area control.
-	 * 
-	 * @return control
-	 */
-	private Composite getSelectionArea() {
-		return fSelectionArea;
-	}
-
-	/**
-	 * Sets the launch configuration selection area control.
-	 * 
-	 * @param selectionArea control
-	 */
-	private void setSelectionArea(Composite selectionArea) {
-		fSelectionArea = selectionArea;
-	}
-
-	/**
-	 * Returns the launch configuration edit area control.
-	 * 
-	 * @return control
-	 */
-	protected Composite getEditArea() {
-		return fEditArea;
-	}
-
-	/**
-	 * Sets the launch configuration edit area control.
-	 * 
-	 * @param editArea control
-	 */
-	protected void setEditArea(Composite editArea) {
-		fEditArea = editArea;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		getTabViewer().setName(name);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#generateName(java.lang.String)
-	 */
-	public String generateName(String name) {
-		if (name == null) {
-			name = ""; //$NON-NLS-1$
-		}
-		return getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-	}
-	
-	/**
-	 * Returns the initial selection shown in this dialog when opened in
-	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.
-	 */
-	private IStructuredSelection getInitialSelection() {
-		return fInitialSelection;
-	}
-	
-	/**
-	 * Sets the initial selection for the dialog when opened in 
-	 * <code>LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION</code> mode.
-	 */
-	public void setInitialSelection(IStructuredSelection selection) {
-		fInitialSelection = selection;
-	}
-	
-	/**
-	 * Handles key events in the tree viewer. Specifically
-	 * when the delete key is pressed.
-	 */
-	protected void handleTreeViewerKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0) {
-			if (getButtonActionDelete().isEnabled()) {
-				getButtonActionDelete().run();
-			}
-		} 
-	}
-	
-	private void setButtonActionNew(ButtonAction action) {
-		fButtonActionNew = action;
-	}
-	
-	private ButtonAction getButtonActionNew() {
-		return fButtonActionNew;
-	}
-
-	private void setButtonActionDelete(ButtonAction action) {
-		fButtonActionDelete = action;
-	}
-	
-	private ButtonAction getButtonActionDelete() {
-		return fButtonActionDelete;
-	}
-
-	private void setTreeLabel(Label treeLabel) {
-		fTreeLabel = treeLabel;
-	}
-
-	private Label getTreeLabel() {
-		return fTreeLabel;
-	}
-
-	public static void setCurrentlyVisibleLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		fgCurrentlyVisibleLaunchConfigurationDialog = dialog;
-	}
-
-	public static ILaunchConfigurationDialog getCurrentlyVisibleLaunchConfigurationDialog() {
-		return fgCurrentlyVisibleLaunchConfigurationDialog;
-	}
-
-	/**
-	 * Extension of <code>Action</code> that manages a <code>Button</code>
-	 * widget.  This allows common handling for actions that must appear in
-	 * a pop-up menu and also as a (non-toolbar) button in the UI.
-	 */
-	private abstract class ButtonAction extends Action {
-		
-		protected Button fButton;
-		
-		/**
-		 * Construct a ButtonAction handler.  All details of the specified
-		 * <code>Button</code>'s layout and appearance should be handled 
-		 * external to this class.
-		 */
-		public ButtonAction(String text, Button button) {
-			super(text);
-			fButton = button;
-			if (fButton != null) {
-				fButton.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent evt) {
-						ButtonAction.this.run();
-					}
-				});
-			}
-		}
-		
-		public Button getButton() {
-			return fButton;
-		}
-		
-		/**
-		 * @see IAction#setEnabled(boolean)
-		 */
-		public void setEnabled(boolean enabled) {
-			super.setEnabled(enabled);
-			if (fButton != null) {
-				fButton.setEnabled(enabled);
-			}
-		}
-	}
-	
-	/**
-	 * Handler for creating a new configuration.
-	 */
-	private class ButtonActionNew extends ButtonAction {
-		
-		public ButtonActionNew(String text, Button button) {
-			super(text, button);
-		}
-		
-		public void run() {
-			getNewAction().run();
-		}
-	}
-
-	/**
-	 * Handler for deleting a configuration.
-	 */
-	private class ButtonActionDelete extends ButtonAction {
-		
-		public ButtonActionDelete(String text, Button button) {
-			super(text, button);
-		}
-		
-		public void run() {
-			getDeleteAction().run();
-		}
-	}
-	
-	private class DoubleClickAction extends Action {
-		/**
-		 * @see org.eclipse.jface.action.IAction#run()
-		 */
-		public void run() {
-			IStructuredSelection selection = (IStructuredSelection)fLaunchConfigurationView.getViewer().getSelection();
-			Object target = selection.getFirstElement();
-			if (target instanceof ILaunchConfiguration) {
-				if (canLaunch()) {
-					handleLaunchPressed();
-				}
-			} else {
-				getNewAction().run();
-			}
-		}
-
-	}
-	
-	/**
-	 * Returns the banner image to display in the title area
-	 */
-	protected Image getBannerImage() {
-		if (fBannerImage == null) {
-			ImageDescriptor descriptor = getLaunchGroup().getBannerImageDescriptor(); 
-			if (descriptor != null) {
-				fBannerImage = descriptor.createImage();
-			} 		
-		}
-		return fBannerImage;
-	}
-	
-	/**
-	 * Sets the launch group to display.
-	 * 
-	 * @param group launch group
-	 */
-	protected void setLaunchGroup(LaunchGroupExtension group) {
-		fGroup = group;
-	}
-	
-	/**
-	 * Returns the launch group being displayed.
-	 * 
-	 * @return launch group
-	 */
-	public LaunchGroupExtension getLaunchGroup() {
-		return fGroup;
-	}
-	
-	protected AbstractLaunchConfigurationAction getNewAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(CreateLaunchConfigurationAction.ID_CREATE_ACTION);
-	}
-	
-	protected AbstractLaunchConfigurationAction getDeleteAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(DeleteLaunchConfigurationAction.ID_DELETE_ACTION);
-	}
-	
-	protected AbstractLaunchConfigurationAction getDuplicateAction() {
-		return (AbstractLaunchConfigurationAction)fLaunchConfigurationView.getAction(DuplicateLaunchConfigurationAction.ID_DUPLICATE_ACTION);
-	}		
-
-	/**
-	 * Returns the dialog settings for this dialog. Subclasses should override
-	 * <code>getDialogSettingsKey()</code>.
-	 * 
-	 * @return IDialogSettings
-	 */
-	protected IDialogSettings getDialogSettings() {
-		IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-		if (section == null) {
-			section = settings.addNewSection(getDialogSettingsSectionName());
-		} 
-		return section;
-	}
-	
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".LAUNCH_CONFIGURATIONS_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Sets the viewer used to display the tabs for a launch configuration.
-	 * 
-	 * @param viewer
-	 */
-	protected void setTabViewer(LaunchConfigurationTabGroupViewer viewer) {
-		fTabViewer = viewer;
-	}
-	
-	/**
-	 * Returns the viewer used to display the tabs for a launch configuration.
-	 * 
-	 * @return LaunchConfigurationTabGroupViewer
-	 */
-	protected LaunchConfigurationTabGroupViewer getTabViewer() {
-		return fTabViewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#initializeBounds()
-	 */
-	protected void initializeBounds() {
-		super.initializeBounds();
-		initializeSashForm();
-		ensureSelectionAreaWidth();
-		resize();			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		// bug 27011
-		if (getTabViewer().getInput() == null) {
-			getTabViewer().inputChanged(null);
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(org.eclipse.debug.ui.ILaunchConfigurationTab)
-	 */
-	public void setActiveTab(ILaunchConfigurationTab tab) {
-		getTabViewer().setActiveTab(tab);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationDialog#setActiveTab(int)
-	 */
-	public void setActiveTab(int index) {
-		getTabViewer().setActiveTab(index);
-	}
-	
-	/**
-	 * Sets the status to open the dialog on.
-	 * 
-	 * @param status the intial status for the dialog
-	 */
-	public void setInitialStatus(IStatus status) {
-		fInitialStatus = status;
-	}
-	
-	/**
-	 * Returns the status the dialog was opened on or <code>null</code> if none.
-	 * 
-	 * @return IStatus
-	 */
-	protected IStatus getInitialStatus() {
-		return fInitialStatus;
-	}
-
-	/**
-	 * Consult a status handler for the given status, if any. The status handler
-	 * is passed this launch config dialog as an argument.
-	 * 
-	 * @param status the status to be handled
-	 */
-	public void handleStatus(IStatus status) {		
-		IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-		if (handler != null) {
-			try {
-				handler.handleStatus(status, this);
-				return;
-			} catch (CoreException e) {
-				status = e.getStatus();
-			} 
-		}
-		// if no handler, or handler failed, display error/warning dialog
-		String title = null;
-		switch (status.getSeverity()) {
-			case IStatus.ERROR:
-				title = LaunchConfigurationsMessages.getString("LaunchConfigurationsDialog.Error_1"); //$NON-NLS-1$
-				break;
-			case IStatus.WARNING:
-				title = LaunchConfigurationsMessages.getString("LaunchConfigurationsDialog.Warning_2"); //$NON-NLS-1$
-				break;
-			default:
-				title = LaunchConfigurationsMessages.getString("LaunchConfigurationsDialog.Information_3"); //$NON-NLS-1$
-				break;
-		}
-		ErrorDialog.openError(getShell(), title, null, status);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
deleted file mode 100644
index dbc4f2b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class LaunchConfigurationsMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages";	//$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private LaunchConfigurationsMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
deleted file mode 100644
index a70e20a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
+++ /dev/null
@@ -1,128 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-CommonTab.&Browse_6=&Browse...
-CommonTab.&Common_15=&Common
-CommonTab.Display_in_favorites_menu__10=Display in favor&ites menu:
-CommonTab.Invalid_shared_configuration_location_14=Invalid shared configuration location
-CommonTab.L&ocal_3=L&ocal
-CommonTab.Location_of_shared_confi&guration__5=&Location of shared configuration:
-CommonTab.S&hared_4=S&hared
-CommonTab.Select_a_location_for_the_launch_configuration_13=Select a location for the launch configuration
-CommonTab.Type_of_launch_configuration__2=Type of launch configuration:
-CommonTab.Cannot_save_launch_configuration_in_a_closed_project._1=Cannot save launch configuration in a closed project.
-CommonTab.10=Launch in bac&kground
-CompileErrorPromptStatusHandler.0=Errors in Project
-CompileErrorPromptStatusHandler.1=Errors exist in a required project. Continue launch?
-CompileErrorPromptStatusHandler.2=Always
-
-EnvironmentTab.22=New Environment Variable
-
-LaunchConfigurationDialog.&Apply_17=Appl&y
-LaunchConfigurationDialog.&Name__16=&Name:
-LaunchConfigurationDialog.An_exception_occurred_while_retrieving_launch_configurations_20=An exception occurred while retrieving launch configurations
-LaunchConfigurationDialog.Cancel_34=Cancel
-LaunchConfigurationDialog.Create,_manage,_and_run_launch_configurations_8=Create, manage, and run configurations
-LaunchConfigurationDialog.Dele&te_14=Dele&te
-LaunchConfigurationDialog.Discard_changes__38=Discard changes?
-LaunchConfigurationDialog.Do_you_wish_to_discard_changes_37=\nDo you wish to discard changes?\n
-LaunchConfigurationDialog.Error_19=Error
-LaunchConfigurationDialog.Exception_occurred_creating_launch_configuration_tabs_27=Exception occurred creating launch configuration tabs
-LaunchConfigurationDialog.Exception_occurred_while_saving_launch_configuration_47=Exception occurred while saving launch configuration
-LaunchConfigurationDialog.Launch_configuration_already_exists_with_this_name_12=Launch configuration already exists with this name
-LaunchConfigurationDialog.Launch_Configuration_Error_46=Launch Configuration Error
-LaunchConfigurationDialog.Launch_Configurations_18=Launch Configurations
-LaunchConfigurationDialog.Name_required_for_launch_configuration_11=Name required for launch configuration
-LaunchConfigurationDialog.Ne&w_13=Ne&w
-LaunchConfigurationDialog.No_33=No
-LaunchConfigurationDialog.Ready_to_launch_2=Ready to launch
-LaunchConfigurationDialog.Save_changes__31=Save changes?
-LaunchConfigurationDialog.The_configuration___29=The configuration "{0}" has unsaved changes.  Do you wish to save them?
-LaunchConfigurationDialog.The_configuration___35=The configuration "{0}" has unsaved changes that CANNOT be saved because of the following error:\n
-LaunchConfigurationDialog.unspecified_28=unspecified
-LaunchConfigurationDialog.Yes_32=Yes
-LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configurations__1=Do you wish to delete the selected launch configurations?
-LaunchConfigurationDialog.Do_you_wish_to_delete_the_selected_launch_configuration__2=Do you wish to delete the selected launch configuration?
-LaunchConfigurationDialog.Confirm_Launch_Configuration_Deletion_3=Confirm Launch Configuration Deletion
-LaunchConfigurationDialog.Close_1=Close
-LaunchConfigurationDialog.Revert_2=Re&vert
-LaunchConfigurationDialog.Cancel_3=Cance&l
-LaunchConfigurationDialog.Launch_Con&figurations__1=Con&figurations:
-LaunchConfigurationsDialog.Error_1=Error
-LaunchConfigurationsDialog.Warning_2=Warning
-LaunchConfigurationsDialog.Information_3=Information
-LaunchConfigurationsDialog.45=Perspective settings for {0} have unsaved changes. Do you wish to save them?
-
-LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_does_not_specify_launch_configuration_type_1=Launch configuration tab group extension {0} does not specify launch configuration type
-LaunchConfigurationPresentationManager.Launch_configuration_tab_group_extension_{0}_refers_to_non-existant_launch_configuration_type_{1}_2=Launch configuration tab group extension {0} refers to non-existent launch configuration type {1}
-LaunchConfigurationPresentationManager.No_tab_group_defined_for_launch_configuration_type_{0}_3=No tab group defined for launch configuration type {0}
-
-PerspectiveManager.Error_1=Error
-PerspectiveManager.Unable_to_switch_perpsectives_as_specified_by_launch__{0}_4=Unable to switch perspectives as specified by launch: {0}
-PerspectiveManager.Unable_to_switch_to_perspective__{0}_2=Unable to switch to perspective: {0}
-PerspectiveManager.9=Exception occurred while generating launch perspectives preference XML
-
-LaunchShortcutExtension.Error_4=Error
-LaunchShortcutExtension.Unable_to_use_launch_shortcut_5=Unable to use launch shortcut
-
-LaunchConfigurationPropertiesDialog.Edit_launch_configuration_properties_1=Edit launch configuration properties
-LaunchConfigurationPropertiesDialog.Properties_for_{0}_2=Properties for {0}
-
-LaunchConfigurationDialog.Modify_attributes_and_launch._1=Modify attributes and launch.
-
-LaunchConfigurationTabGroupViewer.No_tabs_defined_for_launch_configuration_type_{0}_1=No tabs defined for launch configuration type {0}
-
-DuplicateLaunchConfigurationAction.&Duplicate_1=&Duplicate
-
-DeleteLaunchConfigurationAction.Dele&te_1=Dele&te
-
-CreateLaunchConfigurationAction.Ne&w_1=Ne&w
-CreateLaunchConfigurationAction.New_configuration_2=New_configuration
-
-EnvironmentTab.Variable_1=Variable
-EnvironmentTab.Value_2=Value
-EnvironmentTab.Environment_variables_to_set__3=Environment variables to &set:
-EnvironmentTab.New_4=N&ew...
-EnvironmentTab.Edit_5=E&dit...
-EnvironmentTab.Remove_6=&Remove
-EnvironmentTab.Environment_7=Environment
-EnvironmentTab.8=&Name:
-EnvironmentTab.9=&Value:
-EnvironmentTab.11=Edit Environment Variable
-EnvironmentTab.12=Overwrite variable?
-EnvironmentTab.13=A variable named {0} already exists. Overwrite?
-EnvironmentTab.16=&Append environment to native environment
-EnvironmentTab.17=Re&place native environment with specified environment
-EnvironmentTab.18=Se&lect...
-EnvironmentTab.19=Select &environment variables to add:
-EnvironmentTab.20=Select Environment Variables
-
-PerspectivesTab.0=These settings associate a perspective with {0} launch configurations. A different perspective may be associated with each supported launch mode, and can optionally be activated when a configuration is launched or when a breakpoint is encountered via the Debug preferences. To indicate that a perspective switch should not occur, select "None".
-PerspectivesTab.1=None
-PerspectivesTab.2={0}:
-PerspectivesTab.3=R&estore Defaults
-PerspectivesTab.7=Perspectives
-
-FavoritesDialog.1=Organize {0} Favorites
-FavoritesDialog.2=Fa&vorites:
-FavoritesDialog.3=Ad&d...
-FavoritesDialog.4=Re&move
-FavoritesDialog.5=U&p
-FavoritesDialog.6=Do&wn
-FavoritesDialog.7=Select &Launch Configurations:
-
-OrganizeFavoritesAction.0=Organize Fa&vorites...
-PerspectiveManager.12=Confirm Perspective Switch
-PerspectiveManager.13=This kind of launch is configured to switch to the {0} perspective when it suspends. Do you want to switch to this perspective now?
-PerspectiveManager.15=This kind of launch is associated with the {0} perspective. Do you want to switch to this perspective now?
-
-DebugModePromptStatusHandler.0=Breakpoints in Workspace
-DebugModePromptStatusHandler.1=There are breakpoints enabled in the workspace. Would you rather launch in debug mode?
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
deleted file mode 100644
index 7f3a30a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupExtension.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Proxy to a launch group extension
- */
-public class LaunchGroupExtension implements ILaunchGroup {
-	
-	/**
-	 * The configuration element defining this launch group.
-	 */
-	private IConfigurationElement fConfig;
-	
-	/**
-	 * The image for this group
-	 */
-	private ImageDescriptor fImageDescriptor;
-	
-	/**
-	 * The banner image for this group
-	 */
-	private ImageDescriptor fBannerImageDescriptor;
-	
-	/**
-	 * Constructs a launch group extension based on the given configuration
-	 * element
-	 * 
-	 * @param element the configuration element defining the
-	 *  attribtues of this launch group extension
-	 * @return a new launch group extension
-	 */
-	public LaunchGroupExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets the configuration element that defines the attributes
-	 * for this launch group extension.
-	 * 
-	 * @param element configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fConfig = element;
-	}
-	
-	/**
-	 * Returns the configuration element that defines the attributes
-	 * for this launch group extension.
-	 * 
-	 * @param configuration element that defines the attributes
-	 *  for this launch group extension
-	 */
-	protected IConfigurationElement getConfigurationElement() {
-		return fConfig;
-	}
-	
-	/**
-	 * Returns the image for this launch group, or <code>null</code> if none
-	 * 
-	 * @return the image for this launch group, or <code>null</code> if none
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		if (fImageDescriptor == null) {
-			fImageDescriptor = createImageDescriptor("image"); //$NON-NLS-1$
-		}
-		return fImageDescriptor;
-	}
-	
-	/**
-	 * Returns the banner image for this launch group, or <code>null</code> if
-	 * none
-	 * 
-	 * @return the banner image for this launch group, or <code>null</code> if
-	 * none
-	 */
-	public ImageDescriptor getBannerImageDescriptor() {
-		if (fBannerImageDescriptor == null) {
-			fBannerImageDescriptor = createImageDescriptor("bannerImage"); //$NON-NLS-1$
-		}
-		return fBannerImageDescriptor;
-	}	
-	
-	/**
-	 * Returns the label for this launch group
-	 * 
-	 * @return the label for this launch group
-	 */
-	public String getLabel() {
-		return getConfigurationElement().getAttribute("label"); //$NON-NLS-1$
-	}	
-		
-	/**
-	 * Returns the id for this launch group
-	 * 
-	 * @return the id for this launch group
-	 */
-	public String getIdentifier() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns the category for this launch group, possibly <code>null</code>
-	 * 
-	 * @return the category for this launch group, possibly <code>null</code>
-	 */
-	public String getCategory() {
-		return getConfigurationElement().getAttribute("category"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the mode for this launch group
-	 * 
-	 * @return the mode for this launch group
-	 */
-	public String getMode() {
-		return getConfigurationElement().getAttribute("mode"); //$NON-NLS-1$
-	}					
-	
-	/**
-	 * Creates an image descriptor based on the given attribute name
-	 * 
-	 * @param attribute
-	 * @return ImageDescriptor
-	 */
-	protected ImageDescriptor createImageDescriptor(String attribute) {
-		Bundle bundle = Platform.getBundle(getConfigurationElement().getDeclaringExtension().getNamespace());
-		URL iconURL = bundle.getEntry("/"); //$NON-NLS-1$
-		String iconPath = getConfigurationElement().getAttribute(attribute);
-		if (iconPath != null) {
-			try {
-				iconURL = new URL(iconURL, iconPath);
-				return ImageDescriptor.createFromURL(iconURL);
-			} catch (MalformedURLException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns whether this launch group is public
-	 *  
-	 * @return boolean
-	 */
-	public boolean isPublic() {
-		String string = getConfigurationElement().getAttribute("public"); //$NON-NLS-1$
-		if (string == null) {
-			return true;
-		}
-		return string.equals("true"); //$NON-NLS-1$
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
deleted file mode 100644
index f80c2d7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchGroupFilter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-/**
- * Displays launch configurations for a specific launch group
- */
-public class LaunchGroupFilter extends ViewerFilter {
-	
-	private ILaunchGroup fGroup;
-
-	/**
-	 * Constructor for ExternalToolsLaunchConfigurationFilter.
-	 */
-	public LaunchGroupFilter(ILaunchGroup groupExtension) {
-		super();
-		fGroup = groupExtension;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(
-		Viewer viewer,
-		Object parentElement,
-		Object element) {
-			ILaunchConfigurationType type = null;
-			ILaunchConfiguration config = null;
-			if (parentElement instanceof ILaunchConfigurationType) {
-				type = (ILaunchConfigurationType)parentElement;
-			}
-			if (element instanceof ILaunchConfigurationType) {
-				type = (ILaunchConfigurationType)element;
-			}
-			if (element instanceof ILaunchConfiguration) {
-				config = (ILaunchConfiguration)element;
-				try {
-					type = config.getType();
-				} catch (CoreException e) {
-				}
-			}
-			boolean priv = false;
-			if (config != null) {
-				try {
-					priv = config.getAttribute(IDebugUIConstants.ATTR_PRIVATE, false);
-				} catch (CoreException e) {
-				}
-			}
-			if (type != null) {
-				return !priv && type.supportsMode(fGroup.getMode()) && equalCategories(type.getCategory(), fGroup.getCategory()) && !WorkbenchActivityHelper.filterItem(new LaunchConfigurationTypeContribution(type));
-			}
-			return false;
-	}
-	
-	/**
-	 * Returns whether the given categories are equal.
-	 * 
-	 * @param c1 category identifier or <code>null</code>
-	 * @param c2 category identifier or <code>null</code>
-	 * @return boolean
-	 */
-	private boolean equalCategories(String c1, String c2) {
-		if (c1 == null || c2 == null) {
-			return c1 == c2;
-		}
-		return c1.equals(c2);
-	} 
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
deleted file mode 100644
index b43283c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistory.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-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.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchGroup;
-
-/**
- * A history of launches and favorites for a launch group
- */
-public class LaunchHistory implements ILaunchListener, ILaunchConfigurationListener {
-
-	private ILaunchGroup fGroup;
-	
-	private List fHistory = new ArrayList();
-	private List fFavorites = new ArrayList();
-	private boolean fDirty = false;
-	private ILaunchConfiguration fRecentLaunch;
-	
-	private static List launchHistoryInstances= new ArrayList();
-	
-	/**
-	 * Creates a new launch history for the given launch group
-	 */
-	public LaunchHistory(ILaunchGroup group) {
-		fGroup = group;
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); 
-		manager.addLaunchListener(this);
-		manager.addLaunchConfigurationListener(this);
-		launchHistoryInstances.add(this);
-	}
-	
-	/**
-	 * Disposes this history
-	 */
-	public void dispose() {
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		manager.removeLaunchListener(this);
-		manager.removeLaunchConfigurationListener(this);
-		launchHistoryInstances.remove(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-		if (configuration != null && !configuration.isWorkingCopy() && accepts(configuration)) {
-			addHistory(configuration, true);
-			setRecentLaunch(configuration);
-		}
-	}
-	
-	/**
-	 * Adds the givev configuration to this hisotry
-	 * 
-	 * @param configuration
-	 * @param prepend whether the configuration should be added to the beginning of
-	 * the history list
-	 */
-	protected void addHistory(ILaunchConfiguration configuration, boolean prepend) {
-		clearDirty();
-		if (fFavorites.contains(configuration)) {
-			return;
-		}
-		// might be reconstructing history
-		if (checkIfFavorite(configuration)) {
-			return;
-		}
-		int index = fHistory.indexOf(configuration);
-		if (index < 0) {
-			if (prepend) {
-				fHistory.add(0, configuration);
-			} else {
-				fHistory.add(configuration);
-			}
-			resizeHistory();
-			setDirty();
-		} else if (index > 0) {
-			// move to first
-			for (int i = index; i > 0; i--) {
-				fHistory.set(i, fHistory.get(i -1));
-			}
-			fHistory.set(0, configuration);
-			setDirty();
-		}	
-		save();
-	}
-	
-	/**
-	 * Saves if dirty
-	 */
-	private void save() {
-		if (isDirty()) {
-			try {
-				DebugUIPlugin.getDefault().getLaunchConfigurationManager().persistLaunchHistory();
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			} catch (IOException e) {
-				DebugUIPlugin.log(e);
-			} catch (ParserConfigurationException e) {
-				DebugUIPlugin.log(e);
-			} catch (TransformerException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Clears the dirty flag
-	 */
-	private void clearDirty() {
-		fDirty = false;
-	}
-	
-	/**
-	 * Sets the dirty flag
-	 */
-	private void setDirty() {
-		fDirty = true;
-	}
-	
-	/**
-	 * Returns the dirty state
-	 */
-	private boolean isDirty() {
-		return fDirty;
-	}	
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-
-	/**
-	 * Returns the most recently launched configuration in this history, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return the most recently launched configuration in this history, or
-	 * <code>null</code> if none 
-	 */
-	public ILaunchConfiguration getRecentLaunch() {
-		return fRecentLaunch;
-	}
-	
-	/**
-	 * Sets the most recently launched configuration in this history, or
-	 * <code>null</code> if none.
-	 */
-	protected void setRecentLaunch(ILaunchConfiguration configuration) {
-		if (accepts(configuration)) {
-			if (!configuration.equals(fRecentLaunch)) {
-				fRecentLaunch = configuration;
-				setDirty();
-				save();
-			}
-		}
-	}	
-	
-	/**
-	 * Returns the launch configuration in this history, in most recently
-	 * launched order.
-	 * 
-	 * @return launch history
-	 */
-	public ILaunchConfiguration[] getHistory() {
-		return (ILaunchConfiguration[])fHistory.toArray(new ILaunchConfiguration[fHistory.size()]);
-	}
-	
-	/**
-	 * Returns the favorite launch configurations in this history, in the order
-	 * they were created.
-	 * 
-	 * @return launch favorites
-	 */
-	public ILaunchConfiguration[] getFavorites() {
-		return (ILaunchConfiguration[])fFavorites.toArray(new ILaunchConfiguration[fFavorites.size()]);
-	}
-	
-	/**
-	 * Sets this container's launch history.
-	 * 
-	 * @param history
-	 */
-	public void setHistory(ILaunchConfiguration[] history) {
-		fHistory = new ArrayList(history.length);
-		for (int i = 0; i < history.length; i++) {
-			fHistory.add(history[i]);
-		}
-		resizeHistory();
-		setDirty();
-		save();
-	}
-	
-	/**
-	 * Sets this container's favorites.
-	 * 
-	 * @param favorites
-	 */
-	public void setFavorites(ILaunchConfiguration[] favorites) {
-		fFavorites = new ArrayList(favorites.length);
-		for (int i = 0; i < favorites.length; i++) {
-			fFavorites.add(favorites[i]);
-		}
-		setDirty();
-		save();
-	}	
-	
-	/**
-	 * Adds the given configuration to the favorites list.
-	 * 
-	 * @param configuration
-	 */
-	public void addFavorite(ILaunchConfiguration configuration) {
-		clearDirty();
-		if (!fFavorites.contains(configuration)) {
-			fFavorites.add(configuration);
-			fHistory.remove(configuration);
-			setDirty();
-		}
-		save();
-	}
-	
-	/**
-	 * Returns the launch group associated with this history
-	 * 
-	 * @return group
-	 */
-	public ILaunchGroup getLaunchGroup() {
-		return fGroup;
-	}
-	
-	/**
-	 * Returns whether the given configruation is included in the group
-	 * associated with this launch history.
-	 * 
-	 * @param launch
-	 * @return boolean
-	 */
-	public boolean accepts(ILaunchConfiguration configuration) {
-		try {
-			if (!LaunchConfigurationManager.isVisible(configuration)) {
-				return false;
-			}
-			if (configuration.getType().supportsMode(getLaunchGroup().getMode())) {
-				String launchCategory = null;
-				launchCategory = configuration.getCategory();
-				String category = getLaunchGroup().getCategory();
-				if (launchCategory == null || category == null) {
-					return launchCategory == category;
-				}
-				return category.equals(launchCategory);
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		return false;
-	}	
-	
-	/**
-	 * Notifies all launch histories that the launch history size has changed.
-	 */
-	public static void launchHistoryChanged() {
-		Iterator iter= launchHistoryInstances.iterator();
-		while (iter.hasNext()) {
-			LaunchHistory history= (LaunchHistory) iter.next();
-			history.resizeHistory();
-			history.save();			
-		}
-
-	}
-	
-	/**
-	 * The max history size has changed - remove any histories if current
-	 * collection is too long.
-	 */
-	protected void resizeHistory() {
-		int max = getMaxHistorySize();
-		while (fHistory.size() > max) {
-			fHistory.remove(fHistory.size() - 1);
-			setDirty();
-		}
-	}
-
-	/**
-	 * Returns the maximum number of entries allowed in this history
-	 * 
-	 * @return the maximum number of entries allowed in this history
-	 */
-	protected int getMaxHistorySize() {
-		return DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugUIConstants.PREF_MAX_HISTORY_SIZE);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-		ILaunchConfiguration movedFrom = DebugPlugin.getDefault().getLaunchManager().getMovedFrom(configuration);
-		if (movedFrom == null) {
-			checkIfFavorite(configuration);
-		} else {
-			String movedFromName= movedFrom.getName();
-			ILaunchConfiguration[] history = getHistory();
-			for (int i = 0; i < history.length; i++) {
-				if (history[i].getName().equals(movedFromName)) {
-					if (i == 0) {
-						fRecentLaunch= configuration;
-					}
-					setDirty();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Adds the given config to the favorites list if it is a favorite, and
-	 * returns whether the config was added to the favorites list.
-	 * 
-	 * @param configuration
-	 * @return whether added to the favorites list
-	 */
-	protected boolean checkIfFavorite(ILaunchConfiguration configuration) {
-		// update favorites
-		if (configuration.isWorkingCopy()) {
-			return false;
-		}
-		try {
-			List favoriteGroups = configuration.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, (List)null);
-			if (favoriteGroups == null) {
-				// check deprecated attributes for backwards compatibility
-				String groupId = getLaunchGroup().getIdentifier();
-				boolean fav = false;
-				if (groupId.equals(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP)) {
-					fav = configuration.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
-				} else if (groupId.equals(IDebugUIConstants.ID_RUN_LAUNCH_GROUP)) {
-					fav = configuration.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
-				}
-				if (fav) {
-					addFavorite(configuration);
-					return true;
-				} else {
-					removeFavorite(configuration);
-					return false;
-				}
-			} else if (favoriteGroups.contains(getLaunchGroup().getIdentifier())) {
-				addFavorite(configuration);
-				return true;
-			} else {
-				removeFavorite(configuration);
-				return false;
-			}
-		} catch (CoreException e) {
-		}		
-		return false;
-	}
-	
-	/**
-	 * Revmoves the given config from the favorites list, if needed.
-	 * 
-	 * @param configuration
-	 */
-	protected void removeFavorite(ILaunchConfiguration configuration) {
-		if (fFavorites.contains(configuration)) {
-			fFavorites.remove(configuration);
-			setDirty();
-			save();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		checkIfFavorite(configuration);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		boolean changed = false;
-		ILaunchConfiguration newConfig = DebugPlugin.getDefault().getLaunchManager().getMovedTo(configuration);
-		if (newConfig == null) {
-			// deleted
-			changed = fHistory.remove(configuration);
-			changed = fFavorites.remove(configuration) || changed;
-		} else {
-			// moved/renamed
-			int index = fHistory.indexOf(configuration);
-			if (index >= 0) {
-				fHistory.remove(index);
-				fHistory.add(index, newConfig);
-				changed = true;
-			} else {
-				index = fFavorites.indexOf(configuration);
-				if (index >= 0) {
-					fFavorites.remove(index);
-					fFavorites.add(index, newConfig);
-				}
-			}
-			checkIfFavorite(newConfig);
-		}
-		if (changed) {
-			setDirty();
-			if (configuration.equals(fRecentLaunch)) {
-				if (!fHistory.isEmpty()) {
-					fRecentLaunch = (ILaunchConfiguration)fHistory.get(0);
-				} else if (!fFavorites.isEmpty()) {
-					fRecentLaunch = (ILaunchConfiguration)fFavorites.get(0);
-				} else {
-					fRecentLaunch = null;
-				}
-			}
-			save();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
deleted file mode 100644
index 483bded..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchShortcutExtension.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-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.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.Pair;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IPluginContribution;
-import org.osgi.framework.Bundle;
-
-
-/**
- * Proxy to a launch shortcut extension
- */
-public class LaunchShortcutExtension implements ILaunchShortcut, IPluginContribution {
-	
-	private ImageDescriptor fImageDescriptor = null;
-	private List fPerspectives = null;
-	private ILaunchShortcut fDelegate = null;
-	private Set fModes = null;
-	private IConfigurationElement fContextualLaunchConfigurationElement = null;
-	private Expression fContextualLaunchExpr = null;
-	private Expression fStandardLaunchExpr = null;
-	
-	/**
-	 * The configuration element defining this tab.
-	 */
-	private IConfigurationElement fConfig;
-	private /* <Pair> */ List fContextLabels;
-	
-	/**
-	 * Constructs a launch configuration tab extension based
-	 * on the given configuration element
-	 * 
-	 * @param element the configuration element defining the
-	 *  attribtues of this launch configuration tab extension
-	 * @return a new launch configuration tab extension
-	 */
-	public LaunchShortcutExtension(IConfigurationElement element) {
-		setConfigurationElement(element);
-	}
-	
-	/**
-	 * Sets the configuration element that defines the attributes
-	 * for this extension.
-	 * 
-	 * @param element configuration element
-	 */
-	private void setConfigurationElement(IConfigurationElement element) {
-		fConfig = element;
-	}
-	
-	/**
-	 * Returns the configuration element that defines the attributes
-	 * for this extension.
-	 * 
-	 * @param configuration element that defines the attributes
-	 *  for this launch configuration tab extension
-	 */
-	public IConfigurationElement getConfigurationElement() {
-		return fConfig;
-	}
-	
-	/**
-	 * Returns the label of this shortcut
-	 * 
-	 * @return the label of this shortcut, or <code>null</code> if not
-	 *  specified
-	 */
-	public String getLabel() {
-		return getConfigurationElement().getAttribute("label"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the configuration element for the optional Contextual Launch
-	 * element of this Launch Configuration description.
-	 * @return contextualLaunch element
-	 */
-	public IConfigurationElement getContextualLaunchConfigurationElement() {
-		if (fContextualLaunchConfigurationElement == null) {
-			IConfigurationElement[] elements = getConfigurationElement().getChildren("contextualLaunch"); //$NON-NLS-1$
-			if (elements.length > 0) {
-				// remember so we don't have to hunt again
-				fContextualLaunchConfigurationElement = elements[0];
-			}
-		}
-		return fContextualLaunchConfigurationElement;
-	}
-	/**
-	 * Returns the contextual launch label of this shortcut for the named mode.
-	 * <p>
-	 * <samp>
-	 * <launchShortcut...>
-	 *   <contextualLaunch>
-	 *     <contextLabel mode="run" label="Run Java Application"/>
-	 *     <contextLabel mode="debug" label="Debug Java Application"/>
-	 *     ...
-	 *   </contextualLaunch>
-	 * </launchShortcut>
-	 * </samp>
-	 * 
-	 * @return the contextual label of this shortcut, or <code>null</code> if not
-	 *  specified
-	 */
-	public String getContextLabel(String mode) {
-		// remember the list of context labels for this shortcut
-		if (fContextLabels == null) {
-			IConfigurationElement context = getContextualLaunchConfigurationElement();
-			if (context == null) {
-				return null;
-			}
-			IConfigurationElement[] labels = context.getChildren("contextLabel"); //$NON-NLS-1$
-			fContextLabels = new ArrayList(labels.length);
-			for (int i = 0; i < labels.length; i++) {
-				fContextLabels.add(new Pair(labels[i].getAttribute("mode"), //$NON-NLS-1$
-						labels[i].getAttribute("label"))); //$NON-NLS-1$
-			}
-		}
-		// pick out the first occurance of the "name" bound to "mode"
-		Iterator iter = fContextLabels.iterator();
-		while (iter.hasNext()) {
-			Pair p = (Pair) iter.next();
-			if (p.firstAsString().equals(mode)) {
-				return p.secondAsString();
-			}
-		}
-		return getLabel();
-	}
-	
-	/**
-	 * Evaluate the given expression within the given context and return
-	 * the result. Returns <code>true</code> iff result is either TRUE or NOT_LOADED.
-	 * This allows optimistic inclusion of shortcuts before plugins are loaded.
-	 * Returns <code>false</code> if exp is <code>null</code>.
-	 * 
-	 * @param exp the enablement expression to evaluate or <code>null</code>
-	 * @param context the context of the evaluation. Usually, the
-	 *  user's selection.
-	 * @return the result of evaluating the expression
-	 * @throws CoreException
-	 */
-	public boolean evalEnablementExpression(IEvaluationContext context, Expression exp) throws CoreException {
-		return (exp != null) ? ((exp.evaluate(context)) != EvaluationResult.FALSE) : false;
-	}
-	
-	/**
-	 * Returns an expression that represents the enablement logic for the
-	 * contextual launch element of this launch shortcut description or
-	 * <code>null</code> if none.
-	 * @return an evaluatable expression or <code>null</code>
-	 * @throws CoreException if the configuration element can't be
-	 *  converted. Reasons include: (a) no handler is available to
-	 *  cope with a certain configuration element or (b) the XML
-	 *  expression tree is malformed.
-	 */
-	public Expression getContextualLaunchEnablementExpression() throws CoreException {
-		// all of this stuff is optional, so...tedius testing is required
-		if (fContextualLaunchExpr == null) {
-			IConfigurationElement contextualLaunchElement = getContextualLaunchConfigurationElement();
-			if (contextualLaunchElement == null) {
-				// not available
-				return null;
-			}
-			IConfigurationElement[] elements = contextualLaunchElement.getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-
-			if (enablement != null) {
-				fContextualLaunchExpr= ExpressionConverter.getDefault().perform(enablement);
-			}
-		}
-		return fContextualLaunchExpr;
-	}
-	
-	/**
-	 * Returns an expression that represents the enablement logic for the
-	 * launch shortcut description or <code>null</code> if none.
-	 * @return an evaluatable expression or <code>null</code>
-	 * @throws CoreException if the configuration element can't be
-	 *  converted. Reasons include: (a) no handler is available to
-	 *  cope with a certain configuration element or (b) the XML
-	 *  expression tree is malformed.
-	 */
-	public Expression getShortcutEnablementExpression() throws CoreException {
-		// all of this stuff is optional, so...tedius testing is required
-		if (fStandardLaunchExpr == null) {
-			IConfigurationElement[] elements = getConfigurationElement().getChildren(ExpressionTagNames.ENABLEMENT);
-			IConfigurationElement enablement = elements.length > 0 ? elements[0] : null; 
-			if (enablement != null) {
-				fStandardLaunchExpr= ExpressionConverter.getDefault().perform(enablement);
-			}
-		}
-		return fStandardLaunchExpr;
-	}	
-	
-	/**
-	 * Returns the id of this shortcut
-	 * 
-	 * @return the id of this shortcut, or <code>null</code> if not specified
-	 */
-	public String getId() {
-		return getConfigurationElement().getAttribute("id"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the path of the icon for this shortcut, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the path of the icon for this shortcut, or <code>null</code>
-	 * if none
-	 */
-	protected String getIconPath() {
-		return getConfigurationElement().getAttribute("icon"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns the identifier of the help context associated with this launch
-	 * shortcut, or <code>null</code> if one was not specified.
-	 * 
-	 * @return the identifier of this launch shortcut's help context or
-	 * <code>null</code>
-	 * @since 2.1
-	 */	
-	public String getHelpContextId() {
-		return getConfigurationElement().getAttribute("helpContextId"); //$NON-NLS-1$		
-	}
-	
-	/**
-	 * Returns the category of this shortcut
-	 *
-	 * @return the category of this shortcut, or <code>null</code> if not
-	 *  specified
-	 */
-	public String getCategory() {
-		return getConfigurationElement().getAttribute("category"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * Returns the image for this shortcut, or <code>null</code> if none
-	 * 
-	 * @return the image for this shortcut, or <code>null</code> if none
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		if (fImageDescriptor == null) {
-			String iconPath = getIconPath();
-			// iconPath may be null because imageIcon is optional
-			if (iconPath != null) {
-				try {
-					Bundle bundle = Platform.getBundle(getConfigurationElement().getDeclaringExtension().getNamespace());
-					URL iconURL = bundle.getEntry("/"); //$NON-NLS-1$
-					iconURL = new URL(iconURL, iconPath);
-					fImageDescriptor = ImageDescriptor.createFromURL(iconURL);
-				} catch (MalformedURLException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-		}
-		return fImageDescriptor;
-	}
-	
-	/**
-	 * Returns the perspectives this shortcut is registered for.
-	 * 
-	 * @return list of Strings representing perspective identifiers 
-	 */
-	public List getPerspectives() {
-		if (fPerspectives == null) {
-			IConfigurationElement[] perspectives = getConfigurationElement().getChildren("perspective"); //$NON-NLS-1$
-			fPerspectives = new ArrayList(perspectives.length);
-			for (int i = 0; i < perspectives.length; i++) {
-				fPerspectives.add(perspectives[i].getAttribute("id")); //$NON-NLS-1$
-			}
-		}
-		return fPerspectives;
-	}
-	
-	/**
-	 * Returns this shortcut's delegate, or <code>null</code> if none
-	 * 
-	 * @return this shortcut's delegate, or <code>null</code> if none
-	 */
-	protected ILaunchShortcut getDelegate() {
-		if (fDelegate == null) {
-			try {
-				fDelegate = (ILaunchShortcut)fConfig.createExecutableExtension("class"); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.getString("LaunchShortcutExtension.Error_4"), LaunchConfigurationsMessages.getString("LaunchShortcutExtension.Unable_to_use_launch_shortcut_5"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return fDelegate;
-	}
-	
-	/**
-	 * @see ILaunchShortcut#launch(IEditorPart, String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		ILaunchShortcut shortcut = getDelegate();
-		if (shortcut != null) {
-			shortcut.launch(editor, mode);
-		}
-	}
-
-	/**
-	 * @see ILaunchShortcut#launch(ISelection, String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		ILaunchShortcut shortcut = getDelegate();
-		if (shortcut != null) {
-			shortcut.launch(selection, mode);
-		}		
-	}
-	
-	/**
-	 * Returns the set of modes this shortcut supports.
-	 * 
-	 * @return the set of modes this shortcut supports
-	 */
-	public Set getModes() {
-		if (fModes == null) {
-			String modes= getConfigurationElement().getAttribute("modes"); //$NON-NLS-1$
-			if (modes == null) {
-				return new HashSet(0);
-			}
-			StringTokenizer tokenizer= new StringTokenizer(modes, ","); //$NON-NLS-1$
-			fModes = new HashSet(tokenizer.countTokens());
-			while (tokenizer.hasMoreTokens()) {
-				fModes.add(tokenizer.nextToken().trim());
-			}
-		}
-		return fModes;
-	}
-	
-	/*
-	 * Only for debugging
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getId();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getLocalId()
-	 */
-	public String getLocalId() {
-		return getId();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPluginContribution#getPluginId()
-	 */
-	public String getPluginId() {
-		return fConfig.getDeclaringExtension().getNamespace();
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
deleted file mode 100644
index eb933dc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/OrganizeFavoritesAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.Action;
-
-/**
- * OrganizeFavoritesAction
- */
-public class OrganizeFavoritesAction extends Action {
-	
-	// launch group identifier
-	private String fGroupId; 
-	
-	/**
-	 * @param text
-	 */
-	public OrganizeFavoritesAction(String launchGroupId) {
-		super(LaunchConfigurationsMessages.getString("OrganizeFavoritesAction.0")); //$NON-NLS-1$
-		fGroupId = launchGroupId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		LaunchHistory history = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchHistory(fGroupId);
-		FavoritesDialog dialog = new FavoritesDialog(DebugUIPlugin.getShell(), history);
-		dialog.open();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationFactory.java
deleted file mode 100644
index 7afd5a2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationFactory.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * This is a combination factory and persistable element for launch configurations.
- * This is necessary because the IPersistableElement/IElementFactory framework used by
- * the platform working set support live in the UI plugin.  Launch configurations are
- * defined in a non-UI plugin, thus we need this class to handle persistence and 
- * recreation on behalf of launch configs.
- * 
- */
-public class PersistableLaunchConfigurationFactory implements IPersistableElement, IElementFactory {
-
-	private ILaunchConfiguration fConfig;
-	
-	private static final String KEY = "launchConfigMemento"; //$NON-NLS-1$
-	private static final String FACTORY_ID = "org.eclipse.debug.ui.PersistableLaunchConfigurationFactory"; //$NON-NLS-1$
-
-	public PersistableLaunchConfigurationFactory() {
-	}
-
-	public PersistableLaunchConfigurationFactory(ILaunchConfiguration config) {
-		setConfig(config);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPersistableElement#getFactoryId()
-	 */
-	public String getFactoryId() {
-		return FACTORY_ID;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPersistableElement#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		try {
-			String configMemento = getConfig().getMemento();
-			memento.putString(KEY, configMemento);		
-		} catch (CoreException ce) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IElementFactory#createElement(IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		try {
-			String launchConfigMemento = memento.getString(KEY);
-			return getLaunchManager().getLaunchConfiguration(launchConfigMemento);
-		} catch (CoreException ce) {
-		}
-		return null;
-	}
-
-	private void setConfig(ILaunchConfiguration config) {
-		fConfig = config;
-	}
-
-	private ILaunchConfiguration getConfig() {
-		return fConfig;
-	}
-	
-	private ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationTypeFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationTypeFactory.java
deleted file mode 100644
index 7d494e6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PersistableLaunchConfigurationTypeFactory.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
- 
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * This is a combination factory and persistable element for launch configuration types.
- * This is necessary because the IPersistableElement/IElementFactory framework used by
- * the platform working set support live in the UI plugin.  Launch configuration types are
- * defined in a non-UI plugin, thus we need this class to handle persistence and 
- * recreation on behalf of launch config types.
- * 
- */
-public class PersistableLaunchConfigurationTypeFactory implements IPersistableElement, IElementFactory {
-
-	private ILaunchConfigurationType fConfigType;
-
-	private static final String KEY = "launchConfigTypeID"; //$NON-NLS-1$
-	private static final String FACTORY_ID = "org.eclipse.debug.ui.PersistableLaunchConfigurationTypeFactory"; //$NON-NLS-1$
-
-	public PersistableLaunchConfigurationTypeFactory() {
-	}
-
-	public PersistableLaunchConfigurationTypeFactory(ILaunchConfigurationType configType) {
-		setConfigType(configType);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPersistableElement#getFactoryId()
-	 */
-	public String getFactoryId() {
-		return FACTORY_ID;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPersistableElement#saveState(IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		String configTypeID = getConfigType().getIdentifier();
-		memento.putString(KEY, configTypeID);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IElementFactory#createElement(IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		String configTypeID = memento.getString(KEY);
-		return getLaunchManager().getLaunchConfigurationType(configTypeID);
-	}
-
-	private void setConfigType(ILaunchConfigurationType configType) {
-		fConfigType = configType;
-	}
-
-	private ILaunchConfigurationType getConfigType() {
-		return fConfigType;
-	}
-
-	private ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
deleted file mode 100644
index e016768..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-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;
-
-/**
- * The perspective manager manages the 'perspective' settings
- * defined by launch configurations. Specifically it: <ul>
- * <li>changes perspectives as launches are registered</li>
- * <li>change perspective when a thread suspends</li>
- * </ul>
- * 
- * @see IDebugUIContants.ATTR_RUN_PERSPECTIVE
- * @see IDebugUIContants.ATTR_DEBUG_PERSPECTIVE
- */
-public class PerspectiveManager implements ILaunchListener, IDebugEventSetListener {
-		
-	/**
-	 * Table of config types to tables of user specified perspective settings (mode ids
-	 * to perspective ids).
-	 */	
-	private Map fPreferenceMap;
-	
-	// XML tags
-	private static final String ELEMENT_PERSPECTIVES = "launchPerspectives"; //$NON-NLS-1$
-	private static final String ELEMENT_PERSPECTIVE = "launchPerspective"; //$NON-NLS-1$
-	private static final String ATTR_TYPE_ID = "configurationType"; //$NON-NLS-1$
-	private static final String ATTR_MODE_ID = "mode"; //$NON-NLS-1$
-	private static final String ATTR_PERSPECTIVE_ID = "perspective";  //$NON-NLS-1$
-
-	/**
-	 * Flag used to indicate that the user is already being prompted to
-	 * switch perspectives. This flag allows us to not open multiple
-	 * prompts at the same time.
-	 */
-	private boolean fPrompting;
-		
-	/**
-	 * Called by the debug ui plug-in on startup.
-	 * The perspective manager starts listening for
-	 * launches to be registered.
-	 */
-	public void startup() {
-		DebugPlugin plugin = DebugPlugin.getDefault();
-		plugin.getLaunchManager().addLaunchListener(this);
-		plugin.addDebugEventListener(this);
-	}
-
-	/**
-	 * Called by the debug ui plug-in on shutdown.
-	 * The perspective manager de-registers as a 
-	 * launch listener.
-	 */
-	public void shutdown() {
-		DebugPlugin plugin = DebugPlugin.getDefault();
-		plugin.getLaunchManager().removeLaunchListener(this);
-		plugin.removeDebugEventListener(this);
-	}
-
-	/**
-	 * Do nothing.
-	 * 
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-	}
-	
-	/**
-	 * Do nothing.
-	 * 
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(ILaunch launch) {
-	}	
-
-	/** 
-	 * Switch to the perspective specified by the
-	 * launch configuration.
-	 * 
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		String perspectiveId = null;
-		// check event filters
-		try {
-			perspectiveId = getPerspectiveId(launch);
-		} catch (CoreException e) {
-			String name = DebugUIPlugin.getModelPresentation().getText(launch);
-			switchFailed(e, name);
-		}
-		
-		// don't switch if a private config
-		ILaunchConfiguration configuration = launch.getLaunchConfiguration();
-		if (configuration != null) {
-			if (!LaunchConfigurationManager.isVisible(configuration)) {
-				perspectiveId = null;
-			}
-		}
-		
-		final String id= perspectiveId;
-		// switch
-		async(new Runnable() {
-			public void run() {
-				IWorkbenchWindow window = getWindowForPerspective(id);
-				if (id != null && window != null && shouldSwitchPerspectiveForLaunch(window, id)) {
-					switchToPerspective(window, id);
-				}
-			}
-		});
-		
-	}
-
-
-	/**
-	 * Switches to the specified perspective
-	 * 
-	 * @param id perspective identifier
-	 */
-	protected void switchToPerspective(IWorkbenchWindow window, String id) {
-		try {
-			window.getWorkbench().showPerspective(id, window);
-		} catch (WorkbenchException e) {
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(),
-			LaunchConfigurationsMessages.getString("PerspectiveManager.Error_1"),  //$NON-NLS-1$
-			MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectiveManager.Unable_to_switch_to_perspective__{0}_2"), new String[]{id}), //$NON-NLS-1$
-			e);
-		}
-	}
-	
-	/**
-	 * Utility method to submit an asnychronous runnable to the UI
-	 */
-	protected void async(Runnable r) {
-		Display d = DebugUIPlugin.getStandardDisplay();
-		if (d != null && !d.isDisposed()) {
-			d.asyncExec(r);
-		}
-	}
-	
-	/**
-	 * Utility method to submit a synchronous runnable to the UI
-	 */
-	protected void sync(Runnable r) {
-		Display d = DebugUIPlugin.getStandardDisplay();
-		if (d != null && !d.isDisposed()) {
-			d.syncExec(r);
-		}
-	}	
-
-	/**
-	 * Reports failure to switch perspectives to the user
-	 * 
-	 * @param status exception status describing failure
-	 * @param launchName the name of the launch that the
-	 *  failure is associated with
-	 */
-	protected void switchFailed(final Throwable t, final String launchName) {
-		sync(new Runnable() {
-			public void run() {
-				DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), LaunchConfigurationsMessages.getString("PerspectiveManager.Error_1"),  //$NON-NLS-1$
-				 MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectiveManager.Unable_to_switch_perpsectives_as_specified_by_launch__{0}_4"), new String[] {launchName}), //$NON-NLS-1$
-				 t);
-			}});
-	}
-	
-	/**
-	 * On a SUSPEND event, show the debug view. If no debug view is open,
-	 * switch to the perspective specified by the launcher.
-	 *
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		// open the debugger if this is a suspend event and the debug view is not yet open
-		// and the preferences are set to switch
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getKind() == DebugEvent.SUSPEND && event.getDetail() == DebugEvent.BREAKPOINT) {
-				handleBreakpointHit(event);
-			}
-		}
-	}
-	
-	/**
-	 * Makes the debug view visible.
-	 */
-	protected void showDebugView(final IWorkbenchWindow window) {
-		if (fPrompting) {
-			// Wait until the user has dismissed the perspective
-			// switching dialog before opening the view.
-			Thread thread= new Thread(new Runnable() {
-				public void run() {
-					if (fPrompting) {
-						synchronized (PerspectiveManager.this) {
-							try {
-								PerspectiveManager.this.wait();
-							} catch (InterruptedException e) {
-							}
-						}
-					}
-					async(new Runnable() {
-						public void run() {
-							doShowDebugView(window);
-						}
-					});
-				}
-			});
-			thread.start();
-			return;
-		}
-		doShowDebugView(window);
-	}
-	
-	/**
-	 * Shows the debug view in the given workbench window.
-	 */
-	private void doShowDebugView(IWorkbenchWindow window) {
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			try {
-				page.showView(IDebugUIConstants.ID_DEBUG_VIEW, null, IWorkbenchPage.VIEW_VISIBLE);
-			} catch (PartInitException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-	}
-	/**
-	 * A breakpoint has been hit. Carry out perspective switching
-	 * as appropriate for the given debug event. 
-	 * 
-	 * @param event the suspend event
-	 */
-	private void handleBreakpointHit(DebugEvent event) {
-		// apply event filters
-		ILaunch launch= null;
-		Object source = event.getSource();
-		if (source instanceof IDebugElement) {
-			launch = ((IDebugElement)source).getLaunch();
-		} else if (source instanceof IProcess) {
-			launch = ((IProcess)source).getLaunch();
-		}
-		String perspectiveId = null;
-		try {
-			perspectiveId = getPerspectiveId(launch);
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		// if no perspective specified, always switch to debug
-		// perspective 
-
-		// this has to be done in an asynch, such that the workbench
-		// window can be accessed
-		final String targetId = perspectiveId;
-		Runnable r = new Runnable() {
-			public void run() {
-				IWorkbenchWindow window = null;
-				if (targetId != null) {
-					window = getWindowForPerspective(targetId);
-					if (window == null) {
-						return;
-					}
-					// re-open the window if minimized 
-					Shell shell= window.getShell();
-					if (shell != null) {
-						if (shell.getMinimized()) {
-							shell.setMinimized(false);
-						}
-						if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH)) {
-							shell.forceActive();
-						}
-					}
-					if (shouldSwitchPerspectiveForSuspend(window, targetId)) {
-						switchToPerspective(window, targetId);
-					}
-				}
-				if (window != null && DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW)) {
-					showDebugView(window);
-				}
-			}
-		};
-		async(r);
-	}
-	
-	/**
-	 * Returns the workbench window in which the given perspective
-	 * should be shown. First, check the current window to see if it
-	 * is already showing the perspective. Then check any other windows.
-	 * 
-	 * @param perspectiveId the perspective identifier
-	 * @return which window the given perspective should be shown in
-	 *  or <code>null</code> if there are no windows available
-	 */
-	private IWorkbenchWindow getWindowForPerspective(String perspectiveId) {
-		// Check the active window first
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (isWindowShowingPerspective(window, perspectiveId)) {
-			return window;
-		}
-		// Then check all other windows
-		IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			window = windows[i];
-			if (isWindowShowingPerspective(window, perspectiveId)) {
-				return window;
-			}
-		}
-		// Finally, just return a window in which the perspective
-		// should be created
-		window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			return window;
-		}
-		if (windows.length > 0) {
-			return windows[0];
-		}
-		return null;
-	}
-	
-	private boolean isWindowShowingPerspective(IWorkbenchWindow window, String perspectiveId) {
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor perspectiveDescriptor = page.getPerspective();
-				if (perspectiveDescriptor != null && perspectiveDescriptor.getId().equals(perspectiveId)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether or not the user wishes to switch to the specified
-	 * perspective when a suspend occurs.
-	 * 
-	 * @param perspectiveName the name of the perspective that will be presented
-	 *  to the user for confirmation if they've asked to be prompted about
-	 *  perspective switching for suspension
-	 * @return whether or not the user wishes to switch to the specified perspective
-	 *  automatically when the given launch suspends
-	 */
-	protected boolean shouldSwitchPerspectiveForSuspend(IWorkbenchWindow window, String perspectiveId) {
-		return shouldSwitchPerspective(window, perspectiveId, LaunchConfigurationsMessages.getString("PerspectiveManager.13"), IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns whether or not the user wishes to switch to the specified
-	 * perspective when a launch occurs.
-	 * 
-	 * @param perspectiveName the name of the perspective that will be presented
-	 *  to the user for confirmation if they've asked to be prompted about
-	 *  perspective switching
-	 * @return whether or not the user wishes to switch to the specified perspective
-	 *  automatically when a launch occurs
-	 */
-	protected boolean shouldSwitchPerspectiveForLaunch(IWorkbenchWindow window, String perspectiveId) {
-		return shouldSwitchPerspective(window, perspectiveId, LaunchConfigurationsMessages.getString("PerspectiveManager.15"), IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns whether or not the user wishes to switch to the specified
-	 * perspective when a launch occurs.
-	 * 
-	 * @param perspectiveName the name of the perspective that will be presented
-	 *  to the user for confirmation if they've asked to be prompted about
-	 *  perspective switching
-	 * @param message a message to be presented to the user. This message is expected to
-	 *  contain a slot for the perspective name to be inserted ("{0}").
-	 * @param preferenceKey the preference key of the perspective switching preference
-	 * @return whether or not the user wishes to switch to the specified perspective
-	 *  automatically
-	 */
-	private boolean shouldSwitchPerspective(IWorkbenchWindow window, String perspectiveId, String message, String preferenceKey) {
-		if (isCurrentPerspective(window, perspectiveId) || fPrompting) {
-			return false;
-		}
-		String perspectiveName= getPerspectiveLabel(perspectiveId);
-		Shell shell= Display.getDefault().getActiveShell();
-		if (perspectiveName == null || shell == null) {
-			return false;
-		}
-		String switchPerspective= DebugUIPlugin.getDefault().getPreferenceStore().getString(preferenceKey);
-		if (MessageDialogWithToggle.ALWAYS.equals(switchPerspective)) {
-			return true;
-		} else if (MessageDialogWithToggle.NEVER.equals(switchPerspective)) {
-			return false;
-		}
-		fPrompting= true;
-
-		MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(shell, LaunchConfigurationsMessages.getString("PerspectiveManager.12"), MessageFormat.format(message, new String[] { perspectiveName }), null, false, DebugUIPlugin.getDefault().getPreferenceStore(), preferenceKey); //$NON-NLS-1$
-		boolean answer = (dialog.getReturnCode() == IDialogConstants.YES_ID);
-		synchronized (this) {
-			fPrompting= false;
-			notifyAll();
-		}
-		return answer;
-	}
-	
-	/**
-	 * Returns whether the given perspective identifier matches the
-	 * identifier of the current perspective.
-	 * 
-	 * @param perspectiveId the identifier
-	 * @return whether the given perspective identifier matches the
-	 *  identifier of the current perspective
-	 */
-	protected boolean isCurrentPerspective(IWorkbenchWindow window, String perspectiveId) {
-		boolean isCurrent= false;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor perspectiveDescriptor = page.getPerspective();
-				if (perspectiveDescriptor != null) {
-					isCurrent= perspectiveId.equals(perspectiveDescriptor.getId());
-				}
-			}
-		}
-		return isCurrent;
-	}
-	
-	/**
-	 * Returns the label of the perspective with the given identifier or
-	 * <code>null</code> if no such perspective exists.
-	 * 
-	 * @param perspectiveId the identifier
-	 * @return the label of the perspective with the given identifier or
-	 *  <code>null</code> if no such perspective exists 
-	 */
-	protected String getPerspectiveLabel(String perspectiveId) {
-		IPerspectiveDescriptor newPerspective = PlatformUI.getWorkbench().getPerspectiveRegistry().findPerspectiveWithId(perspectiveId);
-		if (newPerspective == null) {
-			return null;
-		}
-		return newPerspective.getLabel();
-	}
-
-	/** 
-	 * Returns the perspective associated with the
-	 * given launch, or <code>null</code> if none.
-	 * 
-	 * @param launch a launch
-	 * @return the perspective associated with the launch,
-	 * 	or <code>null</code>
-	 * @exception CoreException if unable to retrieve a required
-	 *  launch configuration attribute
-	 */
-	protected String getPerspectiveId(ILaunch launch) throws CoreException {
-		if (launch == null) {
-			return null;
-		}
-		ILaunchConfiguration config = launch.getLaunchConfiguration();
-		if (config == null) {
-			return null;
-		}
-		String perspectiveId = null;
-		perspectiveId = DebugUITools.getLaunchPerspective(config.getType(), launch.getLaunchMode());
-		if (perspectiveId != null && perspectiveId.equals(IDebugUIConstants.PERSPECTIVE_NONE)) {
-			perspectiveId = null;
-		}
-		return perspectiveId;
-	}
-	
-	/**
-	 * Returns the perspective to switch to when a configuration of the given type
-	 * is launched in the given mode, or <code>null</code> if no switch should take
-	 * place.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode identifier
-	 * @return perspective identifier or <code>null</code>
-	 * @since 3.0
-	 */
-	public String getLaunchPerspective(ILaunchConfigurationType type, String mode) {
-		String id = getUserSpecifiedLaunchPerspective(type, mode);
-		if (id == null) {
-			// get the default
-			id = getDefaultLaunchPerspective(type, mode);
-		} else if (id.equals(IDebugUIConstants.PERSPECTIVE_NONE)) {
-			// translate NONE to null
-			id = null;
-		}
-		return id;
-	}
-	
-	/**
-	 * Sets the perspective to switch to when a configuration of the given type
-	 * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
-	 * perspective switch should take place. <code>PERSPECTIVE_DEFAULT</code> indicates
-	 * a default perspective switch should take place, as defined by the associated
-	 * launch tab group extension. Saves plug-in preferences.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode identifier
-	 * @param perspective identifier, <code>PERSPECTIVE_NONE</code>, or
-	 *   <code>PERSPECTIVE_DEFAULT</code>
-	 * @since 3.0
-	 */
-	public void setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective) {
-		internalSetLaunchPerspective(type.getIdentifier(), mode, perspective);
-		// update preference
-		String xml;
-		try {
-			xml = generatePerspectiveXML();
-			DebugUIPlugin.getDefault().getPreferenceStore().putValue(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES, xml);
-			DebugUIPlugin.getDefault().savePluginPreferences();				
-		} catch (IOException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.getString("PerspectiveManager.9"), e)); //$NON-NLS-1$
-		} catch (ParserConfigurationException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.getString("PerspectiveManager.9"), e)); //$NON-NLS-1$
-		} catch (TransformerException e) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus(LaunchConfigurationsMessages.getString("PerspectiveManager.9"), e)); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Sets the perspective to switch to when a configuration of the given type
-	 * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
-	 * perspective switch should take place. <code>PERSPECTIVE_DEFAULT</code> indicates
-	 * a default perspective switch should take place, as defined by the associated
-	 * launch tab group extension.
-	 * 
-	 * @param type launch configuration type identifier
-	 * @param mode launch mode identifier
-	 * @param perspective identifier, <code>PERSPECTIVE_NONE</code>, or
-	 *   <code>PERSPECTIVE_DEFAULT</code>
-	 * @since 3.0
-	 */
-	private void internalSetLaunchPerspective(String type, String mode, String perspective) {
-		if (fPreferenceMap == null) {
-			initPerspectives();
-		}		
-		Map modeMap = (Map)fPreferenceMap.get(type);
-		if (modeMap == null) {
-			modeMap = new HashMap();
-			fPreferenceMap.put(type, modeMap);
-		}
-		if (perspective.equals(IDebugUIConstants.PERSPECTIVE_DEFAULT)) {
-			// remove user preference setting
-			modeMap.remove(mode);
-		} else {
-			// override default setting
-			modeMap.put(mode, perspective);
-		}
-	}
-	
-	/**
-	 * Generates XML for the user specified perspective settings.
-	 *  
-	 * @return XML
-	 * @exception IOException if unable to generate the XML
-     * @exception TransformerException if unable to generate the XML
-     * @exception ParserConfigurationException if unable to generate the XML
-	 */
-	private String generatePerspectiveXML() throws ParserConfigurationException, TransformerException, IOException {
-		
-		Document doc = DebugUIPlugin.getDocument();
-		Element configRootElement = doc.createElement(ELEMENT_PERSPECTIVES);
-		doc.appendChild(configRootElement);
-		
-		Iterator configTypes = fPreferenceMap.keySet().iterator();
-		while (configTypes.hasNext()) {
-			String type = (String)configTypes.next();
-			Map modeMap = (Map)fPreferenceMap.get(type);
-			if (modeMap != null && !modeMap.isEmpty()) {
-				Iterator modes = modeMap.keySet().iterator();
-				while (modes.hasNext()) {
-					String mode = (String)modes.next();
-					String perspective = (String)modeMap.get(mode);
-					Element element = doc.createElement(ELEMENT_PERSPECTIVE);
-					element.setAttribute(ATTR_TYPE_ID, type);
-					element.setAttribute(ATTR_MODE_ID, mode);
-					element.setAttribute(ATTR_PERSPECTIVE_ID, perspective);
-					configRootElement.appendChild(element);
-				}
-			}			
-		}
-
-		return DebugUIPlugin.serializeDocument(doc);		
-	}
-
-	/**
-	 * Returns the default perspective to switch to when a configuration of the given
-	 * type is launched in the given mode, or <code>null</code> if none.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode
-	 * @return perspective identifier, or <code>null</code>
-	 */
-	protected String getDefaultLaunchPerspective(ILaunchConfigurationType type, String mode) {
-		LaunchConfigurationTabGroupExtension extension = LaunchConfigurationPresentationManager.getDefault().getExtension(type.getIdentifier(), mode);
-		if (extension != null) {
-			String id = extension.getPerspective(mode);
-			if (id == null) {
-				// revert to hard coded default (for backwards compatibility)
-				// since nothing is specified in XML
-				if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-					return IDebugUIConstants.ID_DEBUG_PERSPECTIVE;
-				}	
-			} else {
-				return id;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the user specified perspective to switch to when a configuration of the
-	 * given type is launched in the given mode, or <code>null</code> if unspecified.
-	 * Returns <code>PERSPECTIVE_NONE</code> to indicate no switch
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode
-	 * @return perspective identifier, <code>PERSPECTIVE_NONE</code>, or <code>null</code>
-	 */
-	protected String getUserSpecifiedLaunchPerspective(ILaunchConfigurationType type, String mode) {
-		String id = null;
-		if (fPreferenceMap == null) {
-			initPerspectives();
-		}
-		Map modeMap = (Map)fPreferenceMap.get(type.getIdentifier());
-		if (modeMap != null) {
-			id = (String)modeMap.get(mode);
-		}
-		return id;
-	}
-
-	/**
-	 * Initialize the preference map with settings from user preference
-	 */
-	private void initPerspectives() {
-		fPreferenceMap = new HashMap();
-		String xml = DebugUIPlugin.getDefault().getPreferenceStore().getString(IInternalDebugUIConstants.PREF_LAUNCH_PERSPECTIVES);
-		if (xml != null && xml.length() > 0) {
-			try {
-				Element root = null;
-				DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-				StringReader reader = new StringReader(xml);
-				InputSource source = new InputSource(reader);
-				root = parser.parse(source).getDocumentElement();
-				
-				NodeList list = root.getChildNodes();
-				int length = list.getLength();
-				for (int i = 0; i < length; ++i) {
-					Node node = list.item(i);
-					short nt = node.getNodeType();
-					if (nt == Node.ELEMENT_NODE) {
-						Element element = (Element) node;
-						String nodeName = element.getNodeName();
-						if (nodeName.equalsIgnoreCase(ELEMENT_PERSPECTIVE)) {
-							String type = element.getAttribute(ATTR_TYPE_ID);
-							String mode = element.getAttribute(ATTR_MODE_ID);
-							String perpsective = element.getAttribute(ATTR_PERSPECTIVE_ID);
-							internalSetLaunchPerspective(type, mode, perpsective);
-						}
-					}
-				}				
-			} catch (ParserConfigurationException e) {
-				DebugUIPlugin.log(e);			
-			} catch (SAXException e) {
-				DebugUIPlugin.log(e);
-			} catch (IOException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveTabGroup.java
deleted file mode 100644
index 99e2ba5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveTabGroup.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-
-/**
- * PerspectiveTabGroup
- */
-public class PerspectiveTabGroup extends AbstractLaunchConfigurationTabGroup {
-	
-	private ILaunchConfigurationType fType;
-
-	public PerspectiveTabGroup(ILaunchConfigurationType type) {
-		fType = type;
-	}
-
-	/* (non-Javadoc)
-	 * @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 PerspectivesTab(fType)}; 
-		setTabs(tabs);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectivesTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectivesTab.java
deleted file mode 100644
index 83cfdf0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectivesTab.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.launchConfigurations;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-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.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.PixelConverter;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-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.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * PerspectivesTab
- */
-public class PerspectivesTab extends AbstractLaunchConfigurationTab implements ILaunchConfigurationListener {
-	
-	/**
-	 * The launch config type this tab pertains to
-	 */
-	private ILaunchConfigurationType fType = null;
-	
-	/**
-	 * Array containing modes this config type supports
-	 */
-	private String[] fModeIds = null;
-			
-	/**
-	 * Array of all perspective labels for combo box (including 'None')
-	 */
-	private String[] fPerspectiveLabels = null;
-	
-	/**
-	 * Map of perspective labels to ids
-	 */
-	private Map fPerspectiveIds = null;
-
-	/**
-	 * Combo boxes corresponding to modes
-	 */
-	private Combo[] fCombos = null;
-	
-	private Button fRestoreDefaults;
-	
-	/**
-	 * A selection adapter which responds to widget selections in this tab
-	 */
-	private SelectionAdapter fSelectionAdapter= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object source= e.getSource();
-			if (source == fRestoreDefaults) {
-				handleRestoreDefaultsSelected();
-			}
-			updateLaunchConfigurationDialog();
-		}
-		private void handleRestoreDefaultsSelected() {
-			for (int i = 0; i < fCombos.length; i++) {
-				String mode = (String)fCombos[i].getData();
-				String def = DebugUIPlugin.getDefault().getPerspectiveManager().getDefaultLaunchPerspective(getLaunchConfigurationType(), mode);
-				if (def == null) {
-					fCombos[i].setText(LaunchConfigurationsMessages.getString("PerspectivesTab.1")); //$NON-NLS-1$
-				} else {
-					IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
-					IPerspectiveDescriptor descriptor = registry.findPerspectiveWithId(def);
-					fCombos[i].setText(descriptor.getLabel());
-				}
-			}
-		}
-	};
-	
-	/**
-	 * Flag indicating the UI is updating from the config, and should not
-	 * update the config in response to the change.
-	 */
-	private boolean fInitializing = false;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchConfigurationListener(this);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationAdded(ILaunchConfiguration configuration) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		if (!configuration.isWorkingCopy()) {
-			if (configuration.getName().startsWith(getLaunchConfigurationType().getIdentifier())) {
-				for (int i = 0; i < fModeIds.length; i++) {
-					String mode = fModeIds[i];
-					try {
-						String persp = configuration.getAttribute(mode, (String)null);
-						if (persp == null) {
-							// default
-							persp = IDebugUIConstants.PERSPECTIVE_DEFAULT;
-						}
-						DebugUITools.setLaunchPerspective(getLaunchConfigurationType(), mode, persp);
-					} catch (CoreException e) {
-						DebugUIPlugin.log(e);
-					}
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-	}
-
-	/**
-	 * Constructs a new tab
-	 * 
-	 * @param type
-	 */
-	public PerspectivesTab(ILaunchConfigurationType type) {
-		super();
-		fType = type;
-		DebugPlugin.getDefault().getLaunchManager().addLaunchConfigurationListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJS_PERSPECTIVE_TAB);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		setControl(composite);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_PERSPECTIVE_TAB);
-		GridLayout layout = new GridLayout(2, false);
-		composite.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gd);
-		composite.setFont(parent.getFont());
-		
-		Label label = new Label(composite, SWT.LEFT + SWT.WRAP);
-		label.setFont(parent.getFont());
-		label.setText(MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectivesTab.0"), new String[]{getLaunchConfigurationType().getName()})); //$NON-NLS-1$
-		gd = new GridData();
-		PixelConverter converter = new PixelConverter(label);
-		gd.widthHint = converter.convertWidthInCharsToPixels(80);
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-		
-		// init modes
-		ILaunchMode[] modes = DebugPlugin.getDefault().getLaunchManager().getLaunchModes();
-		ArrayList supported = new ArrayList();
-		for (int i = 0; i < modes.length; i++) {
-			ILaunchMode mode = modes[i];
-			if (getLaunchConfigurationType().supportsMode(mode.getIdentifier())) {
-				supported.add(mode.getIdentifier());
-			}
-		}
-		fModeIds = (String[])supported.toArray(new String[supported.size()]);
-		
-		// init perspective labels
-		IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		IPerspectiveDescriptor[] descriptors = registry.getPerspectives();
-		fPerspectiveLabels = new String[descriptors.length + 1];
-		fPerspectiveLabels[0] = LaunchConfigurationsMessages.getString("PerspectivesTab.1"); //$NON-NLS-1$
-		fPerspectiveIds = new HashMap(descriptors.length);
-		for (int i = 0; i < descriptors.length; i++) {
-			IPerspectiveDescriptor descriptor = descriptors[i];
-			fPerspectiveLabels[i + 1] = descriptor.getLabel();
-			fPerspectiveIds.put(descriptor.getLabel(), descriptor.getId());
-		}
-		
-		// spacer
-		createVerticalSpacer(composite, 2);
-		
-		fCombos = new Combo[fModeIds.length];
-		for (int i = 0; i < fModeIds.length; i++) {
-			label = new Label(composite, SWT.NONE);
-			label.setFont(composite.getFont());
-			gd = new GridData(GridData.BEGINNING);
-			gd.horizontalSpan= 1;
-			label.setLayoutData(gd);
-			String text = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(fModeIds[i]).getLabel();
-			label.setText(MessageFormat.format(LaunchConfigurationsMessages.getString("PerspectivesTab.2"), new String[]{text})); //$NON-NLS-1$
-			
-			Combo combo = new Combo(composite, SWT.READ_ONLY);
-			combo.setFont(composite.getFont());
-			combo.setItems(fPerspectiveLabels);
-			combo.setData(fModeIds[i]);
-			gd = new GridData(GridData.BEGINNING);
-			combo.setLayoutData(gd);
-			fCombos[i] = combo;
-			combo.addSelectionListener(fSelectionAdapter);
-		}
-		
-		createVerticalSpacer(composite, 2);
-		
-		fRestoreDefaults = createPushButton(composite, LaunchConfigurationsMessages.getString("PerspectivesTab.3"), null); //$NON-NLS-1$
-		fRestoreDefaults.addSelectionListener(fSelectionAdapter);
-		
-		Dialog.applyDialogFont(composite);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		for (int i = 0; i < fModeIds.length; i++) {
-			String mode = fModeIds[i];
-			// null indicates default
-			configuration.setAttribute(mode, (String)null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		// each perspective is stored with its mode identifier
-		fInitializing = true;
-		IPerspectiveRegistry registry = PlatformUI.getWorkbench().getPerspectiveRegistry();
-		for (int i = 0; i < fModeIds.length; i++) {
-			String mode = fModeIds[i];
-			String persp;
-			try {
-				persp = configuration.getAttribute(mode, (String)null);
-				if (persp == null) {
-					// null indicates default
-					persp = DebugUITools.getLaunchPerspective(getLaunchConfigurationType(), mode);
-				}
-				if (IDebugUIConstants.PERSPECTIVE_NONE.equals(persp)) {
-					persp = null;
-				}
-				IPerspectiveDescriptor descriptor = null;
-				if (persp != null) {
-					descriptor = registry.findPerspectiveWithId(persp);
-				}
-				if (descriptor == null) {
-					// select none
-					fCombos[i].setText(LaunchConfigurationsMessages.getString("PerspectivesTab.1")); //$NON-NLS-1$
-				} else {
-					fCombos[i].setText(descriptor.getLabel());
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		fInitializing = false;
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		for (int i = 0; i < fCombos.length; i++) {
-			updateConfigFromCombo(fCombos[i], configuration);
-		}
-	}
-	
-	/**
-	 * Updates the configuration based on the user's selection in the
-	 * perspective combo by setting the given configurations perspective
-	 * attribute.
-	 * 
-	 * @param combo the combo widget
-	 * @param workingCopy the launch configuration to update
-	 */
-	protected void updateConfigFromCombo(Combo combo, ILaunchConfigurationWorkingCopy workingCopy) {
-		if (!fInitializing) {
-			String mode = (String)combo.getData();
-			String persp = combo.getText();
-			if (persp.equals(LaunchConfigurationsMessages.getString("PerspectivesTab.1"))) { //$NON-NLS-1$
-				persp = IDebugUIConstants.PERSPECTIVE_NONE;
-			} else {
-				persp = (String)fPerspectiveIds.get(persp);
-			}
-			// if the same as default, use null which indicates default
-			String def = DebugUIPlugin.getDefault().getPerspectiveManager().getDefaultLaunchPerspective(getLaunchConfigurationType(), mode);
-			if (def == null) {
-				def = IDebugUIConstants.PERSPECTIVE_NONE;
-			}
-			if (persp.equals(def)) {
-				persp = null;
-			}
-			workingCopy.setAttribute(mode, persp);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LaunchConfigurationsMessages.getString("PerspectivesTab.7"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the launch configuration type this tab was opened on.
-	 * 
-	 * @return launch config type
-	 */
-	protected ILaunchConfigurationType getLaunchConfigurationType() {
-		return fType;
-	}
-
-	/* (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
-	}
-
-	/**
-	 * Returns the description associated with the current launch configuration
-	 * type in the current mode or <code>null</code> if none.
-	 * 
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		String description = super.getMessage();
-		if(fType != null) {
-			String mode = getLaunchConfigurationDialog().getMode();
-			LaunchConfigurationPresentationManager manager = LaunchConfigurationPresentationManager.getDefault();
-			LaunchConfigurationTabGroupExtension extension = manager.getExtension(fType.getAttribute("id"), mode); //$NON-NLS-1$
-			description = extension.getDescription(mode);
-		}		
-		return description;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
deleted file mode 100644
index e817ec7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.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;
-			} else {
-				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;
-				} else {
-					return -1;
-				}
-			}
-			if (workingSet1.equals(workingSet2)) {
-				return 0;
-			}
-			return -1;
-		} else {
-			return one.compareTo(two);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
deleted file mode 100644
index 99b99f7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/BooleanFieldEditor2.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
- 
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A boolean field editor that provides access to this editors boolean
- * button.
- */
-public class BooleanFieldEditor2 extends BooleanFieldEditor {
-	
-	private  Button fChangeControl;
-
-	/**
-	 * @see BooleanFieldEditor#BooleanFieldEditor(java.lang.String, java.lang.String, int, org.eclipse.swt.widgets.Composite)
-	 */
-	public BooleanFieldEditor2(
-		String name,
-		String labelText,
-		int style,
-		Composite parent) {
-		super(name, labelText, style, parent);
-	}
-
-	/**
-	 * @see BooleanFieldEditor#BooleanFieldEditor(java.lang.String, java.lang.String, org.eclipse.swt.widgets.Composite)
-	 */
-	public BooleanFieldEditor2(String name, String label, Composite parent) {
-		super(name, label, parent);
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.BooleanFieldEditor#getChangeControl(Composite)
-	 */
-	public Button getChangeControl(Composite parent) {
-		if (fChangeControl == null) {
-			fChangeControl = super.getChangeControl(parent);
-		} 
-		return fChangeControl;
-	}
-
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
deleted file mode 100644
index 21ab054..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ConsolePreferencePage.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A page to set the preferences for the console
- */
-public class ConsolePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
-	/**
-	 * This class exists to provide visibility to the
-	 * <code>refreshValidState</code> method and to perform more intelligent
-	 * clearing of the error message.
-	 */
-	protected class ConsoleIntegerFieldEditor extends IntegerFieldEditor {						
-		
-		public ConsoleIntegerFieldEditor(String name, String labelText, Composite parent) {
-			super(name, labelText, parent);
-		}
-		
-		/**
-		 * @see org.eclipse.jface.preference.FieldEditor#refreshValidState()
-		 */
-		protected void refreshValidState() {
-			super.refreshValidState();
-		}
-		
-		/**
-		 * Clears the error message from the message line if the error
-		 * message is the error message from this field editor.
-		 */
-		protected void clearErrorMessage() {
-			if (canClearErrorMessage()) {
-				super.clearErrorMessage();
-			}
-		}
-	}
-	
-	private BooleanFieldEditor2 fWrapEditor = null;
-	private ConsoleIntegerFieldEditor fWidthEditor = null;
-	
-	private BooleanFieldEditor2 fUseBufferSize = null;
-	private ConsoleIntegerFieldEditor fBufferSizeEditor = null;
-	
-	private ConsoleIntegerFieldEditor fTabSizeEditor = null;
-	
-	/**
-	 * Create the console page.
-	 */
-	public ConsolePreferencePage() {
-		super(GRID);
-		setDescription(DebugPreferencesMessages.getString("ConsolePreferencePage.Console_settings")); //$NON-NLS-1$
-		setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(
-			getControl(),
-			IDebugHelpContextIds.CONSOLE_PREFERENCE_PAGE );
-	}
-	
-	/**
-	 * Create all field editors for this page
-	 */
-	public void createFieldEditors() {
-		
-		fWrapEditor = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_WRAP, DebugPreferencesMessages.getString("ConsolePreferencePage.Wrap_text_1"), SWT.NONE, getFieldEditorParent()); //$NON-NLS-1$
-		addField(fWrapEditor);
-		
-		fWidthEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_WIDTH, DebugPreferencesMessages.getString("ConsolePreferencePage.Console_width"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(fWidthEditor);
-		fWidthEditor.setValidRange(80, Integer.MAX_VALUE - 1);
-		fWidthEditor.setErrorMessage(DebugPreferencesMessages.getString("ConsolePreferencePage.console_width")); //$NON-NLS-1$
-		
-		fWrapEditor.getChangeControl(getFieldEditorParent()).addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateWidthEditor();
-				}
-			}
-		);
-		
-		fUseBufferSize = new BooleanFieldEditor2(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT, DebugPreferencesMessages.getString("ConsolePreferencePage.Limit_console_output_1"), SWT.NONE, getFieldEditorParent()); //$NON-NLS-1$
-		addField(fUseBufferSize);
-		
-		fBufferSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK, DebugPreferencesMessages.getString("ConsolePreferencePage.Console_buffer_size_(characters)__2"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(fBufferSizeEditor);
-		fBufferSizeEditor.setValidRange(1000, Integer.MAX_VALUE);
-		fBufferSizeEditor.setErrorMessage(DebugPreferencesMessages.getString("ConsolePreferencePage.The_console_buffer_size_must_be_at_least_1000_characters._1")); //$NON-NLS-1$
-		
-		fUseBufferSize.getChangeControl(getFieldEditorParent()).addSelectionListener(
-			new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					updateBufferSizeEditor();
-				}
-			}
-		);
-		
-		fTabSizeEditor = new ConsoleIntegerFieldEditor(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH, DebugPreferencesMessages.getString("ConsolePreferencePage.12"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(fTabSizeEditor);
-		fTabSizeEditor.setValidRange(1,100);
-		fTabSizeEditor.setErrorMessage(DebugPreferencesMessages.getString("ConsolePreferencePage.13")); //$NON-NLS-1$
-		
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT, DebugPreferencesMessages.getString("ConsolePreferencePage.Show_&Console_View_when_there_is_program_output_3"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		addField(new BooleanFieldEditor(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR, DebugPreferencesMessages.getString("ConsolePreferencePage.Show_&Console_View_when_there_is_program_error_3"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-
-		ColorFieldEditor sysout= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_Out__2"), getFieldEditorParent()); //$NON-NLS-1$
-		ColorFieldEditor syserr= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_Error__3"), getFieldEditorParent()); //$NON-NLS-1$
-		ColorFieldEditor sysin= new ColorFieldEditor(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR, DebugPreferencesMessages.getString("ConsolePreferencePage.Standard_In__4"), getFieldEditorParent()); //$NON-NLS-1$
-		
-		addField(sysout);
-		addField(syserr);
-		addField(sysin);
-	}
-	
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok= super.performOk();
-		// update high water mark to be (about) 100 lines (100 * 80 chars) greater than low water mark
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		int low = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
-		int high = low + 8000;
-		store.setValue(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK, high);
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#initialize()
-	 */
-	protected void initialize() {
-		super.initialize();
-		updateWidthEditor();
-		updateBufferSizeEditor();
-	}
-	
-	/**
-	 * Update enablement of width editor based on enablement of 'fixed width' editor.
-	 */
-	protected void updateWidthEditor() {
-		Button b = fWrapEditor.getChangeControl(getFieldEditorParent());
-		fWidthEditor.getTextControl(getFieldEditorParent()).setEnabled(b.getSelection());
-		fWidthEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());				
-	}
-
-	/**
-	 * Update enablement of buffer size editor based on enablement of 'limit
-	 * console output' editor.
-	 */
-	protected void updateBufferSizeEditor() {
-		Button b = fUseBufferSize.getChangeControl(getFieldEditorParent());
-		fBufferSizeEditor.getTextControl(getFieldEditorParent()).setEnabled(b.getSelection());
-		fBufferSizeEditor.getLabelControl(getFieldEditorParent()).setEnabled(b.getSelection());
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		updateWidthEditor();
-	}
-	
-	protected boolean canClearErrorMessage() {
-		if (fWidthEditor.isValid() && fBufferSizeEditor.isValid()) {
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-
-		if (event.getProperty().equals(FieldEditor.IS_VALID)) {
-			boolean newValue = ((Boolean) event.getNewValue()).booleanValue();
-			// If the new value is true then we must check all field editors.
-			// If it is false, then the page is invalid in any case.
-			if (newValue) {
-				if (fWidthEditor != null && event.getSource() != fWidthEditor) {
-					fWidthEditor.refreshValidState();
-				} 
-				if (fBufferSizeEditor != null && event.getSource() != fBufferSizeEditor) {
-					fBufferSizeEditor.refreshValidState();
-				}
-				checkState();
-			} else {
-				super.propertyChange(event);
-			}
-
-		} else {
-			super.propertyChange(event);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
deleted file mode 100644
index 164f024..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencePage.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.ColorFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The page for setting debugger preferences.  Built on the 'field editor' infrastructure.
- */
-public class DebugPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IDebugPreferenceConstants {
-	
-	public DebugPreferencePage() {
-		super(GRID);
-
-		IPreferenceStore store= DebugUIPlugin.getDefault().getPreferenceStore();
-		setPreferenceStore(store);
-		setDescription(DebugPreferencesMessages.getString("DebugPreferencePage.1")); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.DEBUG_PREFERENCE_PAGE);
-	}
-	
-	/**
-	 * @see FieldEditorPreferencePage#createFieldEditors
-	 */
-	protected void createFieldEditors() {
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_REUSE_EDITOR, DebugPreferencesMessages.getString("DebugPreferencePage.2"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpacer(getFieldEditorParent(), 2);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH, DebugPreferencesMessages.getString("DebugPreferencePage.3"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		addField(new BooleanFieldEditor(IInternalDebugUIConstants.PREF_ACTIVATE_DEBUG_VIEW, DebugPreferencesMessages.getString("DebugPreferencePage.26"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		createSwitchPerspectiveOnSuspendEditor();
-
-		createSpacer(getFieldEditorParent(), 2);
-		
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE, DebugPreferencesMessages.getString("DebugPreferencePage.25"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpacer(getFieldEditorParent(), 2);
-		ColorFieldEditor mem= new ColorFieldEditor(IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR, DebugPreferencesMessages.getString("DebugPreferencePage.4"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(mem);
-		mem= new ColorFieldEditor(IDebugPreferenceConstants.MEMORY_VIEW_UNBUFFERED_LINE_COLOR, DebugPreferencesMessages.getString("DebugPreferencePage.0"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(mem);
-		
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	private void createSwitchPerspectiveOnSuspendEditor() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SWITCH_PERSPECTIVE_ON_SUSPEND,
-				DebugPreferencesMessages.getString("DebugPreferencePage.21"), 3, //$NON-NLS-1$
-				new String[][] {{DebugPreferencesMessages.getString("DebugPreferencePage.22"), MessageDialogWithToggle.ALWAYS}, //$NON-NLS-1$
-								{DebugPreferencesMessages.getString("DebugPreferencePage.23"), MessageDialogWithToggle.NEVER}, //$NON-NLS-1$
-								{DebugPreferencesMessages.getString("DebugPreferencePage.24"), MessageDialogWithToggle.PROMPT}}, //$NON-NLS-1$
-				getFieldEditorParent(),
-				true));
-	}
-		
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		boolean ok= super.performOk();
-		DebugUIPlugin.getDefault().savePluginPreferences();
-		return ok;
-	}			
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
deleted file mode 100644
index a5328dc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugPreferencesMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.preferences.DebugPreferencesMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private DebugPreferencesMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
deleted file mode 100644
index 10fea87..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/DebugPreferencesMessages.properties
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ConsolePreferencePage.Console_settings=Debug Console Settings.
-ConsolePreferencePage.Show_&Console_View_when_there_is_program_error_3=Show when &program writes to standard error
-ConsolePreferencePage.Show_&Console_View_when_there_is_program_output_3=&Show when program writes to standard out
-ConsolePreferencePage.Standard_Error__3=Standard &Error text color:
-ConsolePreferencePage.Standard_In__4=Standard &In text color:
-ConsolePreferencePage.Standard_Out__2=Standard &Out text color:
-ConsolePreferencePage.Wrap_text_1=Fixed &width console
-ConsolePreferencePage.Console_width=&Maximum character width:
-ConsolePreferencePage.Limit_console_output_1=&Limit console output
-ConsolePreferencePage.Console_buffer_size_(characters)__2=Console &buffer size (characters):
-ConsolePreferencePage.The_console_buffer_size_must_be_at_least_1000_characters._1=The console buffer size must be at least 1000 characters.
-ConsolePreferencePage.console_width=The console character width must be at least 80 characters
-ConsolePreferencePage.12=Displayed &tab width:
-ConsolePreferencePage.13=Tab width must be between 1 and 100 inclusive.
-
-DebugPreferencePage.1=General Settings for Running and Debugging.
-DebugPreferencePage.2=Re&use editor when displaying source code
-DebugPreferencePage.3=Activate the workbenc&h when a breakpoint is hit
-DebugPreferencePage.0=&Memory View unbufferred lines color:
-DebugPreferencePage.4=&Variables View changed value color:
-DebugPreferencePage.10=Si&ze of recently launched applications list:
-DebugPreferencePage.11=The size of recently launched applications should be between {0} and {1}
-DebugPreferencePage.21=Switch to associated perspective when a breakpoint is hit
-DebugPreferencePage.22=A&lways
-DebugPreferencePage.23=&Never
-DebugPreferencePage.24=&Prompt
-DebugPreferencePage.25=Skip &breakpoints during a "Run To Line" operation.
-DebugPreferencePage.26=A&ctivate the debug view when a breakpoint is hit
-
-LaunchingPreferencePage.1=&Build (if required) before launching
-LaunchingPreferencePage.2=Save dirty editors before launching
-LaunchingPreferencePage.3=Alwa&ys
-LaunchingPreferencePage.4=&Never
-LaunchingPreferencePage.5=&Prompt
-LaunchingPreferencePage.6=Wait for ongoing build to complete before launching
-LaunchingPreferencePage.7=A&lways
-LaunchingPreferencePage.8=N&ever
-LaunchingPreferencePage.9=Pro&mpt
-LaunchingPreferencePage.10=Remove term&inated launches when a new launch is created
-LaunchingPreferencePage.11=Switch to associated perspective when launching
-LaunchingPreferencePage.12=Al&ways
-LaunchingPreferencePage.13=Ne&ver
-LaunchingPreferencePage.14=Pr&ompt
-LaunchingPreferencePage.15=Launch in debug mode when workspace contains breakpoints
-LaunchingPreferencePage.16=Alway&s
-LaunchingPreferencePage.17=Neve&r
-LaunchingPreferencePage.18=Promp&t
-LaunchingPreferencePage.20=General Settings for Launching
-LaunchingPreferencePage.21=&Continue launch if project contains errors
-LaunchingPreferencePage.22=Always
-LaunchingPreferencePage.23=Prompt
-
-ProcessPropertyPage.Command_Line__1=Command Line:
-
-SimpleVariablePreferencePage.3=Variable
-SimpleVariablePreferencePage.4=Value
-SimpleVariablePreferencePage.5=Description
-SimpleVariablePreferencePage.6=&Create and configure string substitution variables.
-SimpleVariablePreferencePage.7=&New...
-SimpleVariablePreferencePage.8=&Edit...
-SimpleVariablePreferencePage.9=&Remove
-SimpleVariablePreferencePage.10=&Name:
-SimpleVariablePreferencePage.11=&Value:
-SimpleVariablePreferencePage.12=&Description:
-SimpleVariablePreferencePage.13=New String Substitution Variable
-SimpleVariablePreferencePage.14=Edit String Substitution Variable
-SimpleVariablePreferencePage.15=Overwrite variable?
-SimpleVariablePreferencePage.16=A variable named {0} already exists. Overwrite?
-SimpleLaunchVariablePreferencePage.21=Remove Contributed Variables
-SimpleLaunchVariablePreferencePage.22=The following variables were contributed by plug-ins. Removing them may cause unknown problems.\n{0}\nProceed?
-SimpleLaunchVariablePreferencePage.23=\ (contributed)
-StringVariablePreferencePage.24=Error
-StringVariablePreferencePage.25=Unable to save changes
-ViewManagementPreferencePage.0=The Debug View can automatically open and close views based on selection. Choose in which perspectives this feature should be enabled:
-ViewManagementPreferencePage.1=View Management
-ViewManagementPreferencePage.2=&Perspectives:
-ViewManagementPreferencePage.3=Do &not automatically open/close views which have been manually closed/opened.
-ViewManagementPreferencePage.4=The list of views that have been manually opened/closed is persisted between sessions.
-ViewManagementPreferencePage.5=&Reset
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
deleted file mode 100644
index cf1b042..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/IDebugPreferenceConstants.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-
-import org.eclipse.debug.ui.IDebugUIConstants;
- 
-/**
- * Constants defining the keys to be used for accessing preferences
- * inside the debug ui plugin's preference bundle.
- *
- * In descriptions (of the keys) below describe the preference 
- * stored at the given key. The type indicates type of the stored preferences
- *
- * The preference store is loaded by the plugin (DebugUIPlugin).
- * @see DebugUIPlugin.initializeDefaultPreferences(IPreferenceStore) - for initialization of the store
- */
-public interface IDebugPreferenceConstants {
-
-	/**
-	 * The symbolic names for colors for displaying the content in the Console
-	 * @see org.eclipse.jface.resource.ColorRegistry
-	 */
-	public static final String CONSOLE_SYS_ERR_COLOR= "org.eclipse.debug.ui.errorColor"; //$NON-NLS-1$
-	public static final String CONSOLE_SYS_OUT_COLOR= "org.eclipse.debug.ui.outColor"; //$NON-NLS-1$
-	public static final String CONSOLE_SYS_IN_COLOR= "org.eclipse.debug.ui.inColor"; //$NON-NLS-1$
-	
-	public static final String MEMORY_VIEW_UNBUFFERED_LINE_COLOR = IDebugUIConstants.PLUGIN_ID + ".MemoryViewLineColor"; //$NON-NLS-1$
-	
-	/**
-	 * (boolean) Whether or not the text in the console will wrap
-	 */
-	public static final String CONSOLE_WRAP= "Console.wrap"; //$NON-NLS-1$
-	
-	/**
-	 * (int) The maximum console character width, if wrapping. 
-	 */ 
-	public static final String CONSOLE_WIDTH = "Console.width"; //$NON-NLS-1$
-	
-	/**
-	 * (boolean) Whether or not the console view is shown 
-	 * when there is program output.
-  	 */
-	public static final String CONSOLE_OPEN_ON_OUT= "DEBUG.consoleOpenOnOut"; //$NON-NLS-1$
-	/**
-	 * (boolean) Whether or not the console view is shown 
-	 * when there is program error.
-  	 */
-	public static final String CONSOLE_OPEN_ON_ERR= "DEBUG.consoleOpenOnErr"; //$NON-NLS-1$
-	
-	/**
-	 * Console buffer high and low water marks
-	 */
-	public static final String CONSOLE_LIMIT_CONSOLE_OUTPUT = "Console.limitConsoleOutput"; //$NON-NLS-1$
-	public static final String CONSOLE_LOW_WATER_MARK = "Console.lowWaterMark"; //$NON-NLS-1$ 
-	public static final String CONSOLE_HIGH_WATER_MARK = "Console.highWaterMark"; //$NON-NLS-1$
-	
-	/**
-	 * Integer preference specifying the number of spaces composing a
-	 * tab in the console.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String CONSOLE_TAB_WIDTH= "Console.console_tab_width"; //$NON-NLS-1$
-	
-	/**
-	 * The orientation of the detail view in the VariablesView
-	 */
-	public static final String VARIABLES_DETAIL_PANE_ORIENTATION = "Variables.detail.orientation"; //$NON-NLS-1$
-	public static final String EXPRESSIONS_DETAIL_PANE_ORIENTATION = "Expressions.detail.orientation"; //$NON-NLS-1$
-	public static final String REGISTERS_DETAIL_PANE_ORIENTATION = "Registers.detail.orientation"; //$NON-NLS-1$
-	public static final String VARIABLES_DETAIL_PANE_RIGHT = "Variables.detail.orientation.right"; //$NON-NLS-1$
-	public static final String VARIABLES_DETAIL_PANE_UNDERNEATH = "Variables.detail.orientation.underneath"; //$NON-NLS-1$
-	public static final String VARIABLES_DETAIL_PANE_HIDDEN = "Variables.detail.orientation.hidden"; //$NON-NLS-1$
-	
-	/**
-	 * The symbolic name for the color to indicate a changed variable
-	 * @see org.eclipse.jface.resource.ColorRegistry
-	 */
-	public static final String CHANGED_VARIABLE_COLOR= "org.eclipse.debug.ui.changedVariableColor"; //$NON-NLS-1$
-	
-	/**
-	 * Memento for the last selected launch config in the
-	 * launch config dialog.
-	 * 
-	 * @deprecated no longer supported
-	 */
-	public static final String PREF_LAST_LAUNCH_CONFIGURATION_SELECTION = IDebugUIConstants.PLUGIN_ID + ".lastLaunchConfigSelection"; //$NON-NLS-1$
-		
-	/**
-	 * The maximum size of the launch history list
-	 */
-	public static int MAX_LAUNCH_HISTORY_SIZE= 20;
-	
-	/**
-	 * Common dialog settings
-	 */
-	public static final String DIALOG_ORIGIN_X = IDebugUIConstants.PLUGIN_ID + ".DIALOG_ORIGIN_X"; //$NON-NLS-1$
-	public static final String DIALOG_ORIGIN_Y = IDebugUIConstants.PLUGIN_ID + ".DIALOG_ORIGIN_Y"; //$NON-NLS-1$
-	public static final String DIALOG_WIDTH = IDebugUIConstants.PLUGIN_ID + ".DIALOG_WIDTH"; //$NON-NLS-1$
-	public static final String DIALOG_HEIGHT = IDebugUIConstants.PLUGIN_ID + ".DIALOG_HEIGHT"; //$NON-NLS-1$
-	public static final String DIALOG_SASH_WEIGHTS_1 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_1"; //$NON-NLS-1$
-	public static final String DIALOG_SASH_WEIGHTS_2 = IDebugUIConstants.PLUGIN_ID + ".DIALOG_SASH_WEIGHTS_2"; //$NON-NLS-1$
-
-
-	/**
-	 * Boolean preference controlling whether the text in the detail panes is
-	 * wrapped. When <code>true</code> the text in the detail panes will be
-	 * wrapped in new variable view.
-	 *
-	 * @since 2.1
-	 */
-	public static final String PREF_DETAIL_PANE_WORD_WRAP = IDebugUIConstants.PLUGIN_ID + ".detail_pane_word_wrap"; //$NON-NLS-1$
-	
-	/**
-	 * Column size preference for the Memory View
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_COLUMN_SIZE = "org.eclipse.debug.ui.memory.columnSize"; //$NON-NLS-1$
-	
-	/**
-	 * Default column size for the Memory View
-	 * 
-	 * @since 3.0
-	 */
-	public static final int PREF_COLUMN_SIZE_DEFAULT = 4;
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
deleted file mode 100644
index bce4369..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchingPreferencePage.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.text.MessageFormat;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.IntegerFieldEditor;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * A preference page for configuring launching preferences.
- */
-public class LaunchingPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
-	public LaunchingPreferencePage() {
-		super(GRID);
-
-		IPreferenceStore store= DebugUIPlugin.getDefault().getPreferenceStore();
-		setPreferenceStore(store);
-		setDescription(DebugPreferencesMessages.getString("LaunchingPreferencePage.20")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_BUILD_BEFORE_LAUNCH, DebugPreferencesMessages.getString("LaunchingPreferencePage.1"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		createSaveBeforeLaunchEditors();
-		createWaitForBuildEditor();
-		
-		createSpacer(getFieldEditorParent(), 2);
-
-		addField(new BooleanFieldEditor(IDebugUIConstants.PREF_AUTO_REMOVE_OLD_LAUNCHES, DebugPreferencesMessages.getString("LaunchingPreferencePage.10"), SWT.NONE, getFieldEditorParent())); //$NON-NLS-1$
-		createSwitchPerspectiveEditor();
-		createRelaunchInDebugMode();
-		createContinueWithCompileErrors();
-		
-		createLaunchHistoryEditor();
-	}
-	
-
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-	
-	private void createLaunchHistoryEditor() {
-		final IntegerFieldEditor editor = new IntegerFieldEditor(IDebugUIConstants.PREF_MAX_HISTORY_SIZE, DebugPreferencesMessages.getString("DebugPreferencePage.10"), getFieldEditorParent()); //$NON-NLS-1$
-		int historyMax = IDebugPreferenceConstants.MAX_LAUNCH_HISTORY_SIZE;
-		editor.setTextLimit(Integer.toString(historyMax).length());
-		editor.setErrorMessage(MessageFormat.format(DebugPreferencesMessages.getString("DebugPreferencePage.11"), new Object[] { new Integer(1), new Integer(historyMax)})); //$NON-NLS-1$
-		editor.setValidateStrategy(StringFieldEditor.VALIDATE_ON_KEY_STROKE);
-		editor.setValidRange(1, historyMax);		
-		editor.setPropertyChangeListener(new IPropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(FieldEditor.IS_VALID)) 
-					setValid(editor.isValid());
-			}
-		});
-		addField(editor);
-	}
-	
-	private void createSaveBeforeLaunchEditors() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH, DebugPreferencesMessages.getString("LaunchingPreferencePage.2"), 3,  //$NON-NLS-1$
-										new String[][] {{DebugPreferencesMessages.getString("LaunchingPreferencePage.3"), MessageDialogWithToggle.ALWAYS}, //$NON-NLS-1$
-											{DebugPreferencesMessages.getString("LaunchingPreferencePage.4"), MessageDialogWithToggle.NEVER}, //$NON-NLS-1$
-											{DebugPreferencesMessages.getString("LaunchingPreferencePage.5"), MessageDialogWithToggle.PROMPT}}, //$NON-NLS-1$
-										getFieldEditorParent(),
-										true));	
-	}	
-	
-	private void createWaitForBuildEditor() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_WAIT_FOR_BUILD, 
-						DebugPreferencesMessages.getString("LaunchingPreferencePage.6"), 3,  //$NON-NLS-1$
-						new String[][] {{DebugPreferencesMessages.getString("LaunchingPreferencePage.7"), MessageDialogWithToggle.ALWAYS}, //$NON-NLS-1$
-							{DebugPreferencesMessages.getString("LaunchingPreferencePage.8"), MessageDialogWithToggle.NEVER}, //$NON-NLS-1$
-							{DebugPreferencesMessages.getString("LaunchingPreferencePage.9"), MessageDialogWithToggle.PROMPT}}, //$NON-NLS-1$
-						getFieldEditorParent(),
-						true));
-	}
-	
-	private void createSwitchPerspectiveEditor() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_SWITCH_TO_PERSPECTIVE,
-				DebugPreferencesMessages.getString("LaunchingPreferencePage.11"), 3, //$NON-NLS-1$
-				new String[][] {{DebugPreferencesMessages.getString("LaunchingPreferencePage.12"), MessageDialogWithToggle.ALWAYS}, //$NON-NLS-1$
-								{DebugPreferencesMessages.getString("LaunchingPreferencePage.13"), MessageDialogWithToggle.NEVER}, //$NON-NLS-1$
-								{DebugPreferencesMessages.getString("LaunchingPreferencePage.14"), MessageDialogWithToggle.PROMPT}}, //$NON-NLS-1$
-				getFieldEditorParent(),
-				true));
-	}
-	
-	private void createRelaunchInDebugMode() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_RELAUNCH_IN_DEBUG_MODE,
-				DebugPreferencesMessages.getString("LaunchingPreferencePage.15"), 3, //$NON-NLS-1$
-				new String[][] {{DebugPreferencesMessages.getString("LaunchingPreferencePage.16"), MessageDialogWithToggle.ALWAYS}, //$NON-NLS-1$
-					{DebugPreferencesMessages.getString("LaunchingPreferencePage.17"), MessageDialogWithToggle.NEVER}, //$NON-NLS-1$
-					{DebugPreferencesMessages.getString("LaunchingPreferencePage.18"), MessageDialogWithToggle.PROMPT}}, //$NON-NLS-1$
-				getFieldEditorParent(),
-				true));
-	}	
-
-	private void createContinueWithCompileErrors() {
-		addField(new RadioGroupFieldEditor(IInternalDebugUIConstants.PREF_CONTINUE_WITH_COMPILE_ERROR,
-				DebugPreferencesMessages.getString("LaunchingPreferencePage.21"), 2, //$NON-NLS-1$
-				new String[][] {{DebugPreferencesMessages.getString("LaunchingPreferencePage.22"), MessageDialogWithToggle.ALWAYS},  //$NON-NLS-1$
-					{DebugPreferencesMessages.getString("LaunchingPreferencePage.23"), MessageDialogWithToggle.PROMPT}},  //$NON-NLS-1$
-				getFieldEditorParent(),
-				true));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
deleted file mode 100644
index 97032be..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ProcessPropertyPage.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ProcessPropertyPage extends PropertyPage {
-
-	/**
-	 * Constructor for ProcessPropertyPage
-	 */
-	public ProcessPropertyPage() {
-		super();
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-
-		Font font = ancestor.getFont();
-		noDefaultAndApplyButton();
-		
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		parent.setLayout(layout);
-		
-		Label l1= new Label(parent, SWT.NULL);
-		l1.setText(DebugPreferencesMessages.getString("ProcessPropertyPage.Command_Line__1")); //$NON-NLS-1$
-		
-		GridData gd= new GridData();
-		gd.verticalAlignment= GridData.BEGINNING;
-		l1.setLayoutData(gd);
-		l1.setFont(font);
-		Text l2= new Text(parent, SWT.WRAP | SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint= convertWidthInCharsToPixels(80);
-		gd.heightHint= convertHeightInCharsToPixels(15);
-		l2.setLayoutData(gd);
-		l2.setFont(font);
-		initCommandLineLabel(l2);
-		
-		return parent;
-	}
-	
-	private void initCommandLineLabel(Text l) {
-		Object o= getElement();
-		if (o instanceof IDebugTarget)
-			o= ((IDebugTarget)o).getProcess();
-		if (o instanceof IProcess) {
-			IProcess process= (IProcess)o;
-			String cmdLine= process.getAttribute(IProcess.ATTR_CMDLINE);
-			if (cmdLine != null)
-				l.setText(cmdLine);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(
-			getControl(),
-			IDebugHelpContextIds.PROCESS_PROPERTY_PAGE);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
deleted file mode 100644
index 1b02ee4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/StringVariablePreferencePage.java
+++ /dev/null
@@ -1,523 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.internal.ui.*;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page for creating and configuring simple
- * launch variables.
- * 
- * @see org.eclipse.debug.core.variables.IValueVariable
- * @see org.eclipse.debug.core.variables.ISimpleVariableRegistry
- */
-public class StringVariablePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	private TableViewer variableTable;
-	protected Button envAddButton;
-	protected Button envEditButton;
-	protected Button envRemoveButton;
-	
-	protected SimpleVariableContentProvider variableContentProvider= new SimpleVariableContentProvider();
-	
-	protected static final String NAME_LABEL= DebugPreferencesMessages.getString("SimpleVariablePreferencePage.10"); //$NON-NLS-1$
-	protected static final String VALUE_LABEL = DebugPreferencesMessages.getString("SimpleVariablePreferencePage.11"); //$NON-NLS-1$
-	protected static final String DESCRIPTION_LABEL = DebugPreferencesMessages.getString("SimpleVariablePreferencePage.12"); //$NON-NLS-1$
-	
-	protected static String[] variableTableColumnProperties= {
-		"variable", //$NON-NLS-1$
-		"value", //$NON-NLS-1$
-		"description" //$NON-NLS-1$
-	};
-	protected String[] variableTableColumnHeaders= {
-		DebugPreferencesMessages.getString("SimpleVariablePreferencePage.3"), //$NON-NLS-1$
-		DebugPreferencesMessages.getString("SimpleVariablePreferencePage.4"), //$NON-NLS-1$
-		DebugPreferencesMessages.getString("SimpleVariablePreferencePage.5") //$NON-NLS-1$
-	};
-	protected ColumnLayoutData[] variableTableColumnLayouts= {
-		new ColumnWeightData(33),
-		new ColumnWeightData(33),
-		new ColumnWeightData(34)
-	};
-	
-	public StringVariablePreferencePage() {
-		setDescription(DebugPreferencesMessages.getString("SimpleVariablePreferencePage.6")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.SIMPLE_VARIABLE_PREFERENCE_PAGE);
-	}
-
-	protected Control createContents(Composite parent) {
-		noDefaultAndApplyButton();
-		Font font= parent.getFont();
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		layout.numColumns= 2;
-		composite.setLayout(layout);
-		composite.setFont(font);
-		
-		createTable(composite);
-		createButtons(composite);
-		return composite;
-	}
-	
-	/**
-	 * Creates and configures the table containing launch configuration variables
-	 * and their associated value.
-	 */
-	private void createTable(Composite parent) {
-		Font font= parent.getFont();
-		// Create table composite
-		Composite tableComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_BOTH);
-		gridData.heightHint = 150;
-		gridData.widthHint = 400;
-		tableComposite.setLayout(layout);
-		tableComposite.setLayoutData(gridData);
-		tableComposite.setFont(font);
-		// Create table
-		variableTable = new TableViewer(tableComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		Table table = variableTable.getTable();
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		table.setFont(font);
-		gridData = new GridData(GridData.FILL_BOTH);
-		variableTable.getControl().setLayoutData(gridData);
-		variableTable.setContentProvider(variableContentProvider);
-		variableTable.setColumnProperties(variableTableColumnProperties);
-		variableTable.setSorter(new ViewerSorter() {
-			public int compare(Viewer iViewer, Object e1, Object e2) {
-				if (e1 == null) {
-					return -1;
-				} else if (e2 == null) {
-					return 1;
-				} else {
-					return ((IValueVariable)e1).getName().compareToIgnoreCase(((IValueVariable)e2).getName());
-				}
-			}
-		});
-		
-		variableTable.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleTableSelectionChanged(event);
-			}
-		});
-		
-		variableTable.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!variableTable.getSelection().isEmpty()) {
-					handleEditButtonPressed();
-				}
-			}
-		});
-		variableTable.getTable().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					handleRemoveButtonPressed();
-				}
-			}
-		});
-				
-		// Create columns
-		for (int i = 0; i < variableTableColumnHeaders.length; i++) {
-			tableLayout.addColumnData(variableTableColumnLayouts[i]);
-			TableColumn tc = new TableColumn(table, SWT.NONE, i);
-			tc.setResizable(variableTableColumnLayouts[i].resizable);
-			tc.setText(variableTableColumnHeaders[i]);
-		}
-		variableTable.setInput(getVariableManager());
-		variableTable.setLabelProvider(new SimpleVariableLabelProvider());
-	}
-	
-	/**
-	 * Creates the new/edit/remove buttons for the variable table
-	 * @param parent the composite in which the buttons should be created
-	 */
-	private void createButtons(Composite parent) {
-		// Create button composite
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		GridLayout glayout = new GridLayout();
-		glayout.marginHeight = 0;
-		glayout.marginWidth = 0;
-		glayout.numColumns = 1;
-		GridData gdata = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonComposite.setLayout(glayout);
-		buttonComposite.setLayoutData(gdata);
-		buttonComposite.setFont(parent.getFont());
-		
-		// Create buttons
-		envAddButton = SWTUtil.createPushButton(buttonComposite, DebugPreferencesMessages.getString("SimpleVariablePreferencePage.7"), null); //$NON-NLS-1$
-		envAddButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleAddButtonPressed();
-			}
-		});
-		envEditButton = SWTUtil.createPushButton(buttonComposite, DebugPreferencesMessages.getString("SimpleVariablePreferencePage.8"), null); //$NON-NLS-1$
-		envEditButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEditButtonPressed();
-			}
-		});
-		envEditButton.setEnabled(false);
-		envRemoveButton = SWTUtil.createPushButton(buttonComposite, DebugPreferencesMessages.getString("SimpleVariablePreferencePage.9"), null); //$NON-NLS-1$
-		envRemoveButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleRemoveButtonPressed();
-			}
-		});
-		envRemoveButton.setEnabled(false);
-	}
-	
-	private void handleAddButtonPressed() {
-		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), DebugPreferencesMessages.getString("SimpleVariablePreferencePage.13")); //$NON-NLS-1$
-		dialog.addTextField(NAME_LABEL, null, false);
-		dialog.addBrowseField(VALUE_LABEL, null, true);
-		dialog.addTextField(DESCRIPTION_LABEL, null, true);
-
-		if (dialog.open() != Window.OK) {
-			return;
-		}
-
-		String name= dialog.getStringValue(NAME_LABEL).trim();
-		if (name != null && name.length() > 0) {
-			String description= dialog.getStringValue(DESCRIPTION_LABEL);
-			IValueVariable variable= getVariableManager().newValueVariable(name, description);
-			variable.setValue(dialog.getStringValue(VALUE_LABEL));	
-			addVariable(variable);
-		}
-	}
-	
-	/**
-	 * Attempts to add the given variable. Returns whether the variable
-	 * was added or not (as when the user answers not to overwrite an
-	 * existing variable).
-	 * @param variable the variable to add
-	 * @return whether the variable was added
-	 */
-	public boolean addVariable(IValueVariable variable) {
-		String name= variable.getName();
-		List editedVariables= variableContentProvider.getVariables();
-		Iterator iter= editedVariables.iterator();
-		while (iter.hasNext()) {
-			IValueVariable currentVariable = (IValueVariable) iter.next();
-			String variableName = currentVariable.getName();
-			if (variableName.equals(name)) {
-				boolean overWrite= MessageDialog.openQuestion(getShell(), DebugPreferencesMessages.getString("SimpleVariablePreferencePage.15"), MessageFormat.format(DebugPreferencesMessages.getString("SimpleVariablePreferencePage.16"), new String[] {name}));  //$NON-NLS-1$ //$NON-NLS-2$
-				if (!overWrite) {
-					return false;
-				}
-				variableContentProvider.removeVariables(new IValueVariable[]{currentVariable});
-				break;
-			}
-		}
-		variableContentProvider.addVariables(new IValueVariable[]{variable});
-		variableTable.refresh();
-		return true;
-	}
-	
-	private void handleEditButtonPressed() {
-		IStructuredSelection selection= (IStructuredSelection) variableTable.getSelection();
-		IValueVariable variable= (IValueVariable) selection.getFirstElement();
-		if (variable == null) {
-			return;
-		}
-		String value= variable.getValue();
-		if (value == null) {
-			value= ""; //$NON-NLS-1$
-		}
-		String description= variable.getDescription();
-		if (description == null) {
-			description= ""; //$NON-NLS-1$
-		}
-		String originalName= variable.getName();
-		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), DebugPreferencesMessages.getString("SimpleVariablePreferencePage.14")); //$NON-NLS-1$
-		dialog.addTextField(NAME_LABEL, originalName, false);
-		dialog.addBrowseField(VALUE_LABEL, value, true);
-		dialog.addTextField(DESCRIPTION_LABEL, description, true);
-	
-		if (dialog.open() == Window.OK) {
-			String name= dialog.getStringValue(NAME_LABEL);
-			value= dialog.getStringValue(VALUE_LABEL);
-			description= dialog.getStringValue(DESCRIPTION_LABEL);
-			if (!name.equals(originalName)) {
-				IValueVariable newVariable = getVariableManager().newValueVariable(name, description);
-				newVariable.setValue(value);
-				if (addVariable(newVariable)) {
-					variableContentProvider.removeVariables(new IValueVariable[]{variable});
-					variableTable.refresh();
-				}
-			} else {
-				if (value != null) {
-					variable.setValue(value);
-				}
-				if (description != null) {
-					variable.setDescription(description);
-				}
-				variableTable.update(variable, null);
-			}
-		}
-	}
-	
-	/**
-	 * Remove the selection variables.
-	 */
-	private void handleRemoveButtonPressed() {
-		IStructuredSelection selection= (IStructuredSelection) variableTable.getSelection();
-		List variablesToRemove= selection.toList();
-		StringBuffer contributedVariablesToRemove= new StringBuffer();
-		Iterator iter= variablesToRemove.iterator();
-		while (iter.hasNext()) {
-			IValueVariable variable = (IValueVariable) iter.next();
-			if (variable.isContributed()) {
-				contributedVariablesToRemove.append('\t').append(variable.getName()).append('\n');
-			}
-		}
-		if (contributedVariablesToRemove.length() > 0) {
-			boolean remove= MessageDialog.openQuestion(getShell(), DebugPreferencesMessages.getString("SimpleLaunchVariablePreferencePage.21"), MessageFormat.format(DebugPreferencesMessages.getString("SimpleLaunchVariablePreferencePage.22"), new String[] {contributedVariablesToRemove.toString()})); //$NON-NLS-1$ //$NON-NLS-2$
-			if (!remove) {
-				return;
-			}
-		}
-		IValueVariable[] variables= (IValueVariable[]) variablesToRemove.toArray(new IValueVariable[0]);
-		variableContentProvider.removeVariables(variables); 
-		variableTable.refresh();
-	}
-	
-	/**
-	 * Responds to a selection changed event in the variable table
-	 * @param event the selection change event
-	 */
-	protected void handleTableSelectionChanged(SelectionChangedEvent event) {
-		int size = ((IStructuredSelection)event.getSelection()).size();
-		envEditButton.setEnabled(size == 1);
-		envRemoveButton.setEnabled(size > 0);
-	}
-
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * Clear the variables.
-	 */
-	protected void performDefaults() {
-		variableContentProvider.discardChanges();
-		variableTable.refresh();
-		super.performDefaults();
-	}
-	
-	/**
-	 * Sets the saved state for reversion.
-	 */
-	public boolean performOk() {
-		variableContentProvider.saveChanges();
-		return super.performOk();
-	}
-
-	/**
-	 * Returns the DebugPlugin's singleton instance of the
-	 * launch variable manager
-	 * @return the singleton instance of the simple variable registry.
-	 */
-	private IStringVariableManager getVariableManager() {
-		return VariablesPlugin.getDefault().getStringVariableManager();
-	}
-	
-	private class SimpleVariableContentProvider implements IStructuredContentProvider {
-		/**
-		 * The content provider stores a copy of the variables for use during editing.
-		 * The edited variables are saved to the launch manager when saveChanges()
-		 * is called.
-		 */
-		private List fVariables = new ArrayList();
-		
-		public Object[] getElements(Object inputElement) {
-			return fVariables.toArray();
-		}
-		
-		/**
-		 * Removes the given variables from the 'copied list'
-		 * 
-		 * @param variables variables to remove
-		 */
-		public void removeVariables(IValueVariable[] variables) {
-			for (int i = 0; i < variables.length; i++) {
-				fVariables.remove(variables[i]);
-			}			
-		}
-		
-		/**
-		 * Adds the given variables to the 'copied list'
-		 * 
-		 * @param variables variables to add
-		 */
-		public void addVariables(IValueVariable[] variables) {
-			for (int i = 0; i < variables.length; i++) {
-				fVariables.add(variables[i]);
-			}			
-		}		
-
-		public void dispose() {
-		}
-		
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			if (newInput == null || !(newInput instanceof IStringVariableManager)){
-				return;
-			}
-			discardChanges();
-		}
-
-		/**
-		 * Saves the edited variable state to the variable manager.
-		 */
-		public void saveChanges() {
-			IStringVariableManager manager = getVariableManager();
-			manager.removeVariables(manager.getValueVariables());
-			try {
-				manager.addVariables((IValueVariable[]) fVariables.toArray(new IValueVariable[0]));
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getShell(), DebugPreferencesMessages.getString("StringVariablePreferencePage.24"), DebugPreferencesMessages.getString("StringVariablePreferencePage.25"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		
-		/**
-		 * Re-initializes to the variables currently stored in the manager.
-		 */
-		public void discardChanges() {
-			IStringVariableManager manager = getVariableManager();
-			IValueVariable[] variables = manager.getValueVariables();
-			for (int i = 0; i < variables.length; i++) {
-				IValueVariable variable = variables[i];
-				IValueVariable copy = manager.newValueVariable(variable.getName(), variable.getDescription());
-				copy.setValue(variable.getValue());
-				fVariables.add(copy);
-			}			
-		}
-		
-		/**
-		 * Returns the 'working set' of variables
-		 * 
-		 * @return the working set of variables (not yet saved)
-		 */
-		public List getVariables() {
-			return fVariables;
-		}
-	}
-	
-	private class SimpleVariableLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider {
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-		public String getColumnText(Object element, int columnIndex) {
-			if (element instanceof IValueVariable) {
-				IValueVariable variable= (IValueVariable) element;
-				switch (columnIndex) {
-					case 0 :
-						StringBuffer buffer= new StringBuffer(variable.getName());
-						if (variable.isContributed()) {
-							buffer.append(DebugPreferencesMessages.getString("SimpleLaunchVariablePreferencePage.23")); //$NON-NLS-1$
-						}
-						return buffer.toString();
-					case 1:
-						String value= variable.getValue(); 
-						if (value == null) {
-							value= ""; //$NON-NLS-1$
-						}
-						return value;
-					case 2:
-						String description= variable.getDescription();
-						if (description == null) {
-							description= ""; //$NON-NLS-1$
-						}
-						return description;
-				}
-			}
-			return null;
-		}
-		public Color getForeground(Object element) {
-			return null;
-		}
-		public Color getBackground(Object element) {
-			if (element instanceof IValueVariable) {
-				if (((IValueVariable) element).isContributed()) {
-					Display display= Display.getCurrent();
-					return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);		
-				}
-			}
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
deleted file mode 100644
index 5158905..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/ViewManagementPreferencePage.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.views.launch.LaunchView;
-import org.eclipse.debug.internal.ui.views.launch.LaunchViewContextListener;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-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.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Preference page for configuring the debugger's automatic
- * view management.
- */
-public class ViewManagementPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private CheckboxTableViewer fPerspectiveViewer;
-	private Button fTrackViewsButton;
-	private Button fResetViewsButton;
-	private boolean fResetPressed= false;
-	
-	public ViewManagementPreferencePage() {
-		super();
-		setTitle(DebugPreferencesMessages.getString("ViewManagementPreferencePage.1")); //$NON-NLS-1$
-		setDescription(DebugPreferencesMessages.getString("ViewManagementPreferencePage.0")); //$NON-NLS-1$
-		setPreferenceStore(DebugUITools.getPreferenceStore());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		createPerspectiveViewer(composite);
-		
-		createViewTrackingOptions(composite);
-		
-		Dialog.applyDialogFont(composite);
-		
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	private void createViewTrackingOptions(Composite composite) {
-		fTrackViewsButton= new Button(composite, SWT.CHECK);
-		fTrackViewsButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fTrackViewsButton.setText(DebugPreferencesMessages.getString("ViewManagementPreferencePage.3")); //$NON-NLS-1$
-		fTrackViewsButton.setSelection(DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS));
-		
-		Label label= new Label(composite, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.getString("ViewManagementPreferencePage.4")); //$NON-NLS-1$
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fResetViewsButton= SWTUtil.createPushButton(composite, DebugPreferencesMessages.getString("ViewManagementPreferencePage.5"), null); //$NON-NLS-1$
-		((GridData) fResetViewsButton.getLayoutData()).horizontalAlignment= GridData.BEGINNING;
-		fResetViewsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fResetPressed= true;
-				fResetViewsButton.setEnabled(false);
-			}
-		});
-		updateResetButton();
-	}
-
-	/**
-	 * @param parent
-	 */
-	private void createPerspectiveViewer(Composite parent) {
-		Label label= new Label(parent, SWT.WRAP);
-		label.setText(DebugPreferencesMessages.getString("ViewManagementPreferencePage.2")); //$NON-NLS-1$
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Table table= new Table(parent, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setLayout(new GridLayout());
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		fPerspectiveViewer= new CheckboxTableViewer(table);
-		PerspectiveProvider provider= new PerspectiveProvider();
-		fPerspectiveViewer.setContentProvider(provider);
-		fPerspectiveViewer.setLabelProvider(provider);
-		fPerspectiveViewer.setInput(this);
-		
-		checkPerspectives(getPreferenceStore().getString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES));
-	}
-	
-	private void checkPerspectives(String perspectiveList) {
-		fPerspectiveViewer.setAllChecked(false);
-		IPerspectiveRegistry registry= PlatformUI.getWorkbench().getPerspectiveRegistry();
-		Iterator perspectiveIds= LaunchView.parseList(perspectiveList).iterator();
-		while (perspectiveIds.hasNext()) {
-			IPerspectiveDescriptor descriptor = registry.findPerspectiveWithId((String) perspectiveIds.next());
-			fPerspectiveViewer.setChecked(descriptor, true);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		StringBuffer buffer= new StringBuffer();
-		Object[] descriptors = fPerspectiveViewer.getCheckedElements();
-		for (int i = 0; i < descriptors.length; i++) {
-			buffer.append(((IPerspectiveDescriptor) descriptors[i]).getId()).append(',');
-		}
-		
-		getPreferenceStore().setValue(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES, buffer.toString());
-		getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_TRACK_VIEWS, fTrackViewsButton.getSelection());
-		if (fResetPressed) {
-			getPreferenceStore().setValue(LaunchViewContextListener.PREF_VIEWS_TO_NOT_OPEN, ""); //$NON-NLS-1$
-			getPreferenceStore().setValue(LaunchViewContextListener.PREF_OPENED_VIEWS, ""); //$NON-NLS-1$
-		}
-		return super.performOk();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		checkPerspectives(getPreferenceStore().getDefaultString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES));
-		fTrackViewsButton.setSelection(getPreferenceStore().getDefaultBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS));
-		fResetPressed= false;
-		updateResetButton();
-		super.performDefaults();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * Updates enablement of the reset button.
-	 * Enable if either persisted view collection is not empty.
-	 */
-	private void updateResetButton() {
-		boolean enableReset= !"".equals(getPreferenceStore().getString(LaunchViewContextListener.PREF_VIEWS_TO_NOT_OPEN)) || //$NON-NLS-1$
-			!"".equals(getPreferenceStore().getString(LaunchViewContextListener.PREF_OPENED_VIEWS)); //$NON-NLS-1$
-		fResetViewsButton.setEnabled(enableReset);
-	}
-
-	private class PerspectiveProvider implements IStructuredContentProvider, ILabelProvider {
-
-		private List fImages= new ArrayList();
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
-		}
-		
-		public void dispose() {
-			Iterator images= fImages.iterator();
-			while (images.hasNext()) {
-				((Image) images.next()).dispose();
-			}
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			Image image= null;
-			if (element instanceof IPerspectiveDescriptor) {
-				image= ((IPerspectiveDescriptor) element).getImageDescriptor().createImage();
-				fImages.add(image);
-			}
-			return image;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			String text= null;
-			if (element instanceof IPerspectiveDescriptor) {
-				IPerspectiveDescriptor descriptor = (IPerspectiveDescriptor) element;
-				text= descriptor.getLabel();
-			}
-			return text;
-		}
-		public void addListener(ILabelProviderListener listener) {
-		}
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-		public void removeListener(ILabelProviderListener listener) {
-		}
-		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
deleted file mode 100644
index 65fbaac..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddContainerAction.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * The action to add a new source container.
- * Used by the CommonSourceNotFoundEditor, the launch configuration source tab,
- * and the EditSourceLookupPathDialog.
- */
-public class AddContainerAction extends SourceContainerAction {
-	
-	private ISourceLookupDirector fDirector;
-	
-	public AddContainerAction() {
-		super(SourceLookupUIMessages.getString("sourceTab.addButton")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Prompts for a project to add.
-	 * 
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */	
-	public void run() {
-		AddSourceContainerDialog dialog = new AddSourceContainerDialog(getShell(), getViewer(), fDirector);
-		dialog.open();			
-	}
-	
-	public void setSourceLookupDirector(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if(selection == null || selection.isEmpty()) {
-			return true;
-		} else {
-			return getViewer().getTree().getSelection()[0].getParentItem()==null;
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
deleted file mode 100644
index 40fa495..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-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;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The dialog for adding new source containers. Presents the user with a list of
- * source container types and allows them to select one.
- * 
- * @since 3.0
- */
-public class AddSourceContainerDialog extends TitleAreaDialog {
-	
-	private TableViewer fViewer;
-	private SourceContainerViewer fSourceContainerViewer;
-	private boolean fDoubleClickSelects = true;
-	private ISourceLookupDirector fDirector;
-	
-	/**
-	 * Constructor
-	 */
-	public AddSourceContainerDialog(Shell shell, SourceContainerViewer viewer, ISourceLookupDirector director) {		
-		super(shell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		fSourceContainerViewer=viewer;		
-		fDirector = director;
-	}
-	
-	/**
-	 * Creates the dialog area to display source container types that are "browseable"
-	 */
-	protected Control createDialogArea(Composite ancestor) {			
-		
-		getShell().setText(SourceLookupUIMessages.getString("addSourceLocation.title")); //$NON-NLS-1$
-		setTitle(SourceLookupUIMessages.getString("addSourceLocation.description")); //$NON-NLS-1$
-		setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_ADD_SRC_LOC_WIZ));
-		
-		Composite parent = new Composite(ancestor, SWT.NULL);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 1;
-		parent.setLayout(topLayout);
-		parent.setLayoutData(gd);	
-				
-		ISourceContainerType[] types = filterTypes(DebugPlugin.getDefault().getLaunchManager().getSourceContainerTypes());
-		
-		fViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.SINGLE);
-		final Table table = fViewer.getTable();
-		gd = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(gd);
-
-		if (fDoubleClickSelects) {
-			table.addSelectionListener(new SelectionAdapter() {
-				public void widgetDefaultSelected(SelectionEvent e) {
-					if (table.getSelectionCount() == 1)
-						okPressed();
-				}
-			});
-		}
-		
-		fViewer.setLabelProvider(new SourceContainerLabelProvider());
-		fViewer.setContentProvider(new ArrayContentProvider());			
-		fViewer.setSorter(new ViewerSorter());
-		fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				String desc = null;
-				if (!selection.isEmpty()) {
-					ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection)selection).getFirstElement();
-					desc = type.getDescription();
-				}
-				setMessage(desc);
-			}
-		});
-		if(types.length != 0) {	
-			fViewer.setInput(types);
-		}
-		Dialog.applyDialogFont(parent);
-		WorkbenchHelp.setHelp(getShell(), IDebugHelpContextIds.ADD_SOURCE_CONTAINER_DIALOG);
-		return parent;
-	}	
-	
-	/**
-	 * Removes types without browsers from the provided list of types.
-	 * @param types the complete list of source container types
-	 * @return the list of source container types that have browsers
-	 */
-	private ISourceContainerType[] filterTypes(ISourceContainerType[] types){
-		ArrayList validTypes = new ArrayList();
-		for (int i=0; i< types.length; i++) {
-			ISourceContainerType type = types[i];
-			if (fDirector.supportsSourceContainerType(type)) {
-				ISourceContainerBrowser sourceContainerBrowser = SourceLookupUIUtils.getSourceContainerBrowser(type.getId());
-				if(sourceContainerBrowser != null && sourceContainerBrowser.canAddSourceContainers(fDirector)) {
-					validTypes.add(type);
-				}
-			}
-		}	
-		return (ISourceContainerType[]) validTypes.toArray(new ISourceContainerType[validTypes.size()]);
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		//single selection dialog, so take first item in array
-		//there will always be a selected item since we set it with viewer.setSelection
-		ISourceContainerType type = (ISourceContainerType) ((StructuredSelection) fViewer.getSelection()).getFirstElement();
-		ISourceContainerBrowser browser = SourceLookupUIUtils.getSourceContainerBrowser(type.getId());
-		if(browser == null) {
-			super.okPressed();
-		}
-		ISourceContainer[] results = browser.addSourceContainers(getShell(), fDirector);
-		if(results != null) {
-			fSourceContainerViewer.addEntries(results);
-		}
-		super.okPressed();
-	}		
-	
-	protected void addFilter(ViewerFilter filter) {
-		fViewer.addFilter(filter);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
deleted file mode 100644
index 98d5951..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/BasicContainerContentProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-/**
- * Provides content for a tree viewer that shows only containers.
- * 
- * @since 3.0
- */
-public class BasicContainerContentProvider implements ITreeContentProvider {
-
-	private boolean fShowClosedProjects = true;
-	/**
-	 * Creates a new ResourceContentProvider.
-	 */
-	public BasicContainerContentProvider() {
-	}
-	/**
-	 * The visual part that is using this content provider is about
-	 * to be disposed. Deallocate all allocated SWT resources.
-	 */
-	public void dispose() {
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getChildren
-	 */
-	public Object[] getChildren(Object element) {
-		if (element instanceof IWorkspaceRoot) {
-			// check if closed projects should be shown
-			IProject[] allProjects = ((IWorkspaceRoot) element).getProjects();
-			if (fShowClosedProjects)
-				return allProjects;
-			
-			ArrayList accessibleProjects = new ArrayList();
-			for (int i = 0; i < allProjects.length; i++) {
-				if (allProjects[i].isOpen()) {
-					accessibleProjects.add(allProjects[i]);
-				}
-			}
-			return accessibleProjects.toArray();
-		}
-		return new Object[0];
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getElements
-	 */
-	public Object[] getElements(Object element) {
-		return getChildren(element);
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getParent
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof IResource)
-			return ((IResource) element).getParent();
-		return null;
-	}
-	
-	/**
-	 * @see ITreeContentProvider#hasChildren
-	 */
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
-	
-	/**
-	 * @see IContentProvider#inputChanged
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditor.java
deleted file mode 100644
index 18358e3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditor.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-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.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.launch.LaunchView;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-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.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.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Editor for when source is not found. Shows the source name and has 
- * a button to add new containers.
- * Editor ID: IInternalDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR = org.eclipse.debug.ui.sourcelookup.CommonSourceNotFoundEditor
- * 
- * May be subclassed if a debugger requires additional buttons on the editor. For example,
- * a button may be added if the user has the additional option of using generated source
- * for debugging.
- * 
- * @see AbstractSourceLookupDirector
- * @see CommonSourceNotFoundEditorInput
- * @since 3.0
- */
-public class CommonSourceNotFoundEditor extends EditorPart implements IReusableEditor, IDebugEventSetListener {
-	
-	/**
-	 * Text widgets used for this editor
-	 */
-	private Text fText;	
-    /**
-     * object for which the source is showing for (i.e., stackframe, breakpoint)
-     */
-	protected Object fObject; 
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
-		setSite(site);
-		setInput(input);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		GridLayout topLayout = new GridLayout();
-		GridData data = new GridData();	
-		topLayout.numColumns = 1;
-		topLayout.verticalSpacing = 10;
-		parent.setLayout(topLayout);
-		parent.setLayoutData(data);		
-		parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
-		
-		fText = new Text(parent,SWT.READ_ONLY|SWT.WRAP);
-		fText.setForeground(JFaceColors.getErrorText(fText.getDisplay()));	
-		fText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));	
-		if (getEditorInput() != null) {
-			setInput(getEditorInput());
-		}
-		
-		
-		Button button = new Button(parent, SWT.PUSH);
-		data = new GridData();
-		data.grabExcessHorizontalSpace = false;
-		data.grabExcessVerticalSpace = false;
-		data.heightHint = 50;
-		data.widthHint=50;
-		button.setData(data);
-		button.setText(SourceLookupUIMessages.getString("addSourceLocation.addButton2")); //$NON-NLS-1$
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				buttonSelected();
-			}
-		});		
-		
-		Dialog.applyDialogFont(parent);
-		
-		WorkbenchHelp.setHelp(parent, IDebugHelpContextIds.NO_SOURCE_EDITOR);
-	}
-	
-	/**
-	 * Handles the event when the "add source container" button is selected.
-	 * Displays the <code>EditSourceLookupPathDialog</code> so the user 
-	 * can add additional source containers that should be searched.
-	 */
-	private void buttonSelected(){
-		ISourceLocator locator = null;		
-		ILaunch launch = null;		
-		IAdaptable selection = DebugUITools.getDebugContext();
-		
-		if(selection == null) return;
-		
-		if (selection.getAdapter(ILaunch.class) != null ) {
-			launch = (ILaunch) selection.getAdapter(ILaunch.class);
-			locator = launch.getSourceLocator();			
-		} 
-		else if (selection.getAdapter(IDebugElement.class) != null ) {
-			launch = ((IDebugElement)selection.getAdapter(IDebugElement.class)).getLaunch();
-			locator = launch.getSourceLocator();					
-		}
-		else return;  //should not occur
-		if (locator == null || !(locator instanceof AbstractSourceLookupDirector))
-			return; 
-		
-		final SourceLookupDialog dialog =
-			new SourceLookupDialog(DebugUIPlugin.getShell(),(AbstractSourceLookupDirector) locator);
-		
-		int result = dialog.open();		
-		if(result == Window.OK) {
-			resetEditor();				
-		}
-	}
-	/**
-	 * Clears the (source not found) editor inputs associated with the stack and
-	 * opening the editor again, if the item is not a stackframe. A marker will be added
-	 * and the editor will be told to scroll to the marker.
-	 * 
-	 * If it is a stackframe, the launch view will pick up the change event and open a new
-	 * editor automatically.
-	 * 
-	 */
-	public void resetEditor()
-	{
-		fireChangeEventsOnStack();
-		
-		if(fObject instanceof IStackFrame) {
-			return; //launch view will pick up from here
-		}
-
-		// close this editor and open a new editor
-		final int lineNumber = getLineNumber();
-		Runnable open = new Runnable() {
-			public void run() {
-				IWorkbenchWindow dwindow= DebugUIPlugin.getActiveWorkbenchWindow();
-				if (dwindow != null) {
-					IWorkbenchPage page= dwindow.getActivePage();
-					if (page != null) {
-						IDebugModelPresentation modelPres = DebugUITools.newDebugModelPresentation();	
-						IEditorInput input = modelPres.getEditorInput(fObject);
-						if (input != null) {
-							String id = modelPres.getEditorId(input, fObject);
-							if (id != null) {
-								try {
-									IEditorPart editorPart = page.openEditor(input, id);
-									if (editorPart instanceof ITextEditor && lineNumber >= 0) {
-										// position to line number
-										ITextEditor textEditor = (ITextEditor) editorPart;
-										IRegion region= getLineInformation(textEditor, lineNumber);
-										if (region != null) {
-											textEditor.selectAndReveal(region.getOffset(), 0);
-										}
-									}
-								} catch (PartInitException e1) {
-								}		
-							}
-						}
-						modelPres.dispose();
-					}
-				}
-			}
-		};
-		closeEditor();	
-		// get new editor input
-		DebugUIPlugin.getStandardDisplay().asyncExec(open);
-	}
-	
-	/**
-	 * Returns the line information for the given line in the given editor
-	 */
-	private IRegion getLineInformation(ITextEditor editor, int lineNumber) {
-		IDocumentProvider provider= editor.getDocumentProvider();
-		IEditorInput input= editor.getEditorInput();
-		try {
-			provider.connect(input);
-		} catch (CoreException e) {
-			return null;
-		}
-		try {
-			IDocument document= provider.getDocument(input);
-			if (document != null)
-				return document.getLineInformation(lineNumber);
-		} catch (BadLocationException e) {
-		} finally {
-			provider.disconnect(input);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the line number associated with the breakpoint (marker).
-	 * @return the line number to scroll to
-	 */
-	protected int getLineNumber(){
-		int line = -1;
-		if(fObject instanceof IMarker) {
-			try{
-				line=((Integer)((IMarker)fObject).getAttribute(IMarker.LINE_NUMBER)).intValue();							
-			} catch(CoreException e){}
-		}
-		return line;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (fText != null) {
-			fText.setFocus();
-		}
-	}
-	
-	/**
-	 * @see IReusableEditor#setInput(org.eclipse.ui.IEditorInput)
-	 */
-	public void setInput(IEditorInput input) {
-		super.setInput(input);
-		if(input instanceof CommonSourceNotFoundEditorInput) {
-			fObject = ((CommonSourceNotFoundEditorInput)input).getObject();
-		}
-		setTitle(input.getName());
-		if (fText != null) {			
-			fText.setText(input.getToolTipText()+"\n"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Fires change event(s) to clear the source file history of the items in the stack.
-	 */
-	protected void fireChangeEventsOnStack(){
-		if(fObject instanceof IStackFrame) {
-			fireChangeEvent(DebugEvent.CONTENT, (IStackFrame)fObject);				
-		} else if(fObject instanceof IDebugElement) { //loop through all threads and clear the cached source files
-			try{		
-				IThread[] threads =((IDebugElement)fObject).getDebugTarget().getThreads();
-				for(int i=0; i< threads.length; i++)
-				{
-					fireChangeEvent(DebugEvent.CONTENT, threads[i].getTopStackFrame());
-				}
-			} catch(DebugException e){}
-		}			
-	}
-	
-	/**
-	 * Fire a debug change event with detail
-	 * @param detail @see DebugEvent
-	 */
-	public void fireChangeEvent(int detail, IDebugElement source) {
-		fireEvent(new DebugEvent(source, DebugEvent.CHANGE, detail));
-	}		
-	
-	
-	/**
-	 * Fire a debug event
-	 */
-	private void fireEvent(DebugEvent event) {
-		if(DebugPlugin.getDefault() != null)
-			DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {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++) {
-			DebugEvent event = events[i];
-			Object source= event.getSource();			
-			switch (event.getKind()) {
-			case DebugEvent.TERMINATE :
-				if(checkIfEditorShouldClose(source))
-					closeEditor();			 
-				break;
-				
-			case DebugEvent.CHANGE :
-				if(!source.equals(fObject))
-					return;
-				//	Trigger a selectionChange event
-				IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-				if (window == null) {
-					return;
-				}
-				IWorkbenchPage p= window.getActivePage();
-				if (p == null) {
-					return;
-				}
-				IViewPart fLaunchView= p.findView(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (fLaunchView instanceof ISelectionChangedListener) {						
-					ISelection fSelection = ((LaunchView)fLaunchView).getViewer().getSelection();
-					//	To clear the stackframe stored in the launchView
-					((LaunchView)fLaunchView).clearSourceSelection(((IStackFrame)source).getThread());
-					((LaunchView)fLaunchView).getViewer().setSelection(fSelection, true);					
-				}			
-				break;
-			}					
-		}
-	}
-	
-	
-	/**
-	 * Checks if the source of the terminate event is associated with this editor
-	 * object.
-	 * @param source the source of the event
-	 * @return true if the <code>source</code> is related to this editor, false otherwise
-	 */
-	protected boolean checkIfEditorShouldClose(Object source) {
-		//Make sure terminate event is for me
-		if (fObject instanceof IDebugElement && source instanceof IDebugElement) {
-			IDebugElement element = (IDebugElement)fObject;
-			IDebugElement sourceElement = (IDebugElement)source;
-			return sourceElement.getDebugTarget().equals(element.getDebugTarget());
-		}
-		return false;
-	}
-	
-	/**
-	 * Closes this editor.
-	 */
-	protected void closeEditor()
-	{
-		final IEditorPart editor = this;
-		DebugUIPlugin.getStandardDisplay().syncExec(
-				new Runnable() {
-					public void run() {											
-						DebugUIPlugin.getActiveWorkbenchWindow().getActivePage().closeEditor(editor,false);										
-					}						
-				});			
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		super.dispose();
-	}
-	
-	
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
deleted file mode 100644
index 580dca0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/CommonSourceNotFoundEditorInput.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * Editor input for the <code>CommonSourceNotFoundEditor</code>. The editor
- * input can be created on a debug element or breakpoint.
- * 
- * @see CommonSourceNotFoundEditor
- * 
- * @since 3.0
- */
-public class CommonSourceNotFoundEditorInput extends PlatformObject implements IEditorInput {
-	
-	/**
-	 * input element label (cached on creation)
-	 */
-	protected String fLabel;
-	/**
-	 * the object that the editor is being brought up for
-	 */
-	protected Object fObject;
-	
-	/**
-	 * Constructs an editor input for the given debug element
-	 * or breakpoint.
-	 *
-	 * @param object debug element or breakpoint
-	 */
-	public CommonSourceNotFoundEditorInput(Object object) {
-		fObject = object;
-		if (object != null) {
-			IDebugModelPresentation pres = DebugUITools.newDebugModelPresentation();
-			fLabel = pres.getText(object);
-			pres.dispose();
-		}
-		if (fLabel == null) {
-			fLabel = "";  //$NON-NLS-1$
-		}
-	}	
-	
-	/**
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getDefaultImageDescriptor(fObject);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		return fLabel;		
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return MessageFormat.format(SourceLookupUIMessages.getString("addSourceLocation.editorMessage"), new String[] { fLabel }); //$NON-NLS-1$
-	}
-		
-	/**
-	 * Returns the object that was the reason why source was being searched for (i.e., it was clicked on)
-	 * @return the object.
-	 */
-	public Object getObject(){
-		return fObject;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
deleted file mode 100644
index c497d00..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/DownAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * The action for sorting the order of source containers in the dialog.
- * 
- */
-public class DownAction	extends SourceContainerAction {
-	
-	public DownAction() {
-		super(SourceLookupUIMessages.getString("sourceTab.downButton"));  //$NON-NLS-1$
-	}
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		List list = getEntriesAsList();
-		int bottom = list.size() - 1;
-		int index = 0;
-		for (int i = targets.size() - 1; i >= 0; i--) {
-			Object target = targets.get(i);
-			index = list.indexOf(target);
-			if (index < bottom) {
-				bottom = index + 1;
-				Object temp = list.get(bottom);
-				list.set(bottom, target);
-				list.set(index, temp);
-			}
-			bottom = index;
-		} 
-		setEntries(list);
-	}
-	
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return !selection.isEmpty() && !isIndexSelected(selection, getEntriesAsList().size() - 1) && getViewer().getTree().getSelection()[0].getParentItem()==null;	
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
deleted file mode 100644
index ab07f7d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditContainerAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.Iterator;
-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.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Action used to edit source containers on a source lookup path
- */
-public class EditContainerAction extends SourceContainerAction {
-	
-	private ISourceLookupDirector fDirector;
-	private ISourceContainer[] fContainers;
-	private ISourceContainerBrowser fBrowser;
-	
-	public EditContainerAction() {
-		super(SourceLookupUIMessages.getString("EditContainerAction.0")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Prompts for a project to add.
-	 * 
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */	
-	public void run() {
-		ISourceContainer[] replacements = fBrowser.editSourceContainers(getShell(), fDirector, fContainers);
-		int j = 0;
-		ISourceContainer[] existing = getViewer().getEntries();
-		for (int i = 0; i < existing.length && j < replacements.length; i++) {
-			ISourceContainer toBeReplaced = fContainers[j];
-			ISourceContainer container = existing[i];
-			if (container.equals(toBeReplaced)) {
-				existing[i] = replacements[j];
-				j++;
-			}
-		}
-		getViewer().setEntries(existing);
-	}
-	
-	public void setSourceLookupDirector(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		if(selection == null || selection.isEmpty()) {
-			return false;
-		}
-		if (getViewer().getTree().getSelection()[0].getParentItem()==null) {
-			// can only edit top level items of same type
-			fContainers = new ISourceContainer[selection.size()];
-			Iterator iterator = selection.iterator();
-			ISourceContainer container = (ISourceContainer) iterator.next();
-			ISourceContainerType type = container.getType();
-			fContainers[0] = container;
-			int i = 1;
-			while (iterator.hasNext()) {
-				container = (ISourceContainer) iterator.next();
-				fContainers[i] = container;
-				i++;
-				if (!container.getType().equals(type)) {
-					return false;
-				}
-			}
-			// all the same type, see if editing is supported
-			fBrowser = SourceLookupUIUtils.getSourceContainerBrowser(type.getId());
-			if (fBrowser != null) {
-				return fBrowser.canEditSourceContainers(fDirector, fContainers);
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
deleted file mode 100644
index 3e75155..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/EditSourceLookupPathAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.views.launch.LaunchView;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The action for editing the source lookup path. Brings up the 
- * EditSourceLookupPathDialog.
- * 
- * @since 3.0
- */
-public class EditSourceLookupPathAction extends SelectionListenerAction {
-	
-	private ISourceLookupDirector director = null;
-	private LaunchView fView = null;
-	
-	public EditSourceLookupPathAction(LaunchView view) {
-		super(SourceLookupUIMessages.getString("EditSourceLookupPathAction.0")); //$NON-NLS-1$
-		setEnabled(false);
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.EDIT_SOURCELOOKUP_ACTION);
-		setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_SRC_LOOKUP_MENU));
-		fView = view;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		director = null;
-		if (selection.size() == 1) {
-			Object object = selection.getFirstElement();
-			ILaunch launch = null;
-			if (object instanceof IDebugElement) {
-				launch = ((IDebugElement)object).getLaunch();
-			} else if (object instanceof ILaunch) {
-				launch = (ILaunch)object;
-			}
-			if (launch != null && launch.getLaunchConfiguration() != null &&
-					launch.getSourceLocator() instanceof ISourceLookupDirector) {
-				director = (ISourceLookupDirector) launch.getSourceLocator();
-			}
-		}
-		return director != null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		Shell shell = DebugUIPlugin.getShell();		
-		SourceLookupDialog dialog = new SourceLookupDialog(shell, director);
-		if (dialog.open() == Window.OK) {
-			fView.redoSourceLookup();
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
deleted file mode 100644
index c77e91e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/LookupSourceAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.launch.LaunchView;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Does source lookup for the selected stack frame again.
- * 
- * @since 3.0
- */
-public class LookupSourceAction extends SelectionListenerAction {
-	
-	private ISourceLookupDirector director = null;
-	private LaunchView fView = null;
-	private IStackFrame frame = null;
-	
-	public LookupSourceAction(LaunchView view) {
-		super(SourceLookupUIMessages.getString("LookupSourceAction.0")); //$NON-NLS-1$
-		setEnabled(false);
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.LOOKUP_SOURCE_ACTION);
-		fView = view;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.actions.BaseSelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		director = null;
-		frame = null;
-		if (selection.size() == 1) {
-			Object object = selection.getFirstElement();
-			if (object instanceof IStackFrame) {
-				frame = (IStackFrame)object;
-				ILaunch launch = frame.getLaunch();
-				if (launch != null && launch.getLaunchConfiguration() != null &&
-						launch.getSourceLocator() instanceof ISourceLookupDirector) {
-					director = (ISourceLookupDirector) launch.getSourceLocator();
-				}
-			}
-		}
-		return director != null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		director.clearSourceElements(frame);
-		fView.redoSourceLookup();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
deleted file mode 100644
index e4d0e22..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/Prompter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Prompts the user in the UI (asyncronously), on behalf of a non-UI client,
- * blocking the calling thread until a response is received.
- * <p>
- * This status handler is registered for for the debug UI plug-in,
- * with a status code of <code>STATUS_HANDLER_PROMPT</code>.
- * </p>
- * @since 3.0
- */
-public class Prompter implements IStatusHandler {
-	/**
-	 * Prompts the user for input based on the given status and source
-	 * object, blocking the calling thread until the status is resolved.
-	 * 
-	 * @param status client status code for which a status handler must
-	 *  be registered
-	 * @param source object requesting the status to be resolved
-	 * @return result of resolving the givne status
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(final IStatus status, final Object source) throws CoreException {
-		final IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status);
-		if (handler == null) {
-			// TODO: throw exception
-		}
-		Display display = DebugUIPlugin.getStandardDisplay();
-		if (display.getThread().equals(Thread.currentThread())) {
-			return handler.handleStatus(status, source);
-		}
-		final Object[] result = new Object[1];
-		final CoreException[] exception = new CoreException[1];
-		final Object lock = this;		
-		Runnable r = new Runnable() {
-			public void run() {
-				try {
-					result[0] = handler.handleStatus(status, source);
-				} catch (CoreException e) {
-					exception[0] = e;
-				}
-				synchronized (lock) {
-					lock.notifyAll();
-				}
-			}
-		};
-		synchronized (lock) {
-			DebugUIPlugin.getStandardDisplay().asyncExec(r);
-			try {
-				lock.wait();
-			} catch (InterruptedException e) {
-			}
-		}
-		
-		if (exception[0] != null ) {
-			throw exception[0];
-		}
-		return result[0];
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
deleted file mode 100644
index 4a39adc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RemoveAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * The action used to remove source containers in the source location dialog/tab.
- * 
- */
-public class RemoveAction extends SourceContainerAction {
-	public RemoveAction() {
-		super(SourceLookupUIMessages.getString("sourceTab.removeButton")); //$NON-NLS-1$
-	}
-	/**
-	 * Removes all selected entries.
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		List list = getEntriesAsList();
-		list.removeAll(targets);
-		setEntries(list);
-	}
-	
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		//check that something is selected and it is a root tree node.
-		return !selection.isEmpty() && getViewer().getTree().getSelection()[0].getParentItem()==null;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
deleted file mode 100644
index 2436bce..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * Status handler to prompt for dupicate source element resolution.
- * 
- * @since 3.0
- */
-public class ResolveDuplicatesHandler implements IStatusHandler {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) throws CoreException {
-		Object[] args = (Object[])source;
-		IStackFrame frame = (IStackFrame) args[0];
-		List sources = (List) args[1];
-		return resolveSourceElement(frame, sources);
-	}
-	
-	public Object resolveSourceElement(IStackFrame frame, List sources) {
-		Object file = null;
-		sources = removeSourceNotFoundEditors(sources);
-		if(sources.size() == 1) {
-			return sources.get(0);
-		} else if(sources.size() == 0) {
-			return null;
-		}
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(DebugUIPlugin.getShell(), new SourceElementLabelProvider());
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(SourceLookupUIMessages.getString("ResolveDuplicatesHandler.0")); //$NON-NLS-1$
-		dialog.setMessage(SourceLookupUIMessages.getString("ResolveDuplicatesHandler.1")); //$NON-NLS-1$
-		dialog.setElements(sources.toArray());
-		dialog.open();											
-		if(dialog.getReturnCode() == Window.OK) {
-			file = dialog.getFirstResult();		
-		}
-		return file;
-	}
-	
-	/**
-	 * Remove extra source not found editors, if any.
-	 * If multiple source not found editors and no "real" source inputs,
-	 * return the first source not found editor.
-	 * @param sources the list to be filtered
-	 * @return the filtered list, may be empty
-	 */
-	private List removeSourceNotFoundEditors(List sources){
-		Iterator iterator = sources.iterator();
-		List filteredList = new ArrayList();
-		Object next;
-		while(iterator.hasNext()) {
-			next = iterator.next();
-			if (!(next instanceof CommonSourceNotFoundEditor)) {
-				filteredList.add(next);
-			}
-		}
-		if (filteredList.isEmpty() && sources.get(0) != null) {
-			filteredList.add(sources.get(0));
-		}
-		return filteredList;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
deleted file mode 100644
index b45f02a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/RestoreDefaultAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * The action for adding the default container to the list.
- * 
- * @since 3.0
- */
-public class RestoreDefaultAction extends SourceContainerAction {
-	
-	private ISourceLookupDirector fDirector;
-
-	public RestoreDefaultAction() {
-		super(SourceLookupUIMessages.getString("sourceTab.defaultButton")); //$NON-NLS-1$
-	}
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {		
-		ISourceContainer[] containers = new ISourceContainer[1];
-		containers[0] = new DefaultSourceContainer();
-		containers[0].init(fDirector);
-		getViewer().setEntries(containers);
-		setEnabled(false);
-	}
-
-	public void setSourceLookupDirector(ISourceLookupDirector director) {
-		fDirector = director;
-	}
-
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		//disable if selection is empty, default already present, or non-root node selected
-		ISourceContainer[] containers = getViewer().getEntries();
-		if(containers != null && containers.length == 1) {
-			if(containers[0] instanceof DefaultSourceContainer) {
-				return false;
-			}
-		}		
-		return true;	
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
deleted file mode 100644
index da8cd83..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAction.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * The abstract class for all source lookup actions.
- * 
- * @since 3.0
- */
-public abstract class SourceContainerAction extends SelectionListenerAction {
-	//the viewer that the action is operating on
-	private SourceContainerViewer fViewer;
-	//the button that is used to invoke the action
-	private Button fButton;
-	//the shell used to realize this action's dialog (if any)
-	private Shell fShell;
-	
-	/**
-	 * The constructor for the action
-	 * @param label the label for the action's button
-	 */
-	public SourceContainerAction(String label) {
-		super(label);		
-	}
-	
-	/**
-	 * Sets the viewer on which this action operates.
-	 * 
-	 * @param viewer the viewer on which this action operates
-	 */
-	public void setViewer(SourceContainerViewer viewer) {
-		if (fViewer != null) {
-			fViewer.removeSelectionChangedListener(this);
-		}
-		fViewer = viewer;
-		if (fViewer != null) {
-			fViewer.addSelectionChangedListener(this);
-			update();
-		}
-	}
-	
-	/**
-	 * Returns the viewer on which this action operates.
-	 * 
-	 * @return the viewer on which this action operates
-	 */
-	protected SourceContainerViewer getViewer() {
-		return fViewer;
-	}
-	
-	/**
-	 * Returns the selected items in the list, in the order they are
-	 * displayed.
-	 * 
-	 * @return targets for an action
-	 */
-	protected List getOrderedSelection() {
-		List targets = new ArrayList();
-		List selection =
-			((IStructuredSelection) getViewer().getSelection()).toList();
-		ISourceContainer[] entries = getViewer().getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			ISourceContainer target = entries[i];
-			if (selection.contains(target)) {
-				targets.add(target);
-			}
-		}
-		return targets;
-	}
-	
-	/**
-	 * Returns a list (copy) of the entries in the viewer
-	 */
-	protected List getEntriesAsList() {
-		ISourceContainer[] entries = getViewer().getEntries();
-		List list = new ArrayList(entries.length);
-		for (int i = 0; i < entries.length; i++) {
-			list.add(entries[i]);
-		}
-		return list;
-	}
-	
-	/**
-	 * Updates the entries to the entries in the given list
-	 */
-	protected void setEntries(List list) {
-		getViewer().setEntries(
-				(ISourceContainer[]) list.toArray(new ISourceContainer[list.size()]));
-		// update all selection listeners
-		getViewer().setSelection(getViewer().getSelection());
-	}
-	
-	/**
-	 * Returns whether the item at the given index in the list
-	 * (visually) is selected.
-	 */
-	protected boolean isIndexSelected(
-			IStructuredSelection selection,
-			int index) {
-		if (selection.isEmpty()) {
-			return false;
-		}
-		Iterator entries = selection.iterator();
-		List list = getEntriesAsList();
-		while (entries.hasNext()) {
-			Object next = entries.next();
-			if (list.indexOf(next) == index) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Sets the button that invokes this action
-	 */
-	public void setButton(Button button) {
-		fButton = button;
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				run();
-			}
-		});
-	}
-	
-	/**
-	 * @see IAction#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		if (fButton != null) {
-			fButton.setEnabled(enabled);
-		}
-	}
-	
-	/**
-	 * Updates the enabled state.
-	 */
-	protected void update() {
-		selectionChanged((IStructuredSelection) getViewer().getSelection());
-	}
-	
-	/**
-	 * Returns the shell used to realize this action's dialog (if any).
-	 */
-	protected Shell getShell() {
-		if (fShell == null) {
-			fShell = getViewer().getControl().getShell();
-		}
-		return fShell;
-	}
-	
-	/**
-	 * Sets the shell used to realize this action's dialog (if any).
-	 */
-	public void setShell(Shell shell) {
-		fShell = shell;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
deleted file mode 100644
index 02fd764..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerAdapterFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Adapter factory for standard source containers.
- * 
- * @since 3.0
- */
-public class SourceContainerAdapterFactory implements IAdapterFactory {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(IWorkbenchAdapter.class)) {
-			return new SourceContainerWorkbenchAdapter();
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {IWorkbenchAdapter.class};
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
deleted file mode 100644
index 3abd913..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerLabelProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Label provider for source containers and source container types.
- * 
- * @since 3.0
- */
-public class SourceContainerLabelProvider extends LabelProvider {
-	
-	private ILabelProvider fLabelProvider = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		// first allow workbench adapter to provide image
-		Image image = getWorkbenchLabelProvider().getImage(element);
-		if (image == null) {
-			ISourceContainerType type = null;
-			if (element instanceof ISourceContainer) {
-				type = ((ISourceContainer)element).getType();
-			} else if (element instanceof ISourceContainerType) {
-				type = (ISourceContainerType) element;
-			}
-			if (type != null) {
-				// next consult contributed image
-				image = SourceLookupUIUtils.getSourceContainerImage(type.getId());
-			}
-		}		
-		if (image != null) {
-			return image;
-		}
-		return super.getImage(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		// first, allo workbench adapter to provide label
-		String label = getWorkbenchLabelProvider().getText(element);
-		if (label == null || label.length() == 0) {
-			if (element instanceof ISourceContainer) {
-				return ((ISourceContainer) element).getName(); 
-			} else if (element instanceof ISourceContainerType) {
-				return ((ISourceContainerType)element).getName();
-			}
-		} else {
-			return label;
-		}
-		return super.getText(element);
-	}
-	
-	private ILabelProvider getWorkbenchLabelProvider() {
-		if (fLabelProvider == null) {
-			fLabelProvider = new WorkbenchLabelProvider();
-		}
-		return fLabelProvider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fLabelProvider != null) {
-			fLabelProvider.dispose();
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
deleted file mode 100644
index fa9ef0e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerViewer.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * The viewer containing the source containers in the 
- * SourceContainerLookupTab and the EditSourceLookupPathDialog.
- * It is a tree viewer since the containers are represented in tree form.
- * 
- * @since 3.0
- */
-public class SourceContainerViewer extends TreeViewer {
-	
-	/**
-	 * Whether enabled/editable.
-	 */
-	private boolean fEnabled = true;
-	/**
-	 * The parent panel
-	 */
-	private SourceLookupPanel fPanel;	
-	/**
-	 * The source container entries displayed in this viewer
-	 */
-	protected List fEntries = new ArrayList();
-	
-	class ContentProvider implements ITreeContentProvider {
-		
-		/**
-		 * @see IStructuredContentProvider#getElements(Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getEntries();
-		}
-		
-		/**
-		 * @see IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-		
-		/**
-		 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-		/** 
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			try {
-				return ((ISourceContainer)parentElement).getSourceContainers();
-			} catch (CoreException e) {
-				return new Object[0];
-			}
-		}
-		
-		/**
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			// TODO:
-			return null;
-		}
-		
-		/**
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			return ((ISourceContainer)element).isComposite();				
-		}
-		
-	}
-	
-	/**
-	 * Creates a runtime classpath viewer with the given parent.
-	 *
-	 * @param parent the parent control
-	 * @param panel the panel hosting this viewer
-	 */
-	public SourceContainerViewer(Composite parent, SourceLookupPanel panel) {
-		super(parent);
-		setContentProvider(new ContentProvider());
-		SourceContainerLabelProvider lp = new SourceContainerLabelProvider();
-		setLabelProvider(lp);		
-		fPanel = panel;
-	}	
-	
-	/**
-	 * Sets the entries in this viewer 
-	 * 
-	 * @param entries source container entries
-	 */
-	public void setEntries(ISourceContainer[] entries) {
-		fEntries.clear();
-		for (int i = 0; i < entries.length; i++) {
-			if(entries[i] != null)
-				fEntries.add(entries[i]);
-		}
-		if (getInput() == null) {
-			setInput(fEntries);
-			//select first item in list
-			if(!fEntries.isEmpty() && fEntries.get(0)!=null)
-				setSelection(new StructuredSelection(fEntries.get(0)));			
-		} else {
-			refresh();
-		}
-		fPanel.setDirty(true);
-		fPanel.updateLaunchConfigurationDialog(); 
-	}
-	
-	/**
-	 * Returns the entries in this viewer
-	 * 
-	 * @return the entries in this viewer
-	 */
-	public ISourceContainer[] getEntries() {
-		return (ISourceContainer[])fEntries.toArray(new ISourceContainer[fEntries.size()]);
-	}
-	
-	/**
-	 * Adds the given entries to the list. If there is no selection
-	 * in the list, the entries are added at the end of the list, 
-	 * otherwise the new entries are added before the (first) selected
-	 * entry. The new entries are selected.
-	 * 
-	 * @param entries additions
-	 */
-	public void addEntries(ISourceContainer[] entries) {
-		IStructuredSelection sel = (IStructuredSelection)getSelection();
-		if (sel.isEmpty()) {
-			for (int i = 0; i < entries.length; i++) {
-				if (!fEntries.contains(entries[i])) {
-					fEntries.add(entries[i]);
-				}
-			}
-		} 
-		else { 
-			int index = fEntries.indexOf(sel.getFirstElement());
-			for (int i = 0; i < entries.length; i++) {
-				if (!fEntries.contains(entries[i])) {
-					fEntries.add(index, entries[i]);
-					index++;
-				}
-			}
-		}		
-		
-		if(!fEntries.isEmpty() && fEntries.get(0)!=null)
-			setSelection(new StructuredSelection(fEntries.get(0)));
-		refresh();
-		fPanel.setDirty(true);
-		fPanel.updateLaunchConfigurationDialog();
-	}	
-	
-	/**
-	 * Enables/disables this viewer. Note the control is not disabled, since
-	 * we still want the user to be able to scroll if required to see the
-	 * existing entries. Just actions should be disabled.
-	 */
-	public void setEnabled(boolean enabled) {
-		fEnabled = enabled;
-		// fire selection change to upate actions
-		setSelection(getSelection());
-	}	
-	
-	/**
-	 * Returns whether this viewer is enabled
-	 */
-	public boolean isEnabled() {
-		return fEnabled;
-	}	
-		
-	/**
-	 * Returns the index of an equivalent entry, or -1 if none.
-	 * 
-	 * @return the index of an equivalent entry, or -1 if none
-	 */
-	public int indexOf(ISourceContainer entry) {
-		return fEntries.indexOf(entry);
-	}
-	
-	/**
-	 * Returns the source locator associated with the parent panel.
-	 * 
-	 * @return the source locator
-	 */
-	public ISourceLookupDirector getSourceLocator()
-	{
-		return fPanel.fLocator;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
deleted file mode 100644
index 6c5442c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceContainerWorkbenchAdapter.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Workbench adapter for standard source containers.
- * 
- * @since 3.0
- */
-public class SourceContainerWorkbenchAdapter implements IWorkbenchAdapter {
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof DirectorySourceContainer) {
-			DirectorySourceContainer container = (DirectorySourceContainer) o;
-			File file = container.getDirectory();
-			IPath path = new Path(file.getAbsolutePath());
-			return SourceElementWorkbenchAdapter.getQualifiedName(path);
-		}
-		if (o instanceof FolderSourceContainer) {
-			FolderSourceContainer container = (FolderSourceContainer) o;
-			return SourceElementWorkbenchAdapter.getQualifiedName(container.getContainer().getFullPath());
-		}
-		if (o instanceof ArchiveSourceContainer) {
-			ArchiveSourceContainer container = (ArchiveSourceContainer)o;
-			return SourceElementWorkbenchAdapter.getQualifiedName(container.getFile().getFullPath());
-		}		
-		if (o instanceof ExternalArchiveSourceContainer) {
-			ExternalArchiveSourceContainer container = (ExternalArchiveSourceContainer)o;
-			IPath path = new Path(container.getName());
-			return SourceElementWorkbenchAdapter.getQualifiedName(path);
-		}		
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
deleted file mode 100644
index 6bf7de1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementAdapterFactory.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Adapter factory for source elements.
- * 
- * @since 3.0
- */
-public class SourceElementAdapterFactory implements IAdapterFactory {
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(IWorkbenchAdapter.class)) {
-			return new SourceElementWorkbenchAdapter();
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {IWorkbenchAdapter.class};
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
deleted file mode 100644
index d2fecea..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementLabelProvider.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A label provider for source elements.
- * 
- * @since 3.0
- */
-public class SourceElementLabelProvider extends LabelProvider {
-	
-	private ILabelProvider fLabelProvider = null;
-	
-	
-	
-	private ILabelProvider getWorkbenchLabelProvider() {
-		if (fLabelProvider == null) {
-			fLabelProvider = new WorkbenchLabelProvider();
-		}
-		return fLabelProvider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fLabelProvider != null) {
-			fLabelProvider.dispose();
-		}
-	}	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		return getWorkbenchLabelProvider().getImage(element);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof IResource) {
-			return SourceElementWorkbenchAdapter.getQualifiedName(((IResource)element).getFullPath());
-		}
-		return getWorkbenchLabelProvider().getText(element);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
deleted file mode 100644
index 47b4fa8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceElementWorkbenchAdapter.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage;
-import org.eclipse.debug.core.sourcelookup.containers.ZipEntryStorage;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Workbench adapter for source elements.
- * 
- * @since 3.0
- */
-public class SourceElementWorkbenchAdapter implements IWorkbenchAdapter {
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object o) {
-		if (o instanceof LocalFileStorage || o instanceof ZipEntryStorage) {
-			return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FILE);
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof LocalFileStorage) {
-			LocalFileStorage storage = (LocalFileStorage) o;
-			IPath path = storage.getFullPath();
-			return getQualifiedName(path);
-		}
-		if (o instanceof ZipEntryStorage) {
-			ZipEntryStorage storage = (ZipEntryStorage)o;
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(storage.getZipEntry().getName());
-			buffer.append(" - "); //$NON-NLS-1$
-			buffer.append(storage.getArchive().getName());
-			return buffer.toString();
-		}
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-	
-	public static String getQualifiedName(IPath path) {
-		StringBuffer buffer = new StringBuffer();
-		String[] segments = path.segments();
-		if (segments.length > 0) {
-			buffer.append(path.lastSegment());
-			if (segments.length > 1) {
-				buffer.append(" - "); //$NON-NLS-1$
-				if (path.getDevice() != null) {
-					buffer.append(path.getDevice());	
-				}
-				for (int i = 0; i < segments.length - 1; i++) {
-					buffer.append(File.separatorChar);
-					buffer.append(segments[i]);
-				}
-			}
-			return buffer.toString();
-		}
-		return ""; //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
deleted file mode 100644
index d3cb8bb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
+++ /dev/null
@@ -1,493 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.sourcelookup.WorkingSetSourceContainer;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-
-/**
- * The panel that contains the list of source containers.
- * 
- * @since 3.0
- */
-public class SourceLookupPanel extends AbstractLaunchConfigurationTab implements IPropertyChangeListener {
-	//the configuration being edited
-	protected ILaunchConfiguration fConfig;
-	//the viewer displaying the containers
-	protected SourceContainerViewer fPathViewer;
-	//the duplicates checkbox
-	protected Button fDuplicatesButton;
-	//the source actions - up, down, add, remove, restore
-	protected List fActions = new ArrayList(6);
-	//the director that will be used by the tab to manage/store the containers
-	protected ISourceLookupDirector fLocator;
-	
-	protected AddContainerAction fAddAction; 
-	protected EditContainerAction fEditAction;
-	protected RestoreDefaultAction fRestoreDefaultAction;
-	
-	protected static final String DIALOG_SETTINGS_PREFIX = "sourceTab"; //$NON-NLS-1$
-	
-	/**
-	 * Creates and returns the source lookup control.
-	 * 
-	 * @param parent the parent widget of this control
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		comp.setLayout(topLayout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		comp.setLayoutData(gd);
-		
-		Label viewerLabel = new Label(comp, SWT.LEFT);
-		viewerLabel.setText(
-				SourceLookupUIMessages.getString(
-						DIALOG_SETTINGS_PREFIX + ".lookupLabel")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 2;
-		viewerLabel.setLayoutData(gd);
-		viewerLabel.setFont(font);
-		
-		fPathViewer = new SourceContainerViewer(comp, this);
-		
-		gd = new GridData(GridData.FILL_BOTH);
-		fPathViewer.getControl().setLayoutData(gd);
-		fPathViewer.getControl().setFont(font);
-		
-		IWorkingSetManager workingSetMgr =DebugUIPlugin.getDefault().getWorkbench().getWorkingSetManager();
-		//listen to changes user made to the working sets, if a working set is being removed
-		//check current list to validate working sets  
-		workingSetMgr.addPropertyChangeListener(this);
-		
-		Composite pathButtonComp = new Composite(comp, SWT.NONE);
-		GridLayout pathButtonLayout = new GridLayout();
-		pathButtonLayout.marginHeight = 0;
-		pathButtonLayout.marginWidth = 0;
-		pathButtonComp.setLayout(pathButtonLayout);
-		gd =
-			new GridData(
-					GridData.VERTICAL_ALIGN_BEGINNING
-					| GridData.HORIZONTAL_ALIGN_FILL);
-		pathButtonComp.setLayoutData(gd);
-		pathButtonComp.setFont(font);
-		
-		createVerticalSpacer(comp, 2);
-		
-		fDuplicatesButton = new Button(comp, SWT.CHECK);
-		fDuplicatesButton.setText(
-				SourceLookupUIMessages.getString(
-						DIALOG_SETTINGS_PREFIX + ".searchDuplicateLabel")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		fDuplicatesButton.setLayoutData(gd);
-		fDuplicatesButton.setFont(font);
-		fDuplicatesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				setDirty(true);
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		GC gc = new GC(parent);
-		gc.setFont(parent.getFont());
-		FontMetrics fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-		
-		fAddAction = new AddContainerAction();
-		Button button =
-			createPushButton(pathButtonComp, fAddAction.getText(), fontMetrics);
-		fAddAction.setButton(button);
-		addAction(fAddAction);
-		
-		fEditAction = new EditContainerAction();
-		button =
-			createPushButton(pathButtonComp, fEditAction.getText(), fontMetrics);
-		fEditAction.setButton(button);
-		addAction(fEditAction);
-		
-		SourceContainerAction action = new RemoveAction();
-		button =
-			createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);
-		
-		action = new UpAction();
-		button =
-			createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);
-		
-		action = new DownAction();
-		button =
-			createPushButton(pathButtonComp, action.getText(), fontMetrics);
-		action.setButton(button);
-		addAction(action);		
-		
-		fRestoreDefaultAction = new RestoreDefaultAction();
-		button = createPushButton(pathButtonComp, fRestoreDefaultAction.getText(), fontMetrics);
-		fRestoreDefaultAction.setButton(button);
-		addAction(fRestoreDefaultAction);
-		
-		retargetActions(fPathViewer);
-		
-		Dialog.applyDialogFont(comp);
-		setControl(comp);
-	}	
-	
-	/**
-	 * Creates and returns a button 
-	 * 
-	 * @param parent parent widget
-	 * @param label label
-	 * @return Button
-	 */
-	protected Button createPushButton(
-			Composite parent,
-			String label,
-			FontMetrics fontMetrics) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		GridData gd = getButtonGridData(button, fontMetrics);
-		button.setLayoutData(gd);
-		return button;
-	}
-	
-	private GridData getButtonGridData(
-			Button button,
-			FontMetrics fontMetrics) {
-		GridData gd =
-			new GridData(
-					GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		
-		int widthHint =
-			Dialog.convertHorizontalDLUsToPixels(
-					fontMetrics,
-					IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint =
-			Math.max(
-					widthHint,
-					button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		
-		gd.heightHint =
-			Dialog.convertVerticalDLUsToPixels(
-					fontMetrics,
-					IDialogConstants.BUTTON_HEIGHT);
-		return gd;
-	}
-	
-	/**
-	 * Create some empty space 
-	 */
-	protected void createVerticalSpacer(Composite comp, int colSpan) {
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-	}
-	
-	/**
-	 * Adds the given action to the action collection in this tab
-	 */
-	protected void addAction(SourceContainerAction action) {
-		fActions.add(action);
-	}
-	
-	/**
-	 * Re-targets actions to the given viewer
-	 */
-	protected void retargetActions(SourceContainerViewer viewer) {
-		Iterator actions = fActions.iterator();
-		while (actions.hasNext()) {
-			SourceContainerAction action = (SourceContainerAction) actions.next();
-			action.setViewer(viewer);
-		}
-	}
-	
-	/**
-	 * Initializes this control based on the settings in the given
-	 * launch configuration.
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		if (fLocator != null) {
-			fLocator.dispose();
-			fLocator = null;
-		}
-		setErrorMessage(null);
-		setMessage(null);
-		String memento = null;	
-		String type = null;
-		try{
-			memento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-			type = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
-			if (type == null) {
-				type = configuration.getType().getSourceLocatorId();
-			}
-		}catch(CoreException e){
-			setErrorMessage(e.getMessage());
-			return;
-		}	
-		
-		if(type == null) {
-			setErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.2")); //$NON-NLS-1$
-			return;
-		}
-		
-		try {
-			ISourceLocator locator = getLaunchManager().newSourceLocator(type);
-			if(!(locator instanceof AbstractSourceLookupDirector)) {
-				// migrate to the new source lookup infrastructure
-				memento = null; // don't use old memento
-				type = configuration.getType().getSourceLocatorId();
-				if(type == null) {
-					setErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.2")); //$NON-NLS-1$
-					return;
-				}
-				locator = getLaunchManager().newSourceLocator(type);
-				if (!(locator instanceof AbstractSourceLookupDirector)) {
-					setErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.2")); //$NON-NLS-1$
-					return;
-				}
-			}
-			fLocator = (AbstractSourceLookupDirector)locator;			
-			if (memento == null) {
-				fLocator.initializeDefaults(configuration);
-			} else {				
-				fLocator.initializeFromMemento(memento, configuration);				 
-			}			
-		} catch (CoreException e) {
-			setErrorMessage(e.getMessage());
-			return;
-		}	
-		
-		initializeFrom(fLocator);		
-	}
-	
-	/**
-	 * Initializes this control based on the settings in the given
-	 * AbstractSourceLookupDirector
-	 */
-	public void initializeFrom(ISourceLookupDirector locator) {
-		if(fConfig == null)
-			fConfig = locator.getLaunchConfiguration();
-		fPathViewer.setEntries(locator.getSourceContainers());		
-		fDuplicatesButton.setSelection(locator.isFindDuplicates());
-		fLocator = locator;
-		fAddAction.setSourceLookupDirector(locator);
-		fEditAction.setSourceLookupDirector(locator);
-		fRestoreDefaultAction.setSourceLookupDirector(locator);
-		setDirty(false);
-	}
-	
-	/**
-	 * Saves the containers and duplicate policy into the given working copy of the configuration.  
-	 * Saving the configuration will result in a change event, which will be picked up by the director 
-	 * and used to refresh its internal list.
-	 * 
-	 * @param containers the list of containers entered by the user
-	 * @param duplicates true if the user checked the duplicates check box, false otherwise
-	 * @param workingCopy the working copy of the configuration that these values should be stored in, may be null.
-	 * 	If null, will be written into a working copy of the configuration referenced by the director.
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {		
-		if (isDirty()) {
-			if (fLocator == null) {
-				configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-				configuration.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
-				return;
-			}
-			ILaunchConfigurationWorkingCopy workingCopy = null;			
-			if(configuration == null) {
-				try{
-					workingCopy = fLocator.getLaunchConfiguration().getWorkingCopy();
-				}catch(CoreException e){ 
-					DebugUIPlugin.log(e);
-					setErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.1")); //$NON-NLS-1$
-					return;
-				}
-			}
-			else workingCopy = configuration;	
-			if(workingCopy == null) {
-				DebugUIPlugin.logErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.1")); //$NON-NLS-1$
-				return;
-			}
-			//set new values in director so memento returned in correct
-			fLocator.setSourceContainers(fPathViewer.getEntries());
-			fLocator.setFindDuplicates(fDuplicatesButton.getSelection());
-						
-			//writing to the file will cause a change event and the listeners will be updated
-			try{			
-				if (isDefault(workingCopy)) {
-					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
-					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, (String)null);
-				} else {
-					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO, fLocator.getMemento());
-					workingCopy.setAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_ID, fLocator.getId());
-				}
-				if(configuration == null) 
-					workingCopy.doSave(); 
-				setDirty(false);
-			}catch(CoreException e){
-				DebugUIPlugin.log(e);
-				setErrorMessage(SourceLookupUIMessages.getString("sourceLookupPanel.1")); //$NON-NLS-1$
-			}
-			
-		}			
-	}
-	
-	protected boolean isDefault(ILaunchConfiguration configuration) {
-		ISourceContainer[] current = getEntries();
-		return current.length == 1 && current[0] instanceof DefaultSourceContainer;
-	}
-	
-	/**
-	 * Returns the entries visible in the viewer
-	 */
-	public ISourceContainer[] getEntries() {
-		return fPathViewer.getEntries();
-	}
-	/**
-	 * Marks the panel as dirty.
-	 */
-	public void setDirty(boolean dirty) {
-		super.setDirty(dirty);
-		
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return SourceLookupUIMessages.getString(
-				DIALOG_SETTINGS_PREFIX + ".tabTitle"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#updateLaunchConfigurationDialog()
-	 */
-	protected void updateLaunchConfigurationDialog() {
-		if (getLaunchConfigurationDialog() != null) {
-			super.updateLaunchConfigurationDialog();
-		}
-	}
-		
-	/**
-	 * This is called whenever a working set has been removed. Loops through the original list
-	 * of working sets the user stores in the configuration. If the one being removed is in the
-	 * list, remove it from the list
-	 * @param affectedWorkingSet - the working set being removed
-	 */
-	private void validateWorkingSetSourceContainers(IWorkingSet affectedWorkingSet) {
-		List sourceContainers = (List) fPathViewer.getInput();
-		
-		if (sourceContainers != null) {
-			for (int i = 0; i < sourceContainers.size(); i++) {
-				if (sourceContainers.get(i)
-						instanceof WorkingSetSourceContainer) {
-					WorkingSetSourceContainer wsSrcContainer =
-						(WorkingSetSourceContainer) sourceContainers.get(i);
-					if (wsSrcContainer
-							.getName()
-							.equals(affectedWorkingSet.getName())) {
-						sourceContainers.remove(i);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Listen to working set changes
-	 * @param event
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		//if the PropertyChangeEvent has changeId CHANGE_WORKING_SET_REMOVE, 
-		//validate the list to make sure all working sets are valid 
-		if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE))
-			validateWorkingSetSourceContainers((IWorkingSet) event.getOldValue());
-		
-		//if the PropertyChangeEvent has changeId CHANGE_WORKING_SET_NAME_CHANGE,
-		//do nothing because the event only has newValue, since oldValue is not provided
-		//there is no way to identify which working set does the newValue corresponds to									
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		initializeFrom(workingCopy);
-	}
-	
-	/**
-	 * Returns the source lookup director associated with this
-	 * panel, or <code>null</code> if none.
-	 * 
-	 * @return the source lookup director associated with this
-	 * panel, or <code>null</code> if none
-	 */
-	public ISourceLookupDirector getDirector() {
-		return fLocator;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		IWorkingSetManager workingSetMgr =DebugUIPlugin.getDefault().getWorkbench().getWorkingSetManager();
-		//listen to changes user made to the working sets, if a working set is being removed
-		//check current list to validate working sets  
-		workingSetMgr.removePropertyChangeListener(this);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.java
deleted file mode 100644
index 72c8f57..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
- 
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class SourceLookupUIMessages {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages";//$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private SourceLookupUIMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
deleted file mode 100644
index 55c623e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
+++ /dev/null
@@ -1,97 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# Source search launch configuration tab/errors/dialogs
-EditContainerAction.0=&Edit...
-sourceTab.lookupLabel = S&ource Lookup Path:
-sourceTab.searchDuplicateLabel = Searc&h for duplicate source files on the path
-sourceTab.searchWorkspaceLabel = Search all workspace projects
-sourceTab.upButton = U&p
-sourceTab.downButton = &Down
-sourceTab.removeButton = &Remove
-sourceTab.addButton = &Add...
-sourceTab.applyButton= Appl&y
-sourceTab.revertButton = Re&vert
-sourceTab.tabTitle = Source
-sourceTab.defaultButton = Restore De&fault
-
-addSourceLocation.title = Add Source
-addSourceLocation.description = Select the type of source to add to the source lookup path
-addSourceLocation.addButton = &Add...
-addSourceLocation.addButton2 = &Edit Source Lookup Path...
-addSourceLocation.editorMessage = Source not found.
-addSourceLocation.editorMessage2 = To add a new source lookup path container, click the button below.
-addSourceLocation.generateSource = &Generate View
-addSourceLocation.changeSource = &Change Source File...
-addSourceLocation.showEngineView = &Show {0}
-
-sourceSearch.duplicateError = Selection already on source lookup path.
-sourceSearch.invalidSelectionError = Invalid selection.
-sourceSearch.error = Error occurred.
-sourceSearch.errorTitle=Error occurred
-sourceSearch.jarOrZipSelectionError = Selection must be a jar or zip.
-sourceSearch.folderSelectionError = Selection must be a folder.
-sourceSearch.closedProjectError = Selected project is closed.
-sourceSearch.failedError = Unable to add source container to lookup path.
-sourceSearch.unsupportedError = Unsupported action.
-sourceSearch.couldNotSave= Could not save launch configuration.
-sourceSearch.initError = Unable to initialize source container.
-
-projectSelection.chooseLabel = Choose &project(s) to add:
-projectSelection.selectAllLabel = &Select All
-projectSelection.deselectAllLabel = &Deselect All
-projectSelection.exportedLabel = &Add exported entries of selected projects
-projectSelection.requiredLabel = Add &required projects of selected projects
-projectSelection.title = Project Selection
-
-selectWorkingSet.title = Select Working Set
-selectWorkingSet.label = &Select working set:
-selectWorkingSet.newButton = &New...
-selectWorkingSet.editButton = &Edit...
-selectWorkingSet.removeButton = &Remove
-selectWorkingSet.addExportedProjectsLabel = Add exported entries of projects in selected sets
-selectWorkingSet.addRequiredProjectsLabel = Add required projects of projects in selected sets
-
-folderSelection.title=Folder Selection
-folderSelection.label=&Choose folders to add:
-folderSelection.folderLabel=Folder:
-
-containerSelection.title = Container Selection
-containerSelection.label=&Select container to add:
-
-commonLabel.OK = &OK
-commonLabel.Cancel = &Cancel
-commonLabel.Finish = &Finish
-
-locationName.workingSet = Working set
-locationName.project = Project
-locationName.folder = Folder
-locationName.externalFolder = Directory
-locationName.archive = Archive
-locationName.externalArchive = External archive
-locationName.variable = Variable
-locationName.workspace = Workspace
-
-manageSourceAction.action = Edit Source Lookup Path...
-manageSourceDialog.title = Edit Source Lookup Path
-manageSourceDialog.description = Edit the path used to locate source files.
-
-defaultContainer.0 = Exception occurred restoring default source container.
-
-sourceLookupPanel.1 = Error occurred - unable to apply source lookup path changes.
-sourceLookupPanel.2 = Launch configuration does not support source lookup
-ResolveDuplicatesHandler.0=Select Source File
-ResolveDuplicatesHandler.1=Choose a source file (? = any character, * = any string)
-EditSourceLookupPathAction.0=Edit Source Loo&kup...
-LookupSourceAction.0=Lookup &Source
-ExternalArchiveSourceContainerBrowser.2=Select Source Archive
-ArchiveSourceContainerBrowser.3=Archive Selection
-ArchiveSourceContainerBrowser.4=Choose archives to add:
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
deleted file mode 100644
index f458276..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIUtils.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-
-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.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.sourcelookup.ISourceContainerBrowser;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.osgi.framework.Bundle;
-
-/**
- * Utility methods for the UI portion of the source lookup solution.
- * 
- * @since 3.0
- */
-public class SourceLookupUIUtils {
-	/**
-	 * Constant for the container presentation extension id.
-	 * @since 3.0
-	 */
-	public static final String CONTAINER_PRESENTATION_EXTENSION = "sourceContainerPresentations"; //$NON-NLS-1$
-	/**
-	 * Constant for the container presentation icon attribute.
-	 * @since 3.0
-	 */
-	public static final String ICON_ATTRIBUTE = "icon";	 //$NON-NLS-1$
-	/**
-	 * Constant for the container presentation browser attribute.
-	 * @since 3.0
-	 */
-	public static final String BROWSER_CLASS_ATTRIBUTE = "browserClass"; //$NON-NLS-1$
-	/**
-	 * Constant for the container presentation type id attribute.
-	 * @since 3.0
-	 */
-	public static final String CONTAINER_ID_ATTRIBUTE = "containerTypeID";	//$NON-NLS-1$
-	
-	private static Hashtable fSourceContainerPresentationHashtable;
-	
-	/**
-	 * Constructor. Reads in Source Container Presentation extension implementations.
-	 */
-	public SourceLookupUIUtils(){
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), CONTAINER_PRESENTATION_EXTENSION);		
-		//read in SourceContainer presentation extensions
-		IConfigurationElement[] sourceContainerPresentationExtensions =extensionPoint.getConfigurationElements();
-		fSourceContainerPresentationHashtable = new Hashtable();
-		for (int i = 0; i < sourceContainerPresentationExtensions.length; i++) {
-			fSourceContainerPresentationHashtable.put(
-					sourceContainerPresentationExtensions[i].getAttribute(CONTAINER_ID_ATTRIBUTE),
-					sourceContainerPresentationExtensions[i]);
-			registerContainerImages(sourceContainerPresentationExtensions[i]);			
-		}		
-	}	
-	
-	
-	/**
-	 * Retrieves the icon associated with a source container type.
-	 * @param id the container type id
-	 * @return the image for the type specified
-	 */
-	public static Image getSourceContainerImage(String id){
-		if(fSourceContainerPresentationHashtable == null)
-			new SourceLookupUIUtils();
-		return DebugPluginImages.getImage(id);
-	}
-	
-	/**
-	 * Retrieves the browser class associated with the source container type specified.
-	 * @param typeID the source container type id
-	 * @return the browser class
-	 */
-	public static ISourceContainerBrowser getSourceContainerBrowser(String typeID)
-	{
-		if(fSourceContainerPresentationHashtable == null)
-			new SourceLookupUIUtils();
-		IConfigurationElement element = (IConfigurationElement)fSourceContainerPresentationHashtable.get(typeID);
-		ISourceContainerBrowser browser = null;
-		try{
-			if(element!= null && element.getAttribute(BROWSER_CLASS_ATTRIBUTE) != null)
-				browser = (ISourceContainerBrowser) element.createExecutableExtension(BROWSER_CLASS_ATTRIBUTE);
-		}catch(CoreException e){}
-		return browser;
-	}
-	
-	private void registerContainerImages(IConfigurationElement configElement){
-		Bundle bundle = Platform.getBundle(configElement.getDeclaringExtension().getNamespace());
-		URL iconURL = bundle.getEntry("/"); //$NON-NLS-1$
-		String iconPath = configElement.getAttribute(ICON_ATTRIBUTE);
-		ImageDescriptor imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-		String configTypeID = configElement.getAttribute(CONTAINER_ID_ATTRIBUTE);
-		ImageRegistry imageRegistry = DebugPluginImages.getImageRegistry();
-		DebugPluginImages.getImageRegistry();
-		if(iconPath != null)
-		{
-			try {
-				iconURL = new URL(iconURL, iconPath);
-				imageDescriptor = ImageDescriptor.createFromURL(iconURL);
-			} catch (MalformedURLException mue) {
-				DebugUIPlugin.log(mue);
-			}	
-			
-			imageRegistry.put(configTypeID, imageDescriptor);			
-		}		
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
deleted file mode 100644
index 88d2f35..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/UpAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * The action used to move source containers up in the list 
- */
-public class UpAction extends SourceContainerAction {
-	
-	public UpAction() {
-		super(SourceLookupUIMessages.getString("sourceTab.upButton"));  //$NON-NLS-1$
-	}
-	/**
-	 * Moves all selected entries up one position (if possible).
-	 * 
-	 * @see IAction#run()
-	 */
-	public void run() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		int top = 0;
-		int index = 0;
-		List list = getEntriesAsList();
-		Iterator entries = targets.iterator();
-		while (entries.hasNext()) {
-			Object target = entries.next();
-			index = list.indexOf(target);
-			if (index > top) {
-				top = index - 1;
-				Object temp = list.get(top);
-				list.set(top, target);
-				list.set(index, temp);
-			}
-			top = index;
-		} 
-		setEntries(list);
-	}
-	
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		//check that something is selected, it's not first in the list, and it is a root tree node.
-		return !selection.isEmpty() && !isIndexSelected(selection, 0) && getViewer().getTree().getSelection()[0].getParentItem()==null;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
deleted file mode 100644
index 5ea107f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/WorkingSetSourceContainerType.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup;
-
-import java.io.IOException;
-import java.io.StringReader;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-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.ui.sourcelookup.*;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * The factory for creating/restoring working set source containers.
- * 
- * @since 3.0
- */
-public class WorkingSetSourceContainerType extends AbstractSourceContainerTypeDelegate {
-	/* (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 {
-		WorkingSetSourceContainer workingSet = (WorkingSetSourceContainer) container;
-		Document doc = newDocument();		
-		Element node = doc.createElement("workingSet"); //$NON-NLS-1$
-		node.setAttribute("name", workingSet.getName()); //$NON-NLS-1$
-		doc.appendChild(node);
-		return serializeDocument(doc);	 
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
-	 */
-	public ISourceContainer createSourceContainer(String memento)throws CoreException {
-		IWorkingSet workingSet = null;
-		Exception ex = null;
-		try {
-			Element root = null;
-			DocumentBuilder parser =
-				DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			StringReader reader = new StringReader(memento);
-			InputSource source = new InputSource(reader);
-			root = parser.parse(source).getDocumentElement();
-			
-			String name = root.getAttribute("name");//$NON-NLS-1$
-			
-			if (isEmpty(name)) {
-				abort(SourceLookupUIMessages.getString("sourceSearch.initError"),null);//$NON-NLS-1$
-			}
-			workingSet = WorkbenchPlugin.getDefault().getWorkingSetManager().getWorkingSet(name);
-			//check that set still exists
-			if (workingSet == null) {				
-				abort(SourceLookupUIMessages.getString("sourceSearch.initError"), null); //$NON-NLS-1$
-			}				
-			return new WorkingSetSourceContainer(workingSet);	
-			
-		} catch (ParserConfigurationException e) {
-			ex = e;
-		} catch (SAXException e) {
-			ex = e;
-		} catch (IOException e) {
-			ex = e;
-		}
-		
-		abort(SourceLookupUIMessages.getString("sourceSearch.initError"), ex);	//$NON-NLS-1$
-		return null;	
-	}
-
-	private boolean isEmpty(String string) {
-		return string == null || string.length() == 0;
-	}
-	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
deleted file mode 100644
index cbd29a5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveFilter.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * ArchiveFilter
- */
-public class ArchiveFilter extends ViewerFilter {
-	
-	/**
-	 * Collection of archives and containers to display
-	 */
-	private Set fArchives;
-	
-	/**
-	 * Collection of already existing archives
-	 */
-	private List fExisting;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return fArchives.contains(element) && !fExisting.contains(element);
-	}
-
-	/**
-	 * Constructs a new filter to display archives and their containers,
-	 * excluding the resources in the given list.
-	 * 
-	 * @param objects resources to exclude
-	 */
-	public ArchiveFilter(List objects) {
-		fExisting = objects;
-		init();
-	}
-	
-	/**
-	 * Search for all archives in the workspace.
-	 */
-	private void init() {
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				fArchives = new HashSet();
-				traverse(ResourcesPlugin.getWorkspace().getRoot(), fArchives);
-			}
-		});
-	}
-
-	/**
-	 * Traverse the given container, adding archives to the given set.
-	 * Returns whether any files were added
-	 * 
-	 * @param root
-	 */
-	private boolean traverse(IContainer container, Set set) {
-		boolean added = false;
-		try {	
-			IResource[] resources = container.members();
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if (resource instanceof IFile) {
-					IFile file = (IFile)resource;
-					String ext = file.getFileExtension();
-					if (ext != null && (ext.equalsIgnoreCase("jar") || ext.equalsIgnoreCase("zip"))) { //$NON-NLS-1$ //$NON-NLS-2$
-						set.add(file);
-						added = true;
-					}
-				} else if (resource instanceof IContainer) {
-					if (traverse((IContainer)resource, set)) {
-						set.add(resource);	
-						added = true;
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-		return added;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
deleted file mode 100644
index 1331672..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ArchiveSourceContainerBrowser.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * Adds an internal jar to the runtime class path.
- */
-public class ArchiveSourceContainerBrowser extends AbstractSourceContainerBrowser {
-
-	private ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-		public IStatus validate(Object[] selection) {
-			if (selection.length == 0) {
-				return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}
-			for (int i= 0; i < selection.length; i++) {
-				if (!(selection[i] instanceof IFile)) {
-					return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-				}					
-			}
-			return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-		}			
-	};
-
-	/**
-	 * Returns internal jars (source containers) currently used by the
-	 * given source lookup director.
-	 * 
-	 * @param director source lookup director jars are being added to
-	 */
-	protected List getSelectedJars(ISourceLookupDirector director) {
-		ISourceContainer[] containers = director.getSourceContainers();
-		List jars = new ArrayList();
-		for (int i = 0; i < containers.length; i++) {
-			ISourceContainer container = containers[i];
-			if (container.getType().getId().equals(ArchiveSourceContainer.TYPE_ID)) {
-				jars.add(container);
-			}
-		}
-		return jars;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.internal.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		ViewerFilter filter= new ArchiveFilter(getSelectedJars(director));
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(shell, lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(SourceLookupUIMessages.getString("ArchiveSourceContainerBrowser.3")); //$NON-NLS-1$
-		dialog.setMessage(SourceLookupUIMessages.getString("ArchiveSourceContainerBrowser.4")); //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
-		dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-
-		if (dialog.open() == Window.OK) {
-			Object[] result = dialog.getResult();
-			ISourceContainer[] containers = new ISourceContainer[result.length];
-			for (int i = 0; i < containers.length; i++) {
-				containers[i] = new ArchiveSourceContainer((IFile)result[i], true);
-			}
-			return containers;
-		}	
-		return new ISourceContainer[0];
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
deleted file mode 100644
index a39c424..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerBrowser.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The browser for adding an external folder source container.
- * @since 3.0
- */
-public class DirectorySourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		ISourceContainer[] containers = new ISourceContainer[1];
-		DirectorySourceContainerDialog dialog = new DirectorySourceContainerDialog(shell);
-		String result = dialog.getResult();
-		if(result !=null)
-		{	//TODO add boolean to dialog instead of hard coding
-			containers[0] = new DirectorySourceContainer(new Path(result), true);			
-			return containers;			
-		}
-		
-		return new ISourceContainer[0];
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
deleted file mode 100644
index 44f7df4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The dialog for selecting the external folder for which a source container will be created.
- * 
- * @since 3.0
- */
-public class DirectorySourceContainerDialog {
-	
-	private String fRes;
-	private static final String LAST_PATH_SETTING = "EXT_FOLDER_LAST_PATH_SETTING"; //$NON-NLS-1$
-	
-	public DirectorySourceContainerDialog(Shell shell) {
-		
-		String lastUsedPath= DebugUIPlugin.getDefault().getDialogSettings().get(LAST_PATH_SETTING);
-		if (lastUsedPath == null) {
-			lastUsedPath= "";  //$NON-NLS-1$
-		}
-		//TODO not supposed to subclass DirectoryDialog, but need a checkbox added for subfolder searching
-		DirectoryDialog dialog = new DirectoryDialog(shell, SWT.MULTI);
-		//TODO why does & show up in dialog instead of underscore?
-		dialog.setText(SourceLookupUIMessages.getString("folderSelection.title")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		dialog.setMessage(SourceLookupUIMessages.getString("folderSelection.label")); //$NON-NLS-1$
-		fRes = dialog.open();
-		
-		if (fRes == null) {
-			return;
-		}
-		
-		IPath filterPath= new Path(dialog.getFilterPath());		
-		DebugUIPlugin.getDefault().getDialogSettings().put(LAST_PATH_SETTING, filterPath.toOSString());		
-	}
-	
-	/**
-	 * Returns the result of the dialog.open() operation
-	 * @return the dialog.open() result
-	 */
-	public String getResult() {
-		return fRes;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java
deleted file mode 100644
index 7f6635d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ExternalArchiveSourceContainerBrowser.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The browser for adding an external archive.
- * @since 3.0
- */
-public class ExternalArchiveSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	private static final String ROOT_DIR = ExternalArchiveSourceContainerBrowser.class.getName() + ".rootDir";   //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
-		String rootDir = DebugUIPlugin.getDefault().getDialogSettings().get(ROOT_DIR);
-		dialog.setText(SourceLookupUIMessages.getString("ExternalArchiveSourceContainerBrowser.2")); //$NON-NLS-1$
-		dialog.setFilterExtensions(new String[]{"*.jar;*.zip"});  //$NON-NLS-1$//$NON-NLS-2$
-		if (rootDir != null) {
-			dialog.setFilterPath(rootDir);
-		}
-		dialog.open();
-		String[] fileNames= dialog.getFileNames();
-		int nChosen= fileNames.length;			
-		if (nChosen > 0) {
-			rootDir = dialog.getFilterPath();
-			IPath filterPath= new Path(rootDir);
-			ISourceContainer[] containers= new ISourceContainer[nChosen];
-			for (int i= 0; i < nChosen; i++) {
-				IPath path= filterPath.append(fileNames[i]).makeAbsolute();	
-				// TODO: configure auto-detect
-				containers[i]= new ExternalArchiveSourceContainer(path.toOSString(), true);
-			}
-			DebugUIPlugin.getDefault().getDialogSettings().put(ROOT_DIR, rootDir);
-			return containers;
-		}
-		return new ISourceContainer[0];
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
deleted file mode 100644
index ab6ca18..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerBrowser.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import java.util.ArrayList;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * The browser for adding a folder source container.
- * 
- * @since 3.0
- */
-public class FolderSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		Dialog dialog =new FolderSourceContainerDialog(shell,  new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		
-		if (dialog.open() == Window.OK) {
-			Object[] selection= ((ElementTreeSelectionDialog)dialog).getResult();
-			ArrayList containers = new ArrayList();			
-			for (int i= 0; i < selection.length; i++) {
-				if(!(selection[i] instanceof IFolder))
-					continue;			
-				//TODO add boolean to dialog instead of hard coding
-				containers.add(new FolderSourceContainer((IFolder)selection[i], true));				
-			}
-			return (ISourceContainer[])containers.toArray(new ISourceContainer[containers.size()]);	
-		}			
-		return new ISourceContainer[0];
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
deleted file mode 100644
index c96ffd8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/FolderSourceContainerDialog.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.ide.dialogs.ResourceSorter;
-
-/**
- * The dialog for selecting the folder for which a source container will be created.
- * 
- * @since 3.0
- */
-public class FolderSourceContainerDialog extends ElementTreeSelectionDialog { 
-	
-	public FolderSourceContainerDialog(
-			Shell parent,
-			ILabelProvider labelProvider,
-			ITreeContentProvider contentProvider) {
-		super(parent, labelProvider, contentProvider);
-		setTitle(SourceLookupUIMessages.getString("folderSelection.title"));	//$NON-NLS-1$	
-		setInput(ResourcesPlugin.getWorkspace().getRoot());
-		setSorter(new ResourceSorter(ResourceSorter.NAME));
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				for (int i= 0; i < selection.length; i++) {
-					if (!(selection[i] instanceof IFolder)) {
-						return new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), -1, SourceLookupUIMessages.getString("sourceSearch.folderSelectionError"), null); //$NON-NLS-1$ 
-					} 				
-				}
-				return new Status(IStatus.OK, DebugUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		setValidator(validator);	
-		setDoubleClickSelects(true);
-		setAllowMultiple(true);
-		setMessage(SourceLookupUIMessages.getString("folderSelection.label")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(parent,  IDebugHelpContextIds.ADD_FOLDER_CONTAINER_DIALOG);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
deleted file mode 100644
index 422b118..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerBrowser.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import java.util.ArrayList;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.internal.ui.sourcelookup.BasicContainerContentProvider;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * The browser for creating project source containers.
- * 
- * @since 3.0
- */
-public class ProjectSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell,org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		Object input = ResourcesPlugin.getWorkspace().getRoot();
-		IStructuredContentProvider contentProvider=new BasicContainerContentProvider();
-		ILabelProvider labelProvider = new WorkbenchLabelProvider();
-		Dialog dialog = new ProjectSourceContainerDialog(shell,input, contentProvider, labelProvider,
-				SourceLookupUIMessages.getString("projectSelection.chooseLabel")); //$NON-NLS-1$
-		if(dialog.open() == Window.OK){		
-			Object[] elements= ((ListSelectionDialog)dialog).getResult();
-			ArrayList res= new ArrayList();
-			for (int i= 0; i < elements.length; i++) {
-				if(!(elements[i] instanceof IProject))
-					continue;				
-				res.add(new ProjectSourceContainer((IProject)elements[i], ((ProjectSourceContainerDialog)dialog).isAddRequiredProjects()));				
-			}
-			return (ISourceContainer[])res.toArray(new ISourceContainer[res.size()]);	
-		}	
-		return new ISourceContainer[0];
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java
deleted file mode 100644
index ff0fab1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/ProjectSourceContainerDialog.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * The dialog for selecting the project for which a source container will be created.
- * 
- * @since 3.0
- */
-public class ProjectSourceContainerDialog extends ListSelectionDialog {
-	
-	private boolean fAddRequiredProjects = false;
-	
-	public ProjectSourceContainerDialog(
-			Shell parentShell,
-			Object input,
-			IStructuredContentProvider contentProvider,
-			ILabelProvider labelProvider,
-			String message) {
-		super(parentShell, input, contentProvider, labelProvider, message);
-	}
-	
-	
-	/**
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		final Button addRequired = new Button(composite, SWT.CHECK);
-		addRequired.setText(SourceLookupUIMessages.getString("projectSelection.requiredLabel"));  //$NON-NLS-1$
-		addRequired.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				fAddRequiredProjects = addRequired.getSelection();
-			}
-		});
-		addRequired.setSelection(fAddRequiredProjects);
-		addRequired.setFont(font);		
-		
-		applyDialogFont(composite);
-		WorkbenchHelp.setHelp(getShell(),  IDebugHelpContextIds.ADD_PROJECT_CONTAINER_DIALOG);
-		return composite;
-	}
-	
-	
-	/**
-	 * Returns whether the user has selected to add required projects.
-	 * 
-	 * @return whether the user has selected to add required projects
-	 */
-	public boolean isAddRequiredProjects() {
-		return fAddRequiredProjects;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
deleted file mode 100644
index 6bd77fb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkingSetSourceContainerBrowser.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import java.util.ArrayList;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.debug.ui.sourcelookup.WorkingSetSourceContainer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-
-/**
- * The browser for creating working set source containers.
- * 
- * @since 3.0
- */
-public class WorkingSetSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		ArrayList containers = new ArrayList();		
-		IWorkingSetSelectionDialog dialog = WorkbenchPlugin.getDefault().getWorkingSetManager().createWorkingSetSelectionDialog(shell,true);
-		
-		if(dialog.open() == Window.OK)
-		{
-			IWorkingSet[] selections = dialog.getSelection();
-			if(selections != null)
-			{				
-				for(int i=0; i<selections.length; i++)
-				{
-					containers.add(new WorkingSetSourceContainer(selections[i]));					
-				}	
-			}		
-		}
-		
-		return (ISourceContainer[])containers.toArray(new ISourceContainer[containers.size()]);
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java
deleted file mode 100644
index 1dcfcf0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/WorkspaceSourceContainerBrowser.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.sourcelookup.browsers;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The browser for creating workspace source containers.
- * 
- * @since 3.0
- */
-public class WorkspaceSourceContainerBrowser extends AbstractSourceContainerBrowser {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#createSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		ISourceContainer[] containers = new ISourceContainer[1];
-		
-		containers[0] = new WorkspaceSourceContainer();
-		
-		return containers;		
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ContainerResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ContainerResolver.java
deleted file mode 100644
index 982946b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ContainerResolver.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Resolver for the <code>${container_*}</code> variables. Accepts an optional
- * argument that is interpretted as a full path to a container in the workspace.  
- * 
- * @since 3.0
- */
-public class ContainerResolver extends ResourceResolver {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver#translateSelectedResource(org.eclipse.core.resources.IResource)
-	 */
-	protected IResource translateSelectedResource(IResource resource) {
-		return resource.getParent();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
deleted file mode 100644
index c870f14..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FilePrompt.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.FileDialog;
-
-/**
- * Prompts the user to choose a file and expands the selection
- */
-public class FilePrompt extends PromptingResolver {
-
-	/**
-	 * Prompts the user to choose a file
-	 * @see PromptExpanderBase#prompt()
-	 */
-	public void prompt() {
-		FileDialog dialog = new FileDialog(DebugUIPlugin.getStandardDisplay().getActiveShell());
-		dialog.setText(dialogMessage);
-		dialog.setFileName(lastValue == null ? defaultValue : lastValue);
-		dialogResultString = dialog.open();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
deleted file mode 100644
index 07c355f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/FolderPrompt.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.DirectoryDialog;
-
-/**
- * Prompts the user to choose a folder and expands the selection
- */
-public class FolderPrompt extends PromptingResolver {
-
-	/**
-	 * Prompts the user to choose a folder.
-	 * @see PromptExpanderBase#prompt()
-	 */
-	public void prompt() {
-		DirectoryDialog dialog = new DirectoryDialog(DebugUIPlugin.getStandardDisplay().getActiveShell());
-		dialog.setText(dialogMessage);
-		dialog.setFilterPath(lastValue == null ? defaultValue : lastValue);
-		dialogResultString = dialog.open();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
deleted file mode 100644
index d24ca92..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/IArgumentSelector.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * A variable presentation extension can contribute an argument selector
- * which is use to configure the argument for a string substitution 
- * variable.
- * 
- * @since 3.0
- */
-public interface IArgumentSelector {
-
-	/**
-	 * Selects and returns an argument for the given variable, 
-	 * or <code>null</code> if none.
-	 * 
-	 * @param variable the variable an arugment is being seleted for
-	 * @param the shell to create any dialogs on, or <code>null</code> if none
-	 * @return argument for the given variable or <code>null</code>
-	 *  if none
-	 */
-	public String selectArgument(IStringVariable variable, Shell shell);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ProjectResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ProjectResolver.java
deleted file mode 100644
index c4fffc9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ProjectResolver.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Resolver for the <code>${project_*}</code> variables. Accepts an optional argument
- * that is interpretted as the name of a project.  
- * 
- * @since 3.0
- */
-public class ProjectResolver extends ResourceResolver {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver#translateSelectedResource(org.eclipse.core.resources.IResource)
-	 */
-	protected IResource translateSelectedResource(IResource resource) {
-		return resource.getProject();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
deleted file mode 100644
index 16520b7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/PromptingResolver.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * Base implementation for variable resolvers that prompt the user
- * for their value.
- */
-abstract class PromptingResolver implements IDynamicVariableResolver {
-
-	/**
-	 * A hint that helps the user choose their input. If a prompt
-	 * hint is provider the user will be prompted:
-	 * 	Please input a value for <code>promptHint</code>
-	 */
-	protected String promptHint = null;
-	/**
-	 * The prompt displayed to the user.
-	 */
-	protected String dialogMessage = null;
-	/**
-	 * The default value selected when the prompt is displayed
-	 */
-	protected String defaultValue = null;
-	/**
-	 * The last value chosen by the user for this variable 
-	 */
-	protected String lastValue = null;
-	/**
-	 * The result returned from the prompt dialog
-	 */
-	protected String dialogResultString = null;
-	
-	/**
-	 * Presents the user with the appropriate prompt for the variable to be expanded
-	 * and sets the <code>dialogResultString</code> based on the user's selection.
-	 */
-	public abstract void prompt();
-
-	/**
-	 * Initializes values displayed when the user is prompted. If
-	 * a prompt hint and default value are supplied in the given
-	 * variable value, these are extracted for presentation
-	 * 
-	 * @param varValue the value of the variable from which the prompt
-	 * hint and default value will be extracted
-	 */
-	protected void setupDialog(String varValue) {
-		promptHint = null;
-		defaultValue = null;
-		dialogResultString = null;
-		if (varValue != null) {
-			int idx = varValue.indexOf(':');
-			if (idx != -1) {
-				promptHint = varValue.substring(0, idx);
-				defaultValue = varValue.substring(idx + 1);
-			} else {
-				promptHint = varValue;
-			}
-		}
-
-		if (promptHint != null) {
-			dialogMessage = MessageFormat.format(StringSubstitutionMessages.getString("PromptExpanderBase.0"), new String[] {promptHint}); //$NON-NLS-1$
-		} else {
-			dialogMessage = StringSubstitutionMessages.getString("PromptExpanderBase.1"); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) {
-		String value = null;
-		setupDialog(argument);
-
-		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				prompt();
-			}
-		});
-		if (dialogResultString != null) {
-			value = dialogResultString;
-			lastValue = dialogResultString;
-		}
-		return value;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceResolver.java
deleted file mode 100644
index 6eba641..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceResolver.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import java.text.MessageFormat;
-
-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.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.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Common function of variable resolvers.
- * 
- * @since 3.0
- */
-public class ResourceResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
-		IResource resource = null;
-		if (argument == null) {
-			resource = getSelectedResource(variable);
-		} else {
-			resource = getWorkspaceRoot().findMember(new Path(argument));
-		}
-		if (resource != null && resource.exists()) {
-			resource = translateSelectedResource(resource);
-			if (resource != null && resource.exists()) {
-				return translateToValue(resource, variable);
-			}
-		}
-		abort(MessageFormat.format(StringSubstitutionMessages.getString("ResourceResolver.6"), new String[]{getReferenceExpression(variable, argument)}), null);				 //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Returns the resource applicable to this resolver, relative to the selected
-	 * resource. This method is called when no argument is present in a variable
-	 * expression. For, example, this method might return the project for the
-	 * selected resource.
-	 * 
-	 * @param resource selected resource
-	 * @return resource applicable to this variable resolver
-	 */
-	protected IResource translateSelectedResource(IResource resource) {
-		return resource;
-	}
-	
-	/**
-	 * Returns the workspace root
-	 * 
-	 * @return workspace root
-	 */
-	protected IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	/**
-	 * 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();
-	}
-	
-	/**
-	 * 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, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, message, exception));
-	}
-	
-	/**
-	 * Returns the selected resource.
-	 * 
-	 * @param variable variable referencing a resource
-	 * @return selected resource
-	 * @throws CoreException if there is no selection
-	 */
-	protected IResource getSelectedResource(IDynamicVariable variable) throws CoreException {
-		IResource resource = SelectedResourceManager.getDefault().getSelectedResource();
-		if (resource == null) {
-			abort(MessageFormat.format(StringSubstitutionMessages.getString("ResourceResolver.7"), new String[]{getReferenceExpression(variable, null)}), null); //$NON-NLS-1$
-		}
-		return resource;	
-	}
-
-	/**
-	 * Translates the given resource into a value for this variable resolver.
-	 * 
-	 * @param resource the resource applicable to this resolver's variable
-	 * @param variable the variable being resolved
-	 * @return variable value
-	 * @throws CoreException if the variable name is not recognized
-	 */
-	protected String translateToValue(IResource resource, IDynamicVariable variable) throws CoreException {
-		String name = variable.getName();
-		if (name.endsWith("_loc")) { //$NON-NLS-1$
-			return resource.getLocation().toOSString();
-		} else if (name.endsWith("_path")) { //$NON-NLS-1$
-			return resource.getFullPath().toOSString();
-		} else if (name.endsWith("_name")) { //$NON-NLS-1$
-			return resource.getName();
-		}
-		abort(MessageFormat.format(StringSubstitutionMessages.getString("ResourceResolver.8"), new String[]{getReferenceExpression(variable, null)}), null); //$NON-NLS-1$
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
deleted file mode 100644
index 76e0935..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/ResourceSelector.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.ResourceListSelectionDialog;
-
-/**
- * Selects a resource argument for a string substitution variable
- */
-public class ResourceSelector implements IArgumentSelector {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.stringsubstitution.IArgumentSelector#selectArgument(org.eclipse.debug.internal.core.stringsubstitution.IStringVariable)
-	 */
-	public String selectArgument(IStringVariable variable, Shell shell) {
-		ResourceListSelectionDialog dialog = new ResourceListSelectionDialog(shell, ResourcesPlugin.getWorkspace().getRoot(), IResource.FILE | IResource.FOLDER | IResource.PROJECT);
-		dialog.setTitle(StringSubstitutionMessages.getString("ResourceSelector.0")); //$NON-NLS-1$
-		if (dialog.open() == Window.OK) {
-			Object[] objects = dialog.getResult();
-			if (objects.length == 1) {
-				return ((IResource)objects[0]).getFullPath().toString();
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
deleted file mode 100644
index a94c9b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedResourceManager.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Maintains the context used to expand variables. The context is based on
- * the selected resource.
- */
-public class SelectedResourceManager implements IWindowListener, ISelectionListener {
-
-	// singleton
-	private static SelectedResourceManager fgDefault;
-	
-	private IResource fSelectedResource = null;
-	private String fSelectedText = null;
-	
-	private SelectedResourceManager() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench != null) { //may be running headless
-			workbench.addWindowListener(this);
-			IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow();
-			if (activeWindow != null) {
-				windowActivated(activeWindow);
-			}
-		} 
-	}
-	
-	/**
-	 * Returns the singleton resource selection manager
-	 * 
-	 * @return VariableContextManager
-	 */
-	public static SelectedResourceManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new SelectedResourceManager(); 
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-		ISelectionService service = window.getSelectionService(); 
-		service.addSelectionListener(this);
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			IWorkbenchPart part = page.getActivePart();
-			if (part != null) {				
-				ISelection selection = service.getSelection();
-				if (selection != null) {
-					selectionChanged(part, selection);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-		window.getSelectionService().removeSelectionListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-		window.getSelectionService().removeSelectionListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		IResource selectedResource = null;
-		if (selection instanceof IStructuredSelection) {
-			Object result = ((IStructuredSelection)selection).getFirstElement();
-			if (result instanceof IResource) {
-				selectedResource = (IResource) result;
-			} else if (result instanceof IAdaptable) {
-				selectedResource = (IResource)((IAdaptable) result).getAdapter(IResource.class);
-			}
-		}
-		
-		if (selectedResource == null) {
-			// If the active part is an editor, get the file resource used as input.
-			if (part instanceof IEditorPart) {
-				IEditorPart editorPart = (IEditorPart) part;
-				IEditorInput input = editorPart.getEditorInput();
-				selectedResource = (IResource) input.getAdapter(IResource.class);
-			} 
-		}
-		
-		if (selectedResource != null) {
-			fSelectedResource = selectedResource;
-		}
-		
-		if (selection instanceof ITextSelection) {
-			fSelectedText = ((ITextSelection)selection).getText();
-		}
-	}
-	
-	/**
-	 * Returns the currently selected resource in the active workbench window,
-	 * or <code>null</code> if none. If an editor is active, the resource adapater
-	 * associated with the editor is returned.
-	 * 
-	 * @return selected resource or <code>null</code>
-	 */
-	public IResource getSelectedResource() {
-		return fSelectedResource;
-	}
-	
-	/**
-	 * Returns the current text selection as a <code>String</code>, or <code>null</code> if
-	 * none.
-	 * 
-	 * @return the current text selection as a <code>String</code> or <code>null</code>
-	 */
-	public String getSelectedText() {
-		return fSelectedText;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
deleted file mode 100644
index 09a5ad4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/SelectedTextResolver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-
-public class SelectedTextResolver implements IDynamicVariableResolver {
-	private SelectedResourceManager selectedResourceManager;
-	
-	public SelectedTextResolver() {
-		selectedResourceManager = SelectedResourceManager.getDefault();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) {
-		String selection = selectedResourceManager.getSelectedText();
-		String selectedText = argument;
-		if (selection != null && selection.length() > 0) {
-			selectedText = selection;
-		}
-		return selectedText;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
deleted file mode 100644
index 2e39a25..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringPrompt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 Matt Conway and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Matt Conway - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.window.Window;
-
-/**
- * Prompts the user to input a string and expands to the value entered
- */
-public class StringPrompt extends PromptingResolver {
-	
-	/**
-	 * Prompts the user to input a string.
-	 * @see PromptExpanderBase#prompt()
-	 */
-	public void prompt() {
-		InputDialog dialog = new InputDialog(null, StringSubstitutionMessages.getString("StringPromptExpander.0"), dialogMessage, lastValue == null ? defaultValue : lastValue, null); //$NON-NLS-1$
-		int dialogResult = dialog.open();
-		if (dialogResult == Window.OK) {
-			dialogResultString = dialog.getValue();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
deleted file mode 100644
index 4191662..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * StringSubstitutionMessages
- */
-public class StringSubstitutionMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.stringsubstitution.StringSubstitutionMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private StringSubstitutionMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.properties
deleted file mode 100644
index c0ca8e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringSubstitutionMessages.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-PromptExpanderBase.0=Please input a value for {0}
-PromptExpanderBase.1=Please input a value
-
-RefreshTab.0=Recursively &include sub-folders
-RefreshTab.6=Refresh
-RefreshTab.7=Refresh resources...
-RefreshTab.8=Exception(s) occurred during refresh.
-RefreshTab.31=Refresh resources &upon completion.
-RefreshTab.32=The &entire workspace
-RefreshTab.33=The se&lected resource
-RefreshTab.34=The &project containing the selected resource
-RefreshTab.35=The f&older containing the selected resource
-RefreshTab.36=&Specific resources
-RefreshTab.37=Specify &Resources...
-RefreshTab.38=Refresh scope refers to non-existent resource {0}
-RefreshTab.39=Refresh scope invalid
-RefreshTab.40=workingSet
-RefreshTab.42=Must select resources to refresh.
-
-ResourceResolver.6=Variable references non-existent resource : {0}
-ResourceResolver.7=Variable references empty selection: {0}
-ResourceResolver.8=Variable not recognized: {0}
-
-ResourceSelector.0=Select Resource
-
-StringPromptExpander.0=Variable input
-
-StringVariableSelectionDialog.2=Select Variable
-StringVariableSelectionDialog.3=&Choose a variable (? = any character, * = any string):
-StringVariableSelectionDialog.6=&Argument:
-StringVariableSelectionDialog.7=C&onfigure...
-StringVariableSelectionDialog.8=&Variable Description:
-StringVariableSelectionDialog.0=&Edit Variables...
-StringVariableSelectionDialog.1=String Substitution
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
deleted file mode 100644
index 2386b4c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableLabelProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.jface.viewers.LabelProvider;
-
-
-class StringVariableLabelProvider extends LabelProvider {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			if (element instanceof IStringVariable) {
-				IStringVariable variable = (IStringVariable)element;
-				return variable.getName();
-			}
-			return super.getText(element);
-		}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
deleted file mode 100644
index ff54cdf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariablePresentationManager.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-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.core.variables.IStringVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * Manages argument selectors (choosers) for string variables.
- * 
- * @since 3.0
- */
-public class StringVariablePresentationManager {
-	
-	/**
-	 * String variable presentation extension point identifier
-	 * (value <code>"stringVariablePresentations"</code>).
-	 * 
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_STRING_VARIABLE_PRESENTATIONS = "stringVariablePresentations"; //$NON-NLS-1$
-	
-	// default manager
-	private static StringVariablePresentationManager fgManager;
-	
-	// extension point attributes
-	public static final String ATTR_NAME = "variableName"; //$NON-NLS-1$
-	public static final String ATTR_ARGUMENT_SELECTOR = "argumentSelector"; //$NON-NLS-1$
-	
-	/**
-	 * Table of configuration elements for variable presentations,
-	 * keyed by variable name.
-	 */
-	private Map fConfigurations;
-	
-	/**
-	 * Returns the singleton string variable presentation manager.
-	 * 
-	 * @return the singleton string variable presentation manager
-	 */
-	public static StringVariablePresentationManager getDefault() {
-		if (fgManager == null) {
-			fgManager = new StringVariablePresentationManager();
-		}
-		return fgManager;
-	}
-	
-	/**
-	 * Returns an argument selector contributed for the given
-	 * variable, or <code>null</code> if none.
-	 * 
-	 * @param variable string substitution variable
-	 * @return argument selector or <code>null</code>
-	 */
-	public IArgumentSelector getArgumentSelector(IStringVariable variable) {
-		IConfigurationElement element = (IConfigurationElement) fConfigurations.get(variable.getName());
-		if (element != null) {
-			try {
-				return (IArgumentSelector)element.createExecutableExtension(ATTR_ARGUMENT_SELECTOR);
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Constructs the manager, loading extensions.
-	 */
-	private StringVariablePresentationManager() {
-		initialize();
-	}
-
-	/**
-	 * Load extensions 
-	 */
-	private void initialize() {
-		fConfigurations = new HashMap();
-		IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), EXTENSION_POINT_STRING_VARIABLE_PRESENTATIONS);
-		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) {
-				DebugUIPlugin.logErrorMessage(MessageFormat.format("String variable presentation extension missing required 'variableName' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()})); //$NON-NLS-1$
-				continue;
-			}
-			fConfigurations.put(name, element);
-		}		
-	}
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableSelectionDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableSelectionDialog.java
deleted file mode 100644
index 8b38734..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/StringVariableSelectionDialog.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DialogSettingsHelper;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.debug.internal.ui.preferences.StringVariablePreferencePage;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-
-/**
- * A dialog that prompts the user to choose and configure a string
- * substitution variable.
- * 
- * @since 3,0 
- */
-public class StringVariableSelectionDialog extends ElementListSelectionDialog {
-	
-	// button to configure variable's argument
-	private Button fArgumentButton;
-	// variable description
-	private Text fDescriptionText;
-	// the argument value
-	private Text fArgumentText;
-	private String fArgumentValue;
-	private Button fEditVariablesButton;
-
-	/**
-	 * Constructs a new string substitution variable selection dialog.
-	 *  
-	 * @param parent parent shell
-	 */
-	public StringVariableSelectionDialog(Shell parent) {
-		super(parent, new StringVariableLabelProvider());
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		setTitle(StringSubstitutionMessages.getString("StringVariableSelectionDialog.2")); //$NON-NLS-1$
-		setMessage(StringSubstitutionMessages.getString("StringVariableSelectionDialog.3")); //$NON-NLS-1$
-		setMultipleSelection(false);
-		setElements(VariablesPlugin.getDefault().getStringVariableManager().getVariables());
-	}
-	
-	/**
-	 * Returns the variable expression the user generated from this
-	 * dialog, or <code>null</code> if none.
-	 *  
-	 * @return variable expression the user generated from this
-	 * dialog, or <code>null</code> if none
-	 */
-	public String getVariableExpression() {
-		Object[] selected = getResult();
-		if (selected != null && selected.length == 1) {
-			IStringVariable variable = (IStringVariable)selected[0];
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("${"); //$NON-NLS-1$
-			buffer.append(variable.getName());
-			if (fArgumentValue != null && fArgumentValue.length() > 0) {
-				buffer.append(":"); //$NON-NLS-1$
-				buffer.append(fArgumentValue);
-			}
-			buffer.append("}"); //$NON-NLS-1$
-			return buffer.toString();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Control control = super.createDialogArea(parent);
-		createArgumentArea((Composite)control);
-		return control;
-	}
-
-	/**
-	 * Creates an area to display a description of the selected variable
-	 * and a button to configure the variable's argument.
-	 * 
-	 * @param parent parnet widget
-	 */
-	private void createArgumentArea(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		container.setLayoutData(gd);
-		container.setFont(parent.getFont());
-		
-		fEditVariablesButton = new Button(container, SWT.PUSH);
-		fEditVariablesButton.setFont(container.getFont());
-		fEditVariablesButton.setText(StringSubstitutionMessages.getString("StringVariableSelectionDialog.0")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 2;
-		fEditVariablesButton.setLayoutData(gd);
-		fEditVariablesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editVariables();
-			}
-		});	
-		
-		Label desc = new Label(container, SWT.NONE);
-		desc.setFont(parent.getFont());
-		desc.setText(StringSubstitutionMessages.getString("StringVariableSelectionDialog.6")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		desc.setLayoutData(gd);		
-		
-		Composite args = new Composite(container, SWT.NONE);
-		layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		args.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		args.setLayoutData(gd);
-		args.setFont(container.getFont());
-		
-		fArgumentText = new Text(args, SWT.BORDER);
-		fArgumentText.setFont(container.getFont());
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fArgumentText.setLayoutData(gd);		
-		
-		fArgumentButton = new Button(args, SWT.PUSH);
-		fArgumentButton.setFont(parent.getFont());
-		fArgumentButton.setText(StringSubstitutionMessages.getString("StringVariableSelectionDialog.7")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.widthHint = SWTUtil.getButtonWidthHint(fArgumentButton);
-		fArgumentButton.setLayoutData(gd);
-		fArgumentButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				configureArgument();
-			}
-		});
-
-		
-		desc = new Label(container, SWT.NONE);
-		desc.setFont(parent.getFont());
-		desc.setText(StringSubstitutionMessages.getString("StringVariableSelectionDialog.8")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		desc.setLayoutData(gd);
-		
-		fDescriptionText = new Text(container, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-		fDescriptionText.setFont(container.getFont());
-		fDescriptionText.setEditable(false);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		gd.heightHint = 50;
-		fDescriptionText.setLayoutData(gd);		
-		
-	}
-
-
-	protected void editVariables() {
-		PreferencePage page = new StringVariablePreferencePage();
-		page.setTitle(StringSubstitutionMessages.getString("StringVariableSelectionDialog.1")); //$NON-NLS-1$
-		final IPreferenceNode targetNode = new PreferenceNode("org.eclipse.debug.ui.StringVariablePreferencePage", page); //$NON-NLS-1$
-		
-		PreferenceManager manager = new PreferenceManager();
-		manager.addToRoot(targetNode);
-		final PreferenceDialog dialog = new PreferenceDialog(getShell(), manager);
-		
-		final Display display = DebugUIPlugin.getStandardDisplay();
-		BusyIndicator.showWhile(display, new Runnable() {
-			public void run() {
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				if(dialog.open() == IDialogConstants.OK_ID) {
-					final IStringVariable[] elements = VariablesPlugin.getDefault().getStringVariableManager().getVariables();
-					display.asyncExec(new Runnable() {
-						public void run() {
-							setListElements(elements);
-						}
-					});
-				}
-			}
-		});		
-	}
-
-	/**
-	 * Configures the argument for the selected variable.
-	 */
-	protected void configureArgument() {
-		Object[] objects = getSelectedElements();
-		IStringVariable variable = (IStringVariable)objects[0];
-		IArgumentSelector selector = StringVariablePresentationManager.getDefault().getArgumentSelector(variable);
-		String value = selector.selectArgument(variable, getShell());
-		if (value != null) {
-			fArgumentText.setText(value);
-		}
-	}
-
-	/**
-	 * Update variable description and argument button enablement.
-	 * 
-	 * @see org.eclipse.ui.dialogs.AbstractElementListSelectionDialog#handleSelectionChanged()
-	 */
-	protected void handleSelectionChanged() {
-		super.handleSelectionChanged();
-		Object[] objects = getSelectedElements();
-		boolean buttonEnabled = false;
-		boolean argEnabled = false;
-		String text = null;
-		if (objects.length == 1) {
-			IStringVariable variable = (IStringVariable)objects[0];
-			 IArgumentSelector selector = StringVariablePresentationManager.getDefault().getArgumentSelector(variable);
-			 if (variable instanceof IDynamicVariable) {
-			 	argEnabled = ((IDynamicVariable)variable).supportsArgument();
-			 }
-			 buttonEnabled = argEnabled && selector != null;
-			 text = variable.getDescription();
-		}
-		if (text == null) {
-			text = ""; //$NON-NLS-1$
-		}
-		fArgumentText.setEnabled(argEnabled);
-		fArgumentButton.setEnabled(buttonEnabled);
-		fDescriptionText.setText(text);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fArgumentValue = fArgumentText.getText().trim();
-		super.okPressed();
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-		if (section == null) {
-			section = settings.addNewSection(getDialogSettingsSectionName());
-		} 
-		return section;
-	}
-	
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName() {
-		return IDebugUIConstants.PLUGIN_ID + ".STRING_VARIABLE_SELECTION_DIALOG_SECTION"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Point initialLocation= DialogSettingsHelper.getInitialLocation(getDialogSettingsSectionName());
-		if (initialLocation != null) {
-			return initialLocation;
-		}
-		return super.getInitialLocation(initialSize);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point size = super.getInitialSize();
-		return DialogSettingsHelper.getInitialSize(getDialogSettingsSectionName(), size);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-		return super.close();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java
deleted file mode 100644
index 3a1c5c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/stringsubstitution/WorkspaceResolver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.stringsubstitution;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.variables.IDynamicVariable;
-
-/**
- * Resolves the <code>${workspace_loc}</code> variable. The variable resolves to the
- * location of the workspace. If an argument is provided, it is interpretted as a
- * workspace relative path to a specific resource.
- * 
- * @since 3.0
- */
-public class WorkspaceResolver extends ResourceResolver {
-
-	/**
-	 * The <code>${workspace_loc}</code> variable does not use the selected resource.
-	 * 
-	 * @see org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver#getSelectedResource(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable)
-	 */
-	protected IResource getSelectedResource(IDynamicVariable variable) {
-		return getWorkspaceRoot();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
deleted file mode 100644
index 227409b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandler.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Handles debug events, updating a view and viewer.
- */
-public abstract class AbstractDebugEventHandler implements IDebugEventSetListener {
-	
-	/**
-	 * This event handler's view
-	 */
-	private AbstractDebugView fView;
-	
-	/**
-	 * Constructs an event handler for the given view.
-	 * 
-	 * @param view debug view
-	 */
-	public AbstractDebugEventHandler(AbstractDebugView view) {
-		setView(view);
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.addDebugEventListener(this);
-	}
-
-	/**
-	 * Returns the active workbench page or <code>null</code> if none.
-	 */
-	protected IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			return null;
-		}
-		return window.getActivePage();
-	}
-	
-	/**
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(final DebugEvent[] events) {
-		if (!isAvailable()) {
-			return;
-		}
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					if (isViewVisible()) {
-						doHandleDebugEvents(events);
-					}
-					updateForDebugEvents(events);
-				}
-			}
-		};
-		getView().asyncExec(r);
-	}
-	
-	/**
-	 * Updates this view for the given debug events. Unlike
-	 * doHandleDebugEvents(DebugEvent[]) which is only called if the view is
-	 * visible, this method is always called. This allows the view to perform
-	 * updating that must always be performed, even when the view is not
-	 * visible.
-	 */
-	protected void updateForDebugEvents(DebugEvent[] events) {
-	}
-	
-	/**
-	 * Implementation specific handling of debug events.
-	 * Subclasses should override.
-	 */
-	protected abstract void doHandleDebugEvents(DebugEvent[] events);	
-		
-	/**
-	 * Helper method for inserting the given element - must be called in UI thread
-	 */
-	protected void insert(Object element) {
-		if (isAvailable()) {
-			Object parent= ((ITreeContentProvider)getTreeViewer().getContentProvider()).getParent(element);
-			// a parent can be null for a debug target or process that has not yet been associated
-			// with a launch
-			if (parent != null) {
-				getView().showViewer();
-				getTreeViewer().add(parent, element);
-			}
-		}
-	}
-
-	/**
-	 * Helper method to remove the given element - must be called in UI thread.
-	 */
-	protected void remove(Object element) {
-		if (isAvailable()) {
-			getView().showViewer();
-			getTreeViewer().remove(element);
-		}
-	}
-
-	/**
-	 * Helper method to update the label of the given element - must be called in UI thread
-	 */
-	protected void labelChanged(Object element) {
-		if (isAvailable()) {
-			getView().showViewer();
-			getTreeViewer().update(element, new String[] {IBasicPropertyConstants.P_TEXT});
-		}
-	}
-
-	/**
-	 * Refresh the given element in the viewer - must be called in UI thread.
-	 */
-	protected void refresh(Object element) {
-		if (isAvailable()) {
-			 getView().showViewer();
-			 getTreeViewer().refresh(element);
-		}
-	}
-	
-	/**
-	 * Refresh the viewer - must be called in UI thread.
-	 */
-	public void refresh() {
-		if (isAvailable()) {
-			 getView().showViewer();
-			 getTreeViewer().refresh();
-		}
-	}	
-
-	/**
-	 * Helper method to select and reveal the given element - must be called in UI thread
-	 */
-	protected void selectAndReveal(Object element) {
-		if (isAvailable()) {
-			getViewer().setSelection(new StructuredSelection(element), true);
-		}
-	}
-	
-	/**
-	 * De-registers this event handler from the debug model.
-	 */
-	public void dispose() {
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.removeDebugEventListener(this);
-	}
-	
-	/**
-	 * Returns the view this event handler is
-	 * updating.
-	 * 
-	 * @return debug view
-	 */
-	protected AbstractDebugView getView() {
-		return fView;
-	}
-	
-	/**
-	 * Sets the view this event handler is updating.
-	 * 
-	 * @param view debug view
-	 */
-	private void setView(AbstractDebugView view) {
-		fView = view;
-	}
-
-	/**
-	 * Returns the viewer this event handler is 
-	 * updating.
-	 * 
-	 * @return viewer
-	 */	
-	protected Viewer getViewer() {
-		return getView().getViewer();
-	}
-	
-	/**
-	 * Returns this event handler's viewer as a tree
-	 * viewer or <code>null</code> if none.
-	 * 
-	 * @return this event handler's viewer as a tree
-	 * viewer or <code>null</code> if none
-	 */
-	protected TreeViewer getTreeViewer() {
-		if (getViewer() instanceof TreeViewer) {
-			return (TreeViewer)getViewer();
-		} 
-		return null;
-	}
-	
-	/**
-	 * Returns whether this event handler's viewer is
-	 * currently available.
-	 * 
-	 * @return whether this event handler's viewer is
-	 * currently available
-	 */
-	protected boolean isAvailable() {
-		return getView().isAvailable();
-	}
-	
-	/**
-	 * Returns whether this event handler's view is currently visible.
-	 * 
-	 * @return whether this event handler's view is currently visible
-	 */
-	protected boolean isViewVisible() {
-		return getView().isVisible();	
-	}	
-	
-	/**
-	 * Called when this event handler's view becomes visible. Default behavior
-	 * is to refresh the view.
-	 */
-	protected void viewBecomesVisible() {
-		refresh();
-	}
-	
-	/**
-	 * Called when this event handler's view becomes hidden. Default behavior is
-	 * to do nothing. Subclasses may override.
-	 */
-	protected void viewBecomesHidden() {
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
deleted file mode 100644
index 17d6784..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractDebugEventHandlerView.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
- 
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.jface.action.IStatusLineManager;
-
-/**
- * A debug view that uses an event handler to update its
- * view/viewer.
- */
-public abstract class AbstractDebugEventHandlerView extends AbstractDebugView {
-
-	/**
-	 * Event handler for this view
-	 */
-	private AbstractDebugEventHandler fEventHandler;
-
-	/**
-	 * Sets the event handler for this view
-	 * 
-	 * @param eventHandler event handler
-	 */
-	protected void setEventHandler(AbstractDebugEventHandler eventHandler) {
-		fEventHandler = eventHandler;
-	}
-	
-	/**
-	 * Returns the event handler for this view
-	 * 
-	 * @return The event handler for this view
-	 */
-	protected AbstractDebugEventHandler getEventHandler() {
-		return fEventHandler;
-	}	
-	
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (getEventHandler() != null) {
-			getEventHandler().dispose();
-		}	
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesHidden()
-	 */
-	protected void becomesHidden() {
-		super.becomesHidden();
-		getEventHandler().viewBecomesHidden();
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		getEventHandler().viewBecomesVisible();
-	}
-	
-	protected void clearStatusLine() {
-		IStatusLineManager manager = getViewSite().getActionBars().getStatusLineManager(); 
-		manager.setErrorMessage(null);
-		manager.setMessage(null);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
deleted file mode 100644
index 5ca2b8a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/AbstractViewerState.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
-***********************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * The abstract superclass for mementos of the expanded and 
- * selected items in a tree viewer.
- */
-public abstract class AbstractViewerState {
-
-	// paths to expanded elements
-	private List fExpandedElements = null;
-	// paths to selected elements
-	private IPath[] fSelection = null;
-	
-	/**
-	 * Constructs a memento for the given viewer.
-	 */
-	public AbstractViewerState(TreeViewer viewer) {
-		saveState(viewer);
-	}
-
-	/**
-	 * Saves the current state of the given viewer into
-	 * this memento.
-	 * 
-	 * @param viewer viewer of which to save the state
-	 */
-	public void saveState(TreeViewer viewer) {
-		List expanded = new ArrayList();
-		fExpandedElements = null;
-		TreeItem[] items = viewer.getTree().getItems();
-		try {
-			for (int i = 0; i < items.length; i++) {
-				collectExandedItems(items[i], expanded);
-			}
-			if (expanded.size() > 0) {
-				fExpandedElements = expanded;
-			}
-		} catch (DebugException e) {
-			fExpandedElements = null;
-		}
-		TreeItem[] selection = viewer.getTree().getSelection();
-		fSelection = new IPath[selection.length];
-		try {
-			for (int i = 0; i < selection.length; i++) {
-				fSelection[i] = encodeElement(selection[i]);
-			}
-		} catch (DebugException e) {
-			fSelection = null;
-		}
-	}
-
-	protected void collectExandedItems(TreeItem item, List expanded)
-			throws DebugException {
-		if (item.getExpanded()) {
-			expanded.add(encodeElement(item));
-			TreeItem[] items = item.getItems();
-			for (int i = 0; i < items.length; i++) {
-				collectExandedItems(items[i], expanded);
-			}
-		}
-	}
-
-	/**
-	 * Constructs a path representing the given tree item. The segments in the
-	 * path denote parent items, and the last segment is the name of
-	 * the given item.
-	 *   
-	 * @param item tree item to encode
-	 * @return path encoding the given item
-	 * @throws DebugException if unable to generate a path
-	 */
-	protected abstract IPath encodeElement(TreeItem item) throws DebugException;
-
-	/**
-	 * Restores the state of the given viewer to this memento's
-	 * saved state.
-	 * 
-	 * @param viewer viewer to which state is restored
-	 */
-	public void restoreState(TreeViewer viewer) {
-		if (fExpandedElements != null) {
-			List expansion = new ArrayList(fExpandedElements.size());
-			for (int i = 0; i < fExpandedElements.size(); i++) {
-				IPath path = (IPath) fExpandedElements.get(i);
-				if (path != null) {
-					Object obj;
-					try {
-						obj = decodePath(path, viewer);
-						if (obj != null) {
-							expansion.add(obj);
-						}
-					} catch (DebugException e) {
-					}
-				}
-			}
-			viewer.setExpandedElements(expansion.toArray());
-		}
-		if (fSelection != null) {
-			List selection = new ArrayList(fSelection.length);
-			for (int i = 0; i < fSelection.length; i++) {
-				IPath path = fSelection[i];
-				Object obj;
-				try {
-					obj = decodePath(path, viewer);
-					if (obj != null) {
-						selection.add(obj);
-					}
-				} catch (DebugException e) {
-				}
-			}
-			viewer.setSelection(new StructuredSelection(selection));
-		}
-	}
-	
-	/**
-	 * Returns an element in the given viewer that corresponds to the given
-	 * path, or <code>null</code> if none.
-	 * 
-	 * @param path encoded element path
-	 * @param viewer viewer to search for the element in
-	 * @return element represented by the path, or <code>null</code> if none
-	 * @throws DebugException if unable to locate a variable
-	 */
-	protected abstract Object decodePath(IPath path, TreeViewer viewer) throws DebugException;
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
deleted file mode 100644
index 1a47a9e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugUIViewsMessages {
-
-	private static final String BUNDLE_NAME =
-		"org.eclipse.debug.internal.ui.views.DebugUIViewsMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private DebugUIViewsMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
deleted file mode 100644
index b90f345..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugUIViewsMessages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ExpressionInformationControl.5=Move to Expressions View
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
-
-ConsoleView.&Copy@Ctrl+C_6=&Copy@Ctrl+C
-ConsoleView.&Paste@Ctrl+V_9=&Paste@Ctrl+V
-ConsoleView.Copy_7=Copy
-ConsoleView.Cu&t@Ctrl+X_3=Cu&t@Ctrl+X
-ConsoleView.Cut_4=Cut
-ConsoleView.Paste_10=Paste
-ConsoleView.Paste_Clipboard_Text_11=Paste Clipboard Text
-ConsoleView.Select_&All@Ctrl+A_12=Select &All@Ctrl+A
-ConsoleView.Select_All=Select All
-
-LaunchView.Error_1=Error
-LaunchView.Exception_occurred_opening_editor_for_debugger._2=Exception occurred opening editor for debugger.
-LaunchView.Terminate_and_Remove_1=Terminate and Remove
-LaunchView.Terminate_and_remove_selected__2=Terminate and remove selected?
-LaunchView.Exceptions_occurred_attempting_to_terminate_and_remove_3=Exceptions occurred attempting to terminate and remove
-LaunchView.Terminate_and_Remove_4=Terminate and Remove
-LaunchView.Terminate_and_remove_failed_5=Terminate and remove failed
-
-SourceNotFoundEditorInput.Source_Not_Found_1=Source Not Found
-SourceNotFoundEditorInput.Source_not_found_for_{0}_2=Source not found for {0}
-
-BreakpointsView.6=Enabling
-BreakpointsView.7=Disabling
-BreakpointsView.8=enable
-BreakpointsView.9=disable
-BreakpointsView.10=Error {0} Breakpoint
-BreakpointsView.11=An exception occurred while attempting to {0} the breakpoint.
-BreakpointsViewEventHandler.1=Error Updating
-BreakpointsViewEventHandler.2=An error occurred while updating one or more breakpoints. The checked state of these breakpoints will not match their enabled state.
-BreakpointsViewEventHandler.4=
-BreakpointsViewEventHandler.5=Exception accessing breakpoint
-DebugViewLabelDecorator.0=Debug
-DebugViewLabelDecorator.1=Fetching {0} labels
-DebugViewLabelDecorator.2=\ ({0} pending)
-BreakpointsView.19=Breakpoints
-BreakpointsView.20=Breakpoints (Disabled)
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewDecoratingLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewDecoratingLabelProvider.java
deleted file mode 100644
index 64a1158..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewDecoratingLabelProvider.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-
-/**
- * A label provider which receives notification of labels computed in
- * the background by a LaunchViewLabelDecorator.
- */
-public class DebugViewDecoratingLabelProvider extends DecoratingLabelProvider {
-	
-	/**
-	 * A map of text computed for elements. Items are added to this map
-	 * when notification is received that text has been computed for an element
-	 * and they are removed the first time the text is returned for an
-	 * element.
-	 * key: Object the element
-	 * value: String the label text
-	 */
-	private Map computedText= new HashMap();
-	private StructuredViewer viewer= null;
-	private boolean disposed= false;
-	
-	/**
-	 * @see DecoratingLabelProvider#DecoratingLabelProvider(org.eclipse.jface.viewers.ILabelProvider, org.eclipse.jface.viewers.ILabelDecorator)
-	 */
-	public DebugViewDecoratingLabelProvider(StructuredViewer viewer, ILabelProvider provider, DebugViewLabelDecorator decorator) {
-		super(provider, decorator);
-		decorator.setLabelProvider(this);
-		this.viewer= viewer;
-	}
-	
-	/**
-	 * Notifies this label provider that the given text was computed
-	 * for the given element. The given text will be returned the next
-	 * time its text is requested.
-	 * 
-	 * @param element the element whose label was computed
-	 * @param text the label
-	 */
-	public void textComputed(Object element, String text) {
-		computedText.put(element, text);
-	}
-	
-	/**
-	 * Labels have been computed for the given block of elements.
-	 * This method tells the label provider to update the
-	 * given elements in the view.
-	 * 
-	 * @param elements the elements which have had their text computed
-	 */
-	public void labelsComputed(Object[] elements) {
-		if (!disposed) {
-			viewer.update(elements, null);
-		}
-		for (int i = 0; i < elements.length; i++) {
-			computedText.remove(elements[i]);
-		}
-	}
-	
-	/**
-	 * Returns the stored text computed by the background decorator
-	 * or delegates to the decorating label provider to compute text.
-	 * If a stored value exists for the given element, it is cleared and
-	 * then returned such that the next call to this method will have to
-	 * delegate.
-	 * 
-	 * @see DecoratingLabelProvider#getText(java.lang.Object) 
-	 */
-	public String getText(Object element) {
-		String text= (String) computedText.remove(element);
-		if (text != null) {
-			return text;
-		}
-		return super.getText(element);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		disposed= true;
-		super.dispose();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewInterimLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewInterimLabelProvider.java
deleted file mode 100644
index cb13279..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewInterimLabelProvider.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A label provider that provide interim text labels. When queried for text, the label provider
- * returns a default string ("<pending...>"). When queried for images, the label provider
- * queries a debug model presentation. This label provider is intended to be passed to
- * a <code>DebugViewDecoratingLabelProvider</code>.
- */
-public class DebugViewInterimLabelProvider implements ILabelProvider {
-
-	/**
-	 * The text label returned by this label provider (value: "...").
-	 */
-	public final static String PENDING_LABEL= "..."; //$NON-NLS-1$
-	
-	/**
-	 * The debug model presentation used for computing images.
-	 */
-	protected IDebugModelPresentation presentation;
-
-	/**
-	 * Creates a new interim label provider with the given model presentation.
-	 * 
-	 * @param presentation the model presentation to use for computing images
-	 */
-	public DebugViewInterimLabelProvider(IDebugModelPresentation presentation) {
-		this.presentation= presentation;
-	}
-	
-	/**
-	 * Returns the debug model presentation used by this label provider
-	 * to compute images.
-	 * 
-	 * @return this label provider's model presentation
-	 */
-	public IDebugModelPresentation getPresentation() {
-		return presentation;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		return presentation.getImage(element);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		return DebugViewInterimLabelProvider.PENDING_LABEL;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		presentation.addListener(listener);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		presentation.dispose();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return presentation.isLabelProperty(element, property);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		presentation.removeListener(listener);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewLabelDecorator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewLabelDecorator.java
deleted file mode 100644
index f600e8f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/DebugViewLabelDecorator.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Set;
-import java.util.Vector;
-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.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A label decorator which computes text for debug elements
- * in the background and updates them asynchronously.
- */
-public class DebugViewLabelDecorator extends LabelProvider implements ILabelDecorator, IDebugEventSetListener {
-
-	/**
-	 * The presentation used to compute text.
-	 */
-	private IDebugModelPresentation fPresentation;
-	/**
-	 * The label provider notified when text is computed.
-	 */
-	private DebugViewDecoratingLabelProvider fLabelProvider;
-	/**
-	 * The job which will be executed next. All new label requests
-	 * are appended to this job.
-	 */
-	protected LabelJob fNextJob= null;
-	/**
-	 * A collection of threads that were resumed while their stack
-	 * frames' labels were being computed. By maintaining this collection,
-	 * the label decorator can refresh stack frame labels for these
-	 * threads when they suspend again.
-	 */
-	private Set resumedThreads= new HashSet();
-	/**
-	 * The stack frame whose label is currently being computed
-	 * or <code>null</code> if no stack frame label is being computed.
-	 */
-	private IStackFrame fCurrentStackFrame= null;
-	/**
-	 * An object to be used as a lock for thread-safe access to the
-	 * current frame.
-	 */
-	private Object fCurrentStackFrameLock= new Object();
-	
-	/**
-	 * Creates a new label decorator which will query the
-	 * given model presentation for text in the background.
-	 * @param presentation
-	 */
-	public DebugViewLabelDecorator(IDebugModelPresentation presentation) {
-		fPresentation= presentation;
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * Sets the label provider which will be notified when a
-	 * label has been computed in the background.
-	 * 
-	 * @param labelProvider the label provider to notify when text
-	 *  is computed
-	 */
-	public void setLabelProvider(DebugViewDecoratingLabelProvider labelProvider) {
-		fLabelProvider= labelProvider;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		return image;
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object)
-	 */
-	public String decorateText(String text, final Object element) {
-		computeText(element);
-		return text;
-	}
-	
-	/**
-	 * Queues up computation of text for the given element.
-	 *  
-	 * @param element
-	 */
-	public void computeText(Object element) {
-		synchronized(this) {
-			if (fNextJob == null) {
-				fNextJob= new LabelJob(DebugUIViewsMessages.getString("DebugViewLabelDecorator.0"), fPresentation); //$NON-NLS-1$
-			}
-			fNextJob.computeText(element);
-		}
-	}
-	
-	/**
-	 * Labels have been computed for the given elements. Fire notification
-	 * asynchronously.
-	 * 
-	 * @param computedElements the elements whose labels have been
-	 *  computed.
-	 */
-	public void labelsComputed(final Object[] computedElements) {
-		DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				fLabelProvider.labelsComputed(computedElements);
-			}
-		});
-	}
-	
-	/* (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.SUSPEND) {
-				handleSuspendEvent(event);
-			} else if (event.getKind() == DebugEvent.TERMINATE) {
-				handleTerminateEvent(event);
-			} else if (event.getKind() == DebugEvent.RESUME) {
-				handleResumeEvent(event);
-			}
-		}
-	}
-
-	/**
-	 * When a thread resumes for an evaluation or step while computing
-	 * labels for one of that thread's stack frames, add the thread to the
-	 * collection of "resumed threads". This allows any stack frames whose
-	 * label computation was interrupted when the thread was resumed
-	 * to be cleaned up later.
-	 * 
-	 * @param event the resume event
-	 */
-	private void handleResumeEvent(DebugEvent event) {
-		if (event.getSource() instanceof IThread && (event.isEvaluation() || event.isStepStart())) {
-			IThread thread= (IThread) event.getSource();
-			IStackFrame frame;
-			synchronized (fCurrentStackFrameLock) {
-				if (fCurrentStackFrame == null) {
-					return;
-				}
-				frame= fCurrentStackFrame;
-			}
-			if (thread == frame.getThread()) {
-				resumedThreads.add(thread);
-			}
-		}
-	}
-
-	/**
-	 * When a thread suspends after an evaluation or step, recompute labels
-	 * for its stack frames. This ensures that any stack frames whose
-	 * label computation was interrupted when the thread was resumed
-	 * will be cleaned up.
-	 * 
-	 * @param event the suspend event
-	 */
-	private void handleSuspendEvent(DebugEvent event) {
-		Object source= event.getSource();
-		synchronized (resumedThreads) {
-			if (!resumedThreads.remove(source)) {
-				return;
-			}
-		}
-		if (!event.isEvaluation() && (event.getDetail() & DebugEvent.STEP_END) == 0) {
-			return;
-		}
-		IThread thread= (IThread) source;
-		try {
-			IStackFrame[] frames= thread.getStackFrames();
-			for (int i = 0; i < frames.length; i++) {
-				computeText(frames[i]);
-			}
-		} catch (DebugException e) {
-		}
-	}
-
-	/**
-	 * When a terminate event is received for a debug target, remove
-	 * any of its threads from the resumed threads collection. This not only
-	 * prevents unnecessary stack frame label computations, it is a
-	 * backstop for cleaning up threads in the collection.
-	 * 
-	 * @param event the terminate event
-	 */
-	private void handleTerminateEvent(DebugEvent event) {
-		Object source= event.getSource();
-		if (source instanceof IDebugTarget) {
-			List copiedThreads= new ArrayList(resumedThreads);
-			ListIterator iterator = copiedThreads.listIterator();
-			while (iterator.hasNext()) {
-				IThread thread = (IThread) iterator.next();
-				if (thread.getDebugTarget() == source) {
-					iterator.remove();
-				}
-			}
-			synchronized(resumedThreads) {
-				resumedThreads.retainAll(copiedThreads);
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-	
-	/**
-	 * A job which computes text for a queue of elements. The job's label
-	 * decorator is notified when text has been computed for some number
-	 * of elements.
-	 */
-	protected class LabelJob extends Job implements ISchedulingRule {
-		private Vector fElementQueue= new Vector();
-		private IDebugModelPresentation fJobPresentation;
-		
-		/**
-		 * Creates a new job with the given name which will use the given
-		 * presentation to compute labels in the background
-		 * @param name the job's name
-		 * @param presentation the presentation to use for label
-		 *  computation
-		 */
-		public LabelJob(String name, IDebugModelPresentation presentation) {
-			super(name);
-			fJobPresentation= presentation;
-			setRule(this);
-			setSystem(true);
-		}
-		
-		/**
-		 * Queues up the given element to have its text computed.
-		 * @param element the element whose text should be computed
-		 *  in this background job
-		 */
-		public void computeText(Object element) {
-			if (!fElementQueue.contains(element)) {
-				if (element instanceof IStackFrame) {
-					fElementQueue.add(element);
-				} else {
-					// Add non-stack frame elements (debug target, thread, etc.)
-					// to the beginning of the queue so they're computed first.
-					fElementQueue.add(0, element);
-				}
-			}
-			schedule();
-		}
-
-		/**
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus run(IProgressMonitor monitor) {
-			synchronized(DebugViewLabelDecorator.this) {
-				fNextJob= null;
-			}
-
-			int numElements= fElementQueue.size();
-			monitor.beginTask(MessageFormat.format(DebugUIViewsMessages.getString("DebugViewLabelDecorator.1"), new String[] { Integer.toString(numElements) }), numElements); //$NON-NLS-1$
-			while (!fElementQueue.isEmpty() && !monitor.isCanceled()) {
-				StringBuffer message= new StringBuffer(MessageFormat.format(DebugUIViewsMessages.getString("DebugViewLabelDecorator.1"), new String[] { Integer.toString(fElementQueue.size()) })); //$NON-NLS-1$
-				if (fNextJob != null) {
-					message.append(MessageFormat.format(DebugUIViewsMessages.getString("DebugViewLabelDecorator.2"), new String[] { Integer.toString(fNextJob.fElementQueue.size()) })); //$NON-NLS-1$
-				}
-				monitor.setTaskName(message.toString());
-				int blockSize= 10;
-				if (fElementQueue.size() < blockSize) {
-					blockSize= fElementQueue.size();
-				}
-				final List computedElements= new ArrayList();
-				for (int i= 0; i < blockSize; i++) {
-					Object element= fElementQueue.remove(0);
-					if (element == null) {
-						break;
-					}
-					if (element instanceof IStackFrame) {
-						synchronized (fCurrentStackFrameLock) {
-							fCurrentStackFrame= (IStackFrame) element;
-						}
-						// If a stack frame's thread has been resumed, make sure it is added to the collection
-						// of resumed threads. There's a (small) chance of a race condition here if
-						// the thread manages to resume after we check its suspended status and then
-						// suspend before we check the status for the next frame.
-						IThread thread= fCurrentStackFrame.getThread();
-						synchronized(resumedThreads) {
-							if (!thread.isTerminated() && !thread.isSuspended()) {
-								resumedThreads.add(thread);
-								// no need to compute label for "running" stack frame
-								continue;
-							}
-						}
-					}
-					fLabelProvider.textComputed(element, fJobPresentation.getText(element));
-					synchronized (fCurrentStackFrameLock) {
-						fCurrentStackFrame= null;
-					}
-					computedElements.add(element);
-				}
-				labelsComputed(computedElements.toArray());
-				monitor.worked(computedElements.size());
-			}
-			monitor.done();
-			return Status.OK_STATUS;
-		}
-
-		/*
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#contains(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean contains(ISchedulingRule rule) {
-			return (rule instanceof LabelJob) && fJobPresentation == ((LabelJob)rule).fJobPresentation;
-		}
-
-		/*
-		 * @see org.eclipse.core.runtime.jobs.ISchedulingRule#isConflicting(org.eclipse.core.runtime.jobs.ISchedulingRule)
-		 */
-		public boolean isConflicting(ISchedulingRule rule) {
-			return (rule instanceof LabelJob) && fJobPresentation == ((LabelJob)rule).fJobPresentation;
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
deleted file mode 100644
index 859ffe2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/IDebugExceptionHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views;
-
-
-import org.eclipse.debug.core.DebugException;
- 
-/**
- * A plugable  exception handler.
- */
-public interface IDebugExceptionHandler {
-	
-	/**
-	 * Handles the given debug exception.
-	 * 
-	 * @param e debug exception
-	 */
-	public abstract void handleException(DebugException e);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
deleted file mode 100644
index ea8079e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsSorter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-public class BreakpointsSorter extends ViewerSorter {
-		/**
-		 * @see ViewerSorter#isSorterProperty(Object, String)
-		 */
-		public boolean isSorterProperty(Object element,String propertyId) {
-			return propertyId.equals(IBasicPropertyConstants.P_TEXT);
-		}
-		
-		/**
-		 * Returns a negative, zero, or positive number depending on whether
-		 * the first element is less than, equal to, or greater than
-		 * the second element.
-		 * <p>
-		 * Group breakpoints by debug model
-		 * 	within debug model, group breakpoints by type 
-		 * 		within type groups, sort by line number (if applicable) and then
-		 * 		alphabetically by label
-		 * 
-		 * @param viewer the viewer
-		 * @param e1 the first element
-		 * @param e2 the second element
-		 * @return a negative number if the first element is less than the 
-		 *  second element; the value <code>0</code> if the first element is
-		 *  equal to the second element; and a positive number if the first
-		 *  element is greater than the second element
-		 */
-		public int compare(Viewer viewer, Object e1, Object e2) {
-	
-			IBreakpoint b1= (IBreakpoint)e1;
-			IBreakpoint b2= (IBreakpoint)e2;
-			String modelId1= b1.getModelIdentifier();
-			String modelId2= b2.getModelIdentifier();
-			int result= modelId1.compareTo(modelId2);
-			if (result != 0) {
-				return result;
-			}
-			String type1= ""; //$NON-NLS-1$
-			String type2= ""; //$NON-NLS-1$
-			IMarker marker1= b1.getMarker();
-			if (!marker1.exists()) {
-				return 0;
-			}
-			try {
-				type1= marker1.getType();
-			} catch (CoreException ce) {
-				DebugUIPlugin.log(ce);
-			}
-			try {
-				IMarker marker2= b2.getMarker();
-				if (!marker2.exists()) {
-					return 0;
-				}
-				type2= marker2.getType();	
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		
-			result= type1.compareTo(type2);
-			if (result != 0) {
-				return result;
-			}
-			// model and type are the same
-		
-			ILabelProvider lprov = (ILabelProvider) ((StructuredViewer)viewer).getLabelProvider();
-			String name1= lprov.getText(e1);
-			String name2= lprov.getText(e2);
-	
-			boolean lineBreakpoint= false;
-			try {
-				lineBreakpoint= marker1.isSubtypeOf(IBreakpoint.LINE_BREAKPOINT_MARKER);
-			} catch (CoreException ce) {
-				DebugUIPlugin.log(ce);
-			}
-			if (lineBreakpoint) {
-				return compareLineBreakpoints(b1, b2, name1,name2);
-			} 
-			
-			return name1.compareTo(name2);		
-		}
-		
-		protected int compareLineBreakpoints(IBreakpoint b1, IBreakpoint b2, String name1, String name2) {
-			int colon1= name1.indexOf(':');
-			if (colon1 != -1) {
-				int colon2= name2.indexOf(':');
-				if (colon2 != -1) {
-					String upToColon1= name1.substring(0, colon1);
-					if (name2.startsWith(upToColon1)) {
-						int l1= 0;
-						int l2= 0;
-						try {
-							l1= ((ILineBreakpoint)b1).getLineNumber();	
-						} catch (CoreException e) {
-							DebugUIPlugin.log(e);
-						}
-						try {
-							l2= ((ILineBreakpoint)b2).getLineNumber();	
-						} catch (CoreException e) {
-							DebugUIPlugin.log(e);
-						}
-						return l1 - l2;
-					}
-				}
-			}
-			return name1.compareTo(name2);
-		}
-	}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
deleted file mode 100644
index dbfd6ed..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
- 
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.ListIterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.actions.LinkBreakpointsWithDebugViewAction;
-import org.eclipse.debug.internal.ui.actions.OpenBreakpointMarkerAction;
-import org.eclipse.debug.internal.ui.actions.ShowSupportedBreakpointsAction;
-import org.eclipse.debug.internal.ui.actions.SkipAllBreakpointsAction;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This view shows the breakpoints registered with the breakpoint manager
- */
-public class BreakpointsView extends AbstractDebugView implements ISelectionListener, IBreakpointManagerListener {
-
-	private BreakpointsViewEventHandler fEventHandler;
-	private ICheckStateListener fCheckListener= new ICheckStateListener() {
-		public void checkStateChanged(CheckStateChangedEvent event) {
-			handleCheckStateChanged(event);
-		}
-	};
-	private boolean fIsTrackingSelection= false;
-	// Persistance constants
-	private static String KEY_IS_TRACKING_SELECTION= "isTrackingSelection"; //$NON-NLS-1$
-	private static String KEY_VALUE="value"; //$NON-NLS-1$
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		if (getViewer() != null) {
-			initializeCheckedState();
-			updateViewerBackground();
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpointManagerListener(this);
-		}
-	}
-
-	/**
-	 * @see AbstractDebugView#createViewer(Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		viewer.setContentProvider(new BreakpointsViewContentProvider());
-		viewer.setLabelProvider(new DelegatingModelPresentation());
-		viewer.setSorter(new BreakpointsSorter());
-		viewer.setInput(DebugPlugin.getDefault().getBreakpointManager());
-		viewer.addCheckStateListener(fCheckListener);
-		// Necessary so that the PropertySheetView hears about selections in this view
-		getSite().setSelectionProvider(viewer);
-		initIsTrackingSelection();
-		setEventHandler(new BreakpointsViewEventHandler(this));
-		return viewer;
-	}
-	
-	/**
-	 * Initializes whether this view tracks selection in the
-	 * debug view from the persisted state.
-	 */
-	private void initIsTrackingSelection() {
-		IMemento memento= getMemento();
-		if (memento != null) {
-			IMemento node= memento.getChild(KEY_IS_TRACKING_SELECTION);
-			if (node != null) {
-				setTrackSelection(Boolean.valueOf(node.getString(KEY_VALUE)).booleanValue());
-				return;
-			}
-		}
-		setTrackSelection(false);
-	}
-
-	/**
-	 * Sets the initial checked state of the items in the viewer.
-	 */
-	protected void initializeCheckedState() {
-		IBreakpointManager manager= DebugPlugin.getDefault().getBreakpointManager();
-		final CheckboxTableViewer viewer= getCheckboxViewer();
-		Object[] elements= ((IStructuredContentProvider) viewer.getContentProvider()).getElements(manager);
-		ArrayList breakpoints= new ArrayList(elements.length);
-		for (int i = 0; i < elements.length; i++) {
-			breakpoints.add(elements[i]);
-		}
-		ListIterator iterator= breakpoints.listIterator();
-		while (iterator.hasNext()) {
-			try {
-				if (!((IBreakpoint) iterator.next()).isEnabled()) {
-					iterator.remove();
-				}
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		viewer.setCheckedElements(breakpoints.toArray());
-	}
-	
-	/**
-	 * Returns this view's viewer as a checkbox table viewer.
-	 * 
-	 * @return
-	 */
-	private CheckboxTableViewer getCheckboxViewer() {
-		return (CheckboxTableViewer) getViewer();
-	}
-
-	/**
-	 * Responds to the user checking and unchecking breakpoints by enabling
-	 * and disabling them.
-	 * 
-	 * @param event the check state change event
-	 */
-	private void handleCheckStateChanged(CheckStateChangedEvent event) {
-		Object source= event.getElement();
-		if (!(source instanceof IBreakpoint)) {
-			return;
-		}
-		IBreakpoint breakpoint= (IBreakpoint) source;
-		boolean enable= event.getChecked();
-		try {
-			breakpoint.setEnabled(enable);
-		} catch (CoreException e) {
-			String titleState= enable ? DebugUIViewsMessages.getString("BreakpointsView.6") : DebugUIViewsMessages.getString("BreakpointsView.7"); //$NON-NLS-1$ //$NON-NLS-2$
-			String messageState= enable ? DebugUIViewsMessages.getString("BreakpointsView.8") : DebugUIViewsMessages.getString("BreakpointsView.9");  //$NON-NLS-1$ //$NON-NLS-2$
-			DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), MessageFormat.format(DebugUIViewsMessages.getString("BreakpointsView.10"), new String[] { titleState }), MessageFormat.format(DebugUIViewsMessages.getString("BreakpointsView.11"), new String[] { messageState }), e); //$NON-NLS-1$ //$NON-NLS-2$
-			// If the breakpoint fails to update, reset its check state.
-			getCheckboxViewer().removeCheckStateListener(fCheckListener);
-			event.getCheckable().setChecked(source, !event.getChecked());
-			getCheckboxViewer().addCheckStateListener(fCheckListener);
-		}
-	}
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.BREAKPOINT_VIEW;
-	}
-
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		getCheckboxViewer().removeCheckStateListener(fCheckListener);
-		IAction action= getAction("ShowBreakpointsForModel"); //$NON-NLS-1$
-		if (action != null) {
-			((ShowSupportedBreakpointsAction)action).dispose(); 
-		}
-		getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointManagerListener(this);
-		super.dispose();
-		
-		if (getEventHandler() != null) {
-			getEventHandler().dispose();
-		}
-	}
-
-	/**
-	 * @see AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		IAction action = new OpenBreakpointMarkerAction(getViewer());
-		setAction("GotoMarker", action); //$NON-NLS-1$
-		setAction(DOUBLE_CLICK_ACTION, action);
-		setAction("ShowBreakpointsForModel", new ShowSupportedBreakpointsAction(getStructuredViewer(),this)); //$NON-NLS-1$
-		setAction("LinkWithDebugView", new LinkBreakpointsWithDebugViewAction(this)); //$NON-NLS-1$
-		setAction("SkipBreakpoints", new SkipAllBreakpointsAction()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Adds items to the context menu.
-	 * 
-	 * @param menu The menu to contribute to
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		updateObjects();
-		menu.add(new Separator(IDebugUIConstants.EMPTY_NAVIGATION_GROUP));
-		menu.add(new Separator(IDebugUIConstants.NAVIGATION_GROUP));
-		menu.add(getAction("GotoMarker")); //$NON-NLS-1$
-		menu.add(new Separator(IDebugUIConstants.EMPTY_BREAKPOINT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/**
-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(IDebugUIConstants.BREAKPOINT_GROUP));
-		tbm.add(getAction("ShowBreakpointsForModel")); //$NON-NLS-1$
-		tbm.add(getAction("GotoMarker")); //$NON-NLS-1$
-		tbm.add(getAction("LinkWithDebugView")); //$NON-NLS-1$
-		tbm.add(getAction("SkipBreakpoints")); //$NON-NLS-1$
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-	}
-	
-	/**
-	 * Returns this view's event handler
-	 * 
-	 * @return a breakpoint view event handler
-	 */
-	protected BreakpointsViewEventHandler getEventHandler() {
-		return fEventHandler;
-	}
-
-	/**
-	 * Sets this view's event handler.
-	 * 
-	 * @param eventHandler a breakpoint view event handler
-	 */
-	private void setEventHandler(BreakpointsViewEventHandler eventHandler) {
-		fEventHandler = eventHandler;
-	}
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		getViewer().refresh();
-		initializeCheckedState();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-		if (sel.isEmpty() || !isTrackingSelection()) {
-			return;
-		}
-		IStructuredSelection selection= (IStructuredSelection) sel;
-		Iterator iter= selection.iterator();
-		Object firstElement= iter.next();
-		if (firstElement == null || iter.hasNext()) {
-			return;
-		}
-		IThread thread= null;
-		if (firstElement instanceof IStackFrame) {
-			thread= ((IStackFrame) firstElement).getThread();
-		} else if (firstElement instanceof IThread) {
-			thread= (IThread) firstElement;
-		} else {
-			return;
-		}
-		IBreakpoint[] breakpoints= thread.getBreakpoints();
-		getViewer().setSelection(new StructuredSelection(breakpoints), true);
-	}
-	
-	/**
-	 * Returns whether this view is currently tracking the
-	 * selection from the debug view.
-	 * 
-	 * @return whether this view is currently tracking the
-	 *   debug view's selection
-	 */
-	public boolean isTrackingSelection() {
-		return fIsTrackingSelection;
-	}
-	
-	/**
-	 * Sets whether this view should track the selection from
-	 * the debug view.
-	 * 
-	 * @param trackSelection whether or not this view should
-	 *   track the debug view's selection.
-	 */
-	public void setTrackSelection(boolean trackSelection) {
-		fIsTrackingSelection= trackSelection;
-		if (trackSelection) {
-			getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		} else {
-			getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		IMemento node= memento.createChild(KEY_IS_TRACKING_SELECTION);
-		node.putString(KEY_VALUE, String.valueOf(fIsTrackingSelection));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean)
-	 */
-	public void breakpointManagerEnablementChanged(boolean enabled) {
-		DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IAction action = getAction("SkipBreakpoints"); //$NON-NLS-1$
-				if (action != null) {
-					((SkipAllBreakpointsAction) action).updateActionCheckedState();
-				}
-				updateViewerBackground();
-			}
-		});
-	}
-
-	/**
-	 * Updates the background color of the viewer based
-	 * on the breakpoint manager enablement.
-	 */
-	protected void updateViewerBackground() {
-		Color color= null;
-		boolean enabled = true;
-		if (!DebugPlugin.getDefault().getBreakpointManager().isEnabled()) {
-			color= DebugUIPlugin.getStandardDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-			enabled = false;
-		}
-		Table table = getCheckboxViewer().getTable();
-		TableItem[] items = table.getItems();
-		for (int i = 0; i < items.length; i++) {
-			items[i].setBackground(color);
-			items[i].setGrayed(!enabled);
-		}
-		table.setBackground(color);
-		if (enabled) {
-			setTitle(DebugUIViewsMessages.getString("BreakpointsView.19")); //$NON-NLS-1$
-		} else {
-			setTitle(DebugUIViewsMessages.getString("BreakpointsView.20")); //$NON-NLS-1$
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
deleted file mode 100644
index 9ccf23c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewContentProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class BreakpointsViewContentProvider implements IStructuredContentProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object parent) {
-		return ((IBreakpointManager) parent).getBreakpoints();
-	}
-
-	/* (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) {
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
deleted file mode 100644
index 56ff44d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsViewEventHandler.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brock Janiczak - bug 57999
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.breakpoints;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-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.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.ActivityManagerEvent;
-import org.eclipse.ui.activities.IActivityManagerListener;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-
-/**
- * Handles breakpoint events and activity manager events (which can affect filtering),
- * updating the breakpoints view and viewer.
- */
-public class BreakpointsViewEventHandler implements IBreakpointsListener, IActivityManagerListener {
-
-	private BreakpointsView fView;
-
-	/**
-	 * Constructs an event handler for the breakpoints view.
-	 */
-	public BreakpointsViewEventHandler(BreakpointsView view) {
-		fView= view;
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-		IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
-		if (activitySupport != null) {
-			activitySupport.getActivityManager().addActivityManagerListener(this);
-		}
-	}
-	
-	/**
-	 * When this event handler is disposed, remove it as a listener.
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-		IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
-		if (activitySupport != null) {
-			activitySupport.getActivityManager().removeActivityManagerListener(this);
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsAdded(IBreakpoint[])
-	 */
-	public void breakpointsAdded(final IBreakpoint[] breakpoints) {
-		if (fView.isAvailable() && fView.isVisible()) {		
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable()) {
-						CheckboxTableViewer viewer = (CheckboxTableViewer)fView.getViewer();
-						MultiStatus status= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugUIViewsMessages.getString("BreakpointsViewEventHandler.4"), null); //$NON-NLS-1$
-						for (int i = 0; i < breakpoints.length; i++) {
-							IBreakpoint breakpoint = breakpoints[i];
-							// check if the breakpoint is still registered at this time
-							if (!DebugPlugin.getDefault().getBreakpointManager().isRegistered(breakpoint)) {
-								continue;
-							}
-							viewer.add(breakpoint);
-							try {
-								boolean enabled= breakpoint.isEnabled();
-								if (viewer.getChecked(breakpoint) != enabled) {
-									viewer.setChecked(breakpoint, breakpoint.isEnabled());								
-								}
-
-                                if (!DebugPlugin.getDefault().getBreakpointManager().isEnabled()) {
-                                	fView.updateViewerBackground();
-                                }
-							} catch (CoreException e) {
-								status.add(DebugUIPlugin.newErrorStatus(DebugUIViewsMessages.getString("BreakpointsViewEventHandler.5"),e)); //$NON-NLS-1$
-								DebugUIPlugin.log(e);
-							}	
-						}
-						if (!status.isOK()) {
-							DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIViewsMessages.getString("BreakpointsViewEventHandler.1"), DebugUIViewsMessages.getString("BreakpointsViewEventHandler.2"), status); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsRemoved(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsRemoved(final IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (fView.isAvailable() && fView.isVisible()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable()) {
-						TableViewer viewer= (TableViewer)fView.getViewer();
-						int[] indices= viewer.getTable().getSelectionIndices();
-						viewer.getControl().setRedraw(false);
-						viewer.remove(breakpoints);
-						viewer.getControl().setRedraw(true);
-						if (viewer.getSelection().isEmpty()) {
-							if (indices.length > 0) {
-								int index= indices[0];
-								viewer.getTable().select(Math.min(index, viewer.getTable().getItemCount() - 1));
-							}
-							//fire the selection changed as does not occur when
-							//setting selection on the swt widget
-							viewer.setSelection(viewer.getSelection());
-						}
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * @see IBreakpointsListener#breakpointsChanged(IBreakpoint[], IMarkerDelta[])
-	 */
-	public void breakpointsChanged(final IBreakpoint[] breakpoints, IMarkerDelta[] deltas) {
-		if (fView.isAvailable() & fView.isVisible()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					if (fView.isAvailable()) {
-						CheckboxTableViewer viewer = (CheckboxTableViewer)fView.getViewer(); 
-						viewer.getControl().setRedraw(false);
-						for (int i = 0; i < breakpoints.length; i++) {
-							IBreakpoint breakpoint = breakpoints[i];
-							IMarker marker= breakpoint.getMarker();
-							if (marker != null && marker.exists()) {
-								// only refresh if still exists
-								try {
-									boolean enabled= breakpoint.isEnabled();
-									if (viewer.getChecked(breakpoint) != enabled) {
-										viewer.setChecked(breakpoint, breakpoint.isEnabled());								
-									}
-								} catch (CoreException e) {
-									DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), DebugUIViewsMessages.getString("BreakpointsViewEventHandler.1"), DebugUIViewsMessages.getString("BreakpointsViewEventHandler.2"), e); //$NON-NLS-1$ //$NON-NLS-2$
-									DebugUIPlugin.log(e);
-								}
-								viewer.refresh(breakpoint);
-							}
-						}
-						viewer.getControl().setRedraw(true);
-						fView.updateObjects();
-					}
-				}
-			});
-		}
-	}
-
-	/**
-	 * When new activities are added or enabled, refresh the view contents to add/remove
-	 * breakpoints related to the affected activities.
-	 */
-	public void activityManagerChanged(final ActivityManagerEvent activityManagerEvent) {
-		if (fView.isAvailable() & fView.isVisible() && activityManagerEvent.haveEnabledActivityIdsChanged()) {
-			fView.asyncExec(new Runnable() {
-				public void run() {
-					fView.getViewer().refresh();
-					fView.initializeCheckedState();
-				}
-			});
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/BreakPartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/BreakPartition.java
deleted file mode 100644
index 30a078c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/BreakPartition.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * A partition in a console document that represents a break after an input
- * partition. This represents a hard break that the user cannot backspace/delete.
- */
-public class BreakPartition extends StreamPartition {
-
-	/**
-	 * Partition type
-	 */
-	public static final String BREAK_PARTITION_TYPE = DebugUIPlugin.getUniqueIdentifier() + ".BREAK_PARTITION_TYPE"; //$NON-NLS-1$
-	
-	
-	public BreakPartition(String streamIdentifier, int offset, int length) {
-		super(streamIdentifier, offset, length, BREAK_PARTITION_TYPE);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.console.StreamPartition#createNewPartition(String, int, int)
-	 */
-	public StreamPartition createNewPartition(String streamIdentifier, int offset, int length) {
-		return new BreakPartition(streamIdentifier, offset, length);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
deleted file mode 100644
index 6b37c3f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocument.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.ui.console.IConsoleColorProvider;
-import org.eclipse.jface.text.AbstractDocument;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.ITextStore;
-
-public class ConsoleDocument extends AbstractDocument {
-	
-	private IConsoleColorProvider fColorProvider;
-	
-	public ConsoleDocument(IConsoleColorProvider colorProvider) {
-		fColorProvider = colorProvider;
-		setTextStore(newTextStore());	
-		setLineTracker(new DefaultLineTracker());
-		completeInitialization();
-	}
-    	
-	/**
-	 * Returns whether this document is read-only.
-	 */
-	public boolean isReadOnly() {
-		return fColorProvider.isReadOnly();
-	}
-	
-	/**
-	 * Creates a new text store for this document.
-	 */
-	protected ITextStore newTextStore() {
-		return new ConsoleOutputTextStore(2500);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
deleted file mode 100644
index de6100a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentManager.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.console.IConsoleColorProvider;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-/**
- * Creates documents for processes as they are registered with a launch.
- * The singleton manager is accessible from the debug UI plugin.
- */
-public class ConsoleDocumentManager implements ILaunchListener {
-	
-	/**
-	 * Console document content provider extensions, keyed by extension id
-	 */
-	private Map fColorProviders;
-	
-	/**
-	 * Console line trackers; keyed by process type to list of trackers (1:N) 
-	 */
-	private Map fLineTrackers;
-	
-	/**
-	 * Default document provider.
-	 */
-	protected IDocumentProvider fDefaultDocumentProvider = null;
-	
-	/**
-	 * Map of processes for a launch to compute removed processes
-	 */
-	private Map fProcesses;
-	
-	/**
-	 * @see ILaunchListener#launchRemoved(ILaunch)
-	 */
-	public void launchRemoved(ILaunch launch) {
-		removeLaunch(launch);
-	}
-	
-	protected void removeLaunch(ILaunch launch) {
-		IProcess[] processes= launch.getProcesses(); 
-		for (int i= 0; i < processes.length; i++) {
-			IProcess iProcess = processes[i];
-			removeProcess(iProcess);
-		}		
-		if (fProcesses != null) {
-			fProcesses.remove(launch);
-		}
-	}
-	
-	/**
-	 * Removes the console and document associated with the given process.
-	 * 
-	 * @param iProcess process to clean up
-	 */
-	private void removeProcess(IProcess iProcess) {
-		IConsole console = getConsole(iProcess);
-		if (console != null) {
-			IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
-			manager.removeConsoles(new IConsole[]{console});
-		}
-		IDocumentProvider provider = getDocumentProvider();
-		provider.disconnect(iProcess);
-	}
-
-	/**
-	 * Returns the console for the given process, or <code>null</code> if none.
-	 * 
-	 * @param process
-	 * @return the console for the given process, or <code>null</code> if none
-	 */
-	public IConsole getConsole(IProcess process) {
-		IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); 
-		IConsole[] consoles = manager.getConsoles();
-		for (int i = 0; i < consoles.length; i++) {
-			IConsole console = consoles[i];
-			if (console instanceof ProcessConsole) {
-				ProcessConsole pc = (ProcessConsole)console;
-				if (pc.getProcess().equals(process)) {
-					return pc;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @see ILaunchListener#launchAdded(ILaunch)
-	 */
-	public void launchAdded(ILaunch launch) {
-		launchChanged(launch);
-	}
-
-	/**
-	 * @see ILaunchListener#launchChanged(ILaunch)
-	 */
-	public void launchChanged(final ILaunch launch) {
-		DebugUIPlugin.getStandardDisplay().syncExec(new Runnable () {
-			public void run() {
-				IProcess[] processes= launch.getProcesses();
-				for (int i= 0; i < processes.length; i++) {
-					if (getConsoleDocument(processes[i]) == null) {
-						// create new document
-						IProcess process = processes[i];
-						IDocumentProvider provider = getDocumentProvider();
-						try {
-							provider.connect(process);
-						} catch (CoreException e) {
-						}
-						ProcessConsole pc = new ProcessConsole(process);
-						ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{pc});
-					}
-				}
-				List removed = getRemovedProcesses(launch);
-				if (removed != null) {
-					Iterator iterator = removed.iterator();
-					while (iterator.hasNext()) {
-						IProcess p = (IProcess) iterator.next();
-						removeProcess(p);
-					}
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Returns the document for the process, or <code>null</code>
-	 * if none.
-	 */
-	public IDocument getConsoleDocument(IProcess process) {
-		IDocumentProvider provider = getDocumentProvider();
-		return provider.getDocument(process);
-	} 
-	
-	/**
-	 * Returns the document provider.
-	 * 
-	 * @return document provider
-	 */
-	private IDocumentProvider getDocumentProvider() {
-		if (fDefaultDocumentProvider == null) {
-			fDefaultDocumentProvider = new ConsoleDocumentProvider();
-		}
-		return fDefaultDocumentProvider;
-	}
-		
-	/**
-	 * Called by the debug ui plug-in on startup.
-	 * The console document manager starts listening for
-	 * launches to be registered and initializes if any launches
-	 * already exist.
-	 */
-	public void startup() {
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		launchManager.addLaunchListener(this);	
-
-		//set up the docs for launches already registered
-		ILaunch[] launches= launchManager.getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			launchAdded(launches[i]);
-		}
-	}
-	
-	/**
-	 * Called by the debug ui plug-in on shutdown.
-	 * The console document manager de-registers as a 
-	 * launch listener and kills all existing console documents.
-	 */
-	public void shutdown() {
-		ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunch[] launches = launchManager.getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			removeLaunch(launch);
-		}
-		launchManager.removeLaunchListener(this);
-		if (fProcesses != null) {
-			fProcesses.clear();
-		}
-	}
-	
-	/**
-	 * Notifies the console document manager that system err is about to be written
-	 * to the console. The manager will open the console if the preference is
-	 * set to show the console on system err.
-	 */
-	protected void aboutToWriteSystemErr(IProcess process) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR)) {
-			showConsole(process);
-		}
-	}
-	
-	/**
-	 * Notifies the console document manager that system out is about to be written
-	 * to the console. The manager will open the console if the preference is
-	 * set to show the console on system out and the console document being written 
-	 * is associated with the current process.
-	 */	
-	protected void aboutToWriteSystemOut(IProcess process) {
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT)) {
-			showConsole(process);
-		}
-	}
-	
-	/**
-	 * Opens the console view. If the view is already open, it is brought to the front.
-	 */
-	protected void showConsole(final IProcess process) {
-		ConsolePlugin.getDefault().getConsoleManager().showConsoleView(getConsole(process));
-	}
-	
-	/**
-	 * Returns a new console document color provider extension for the given
-	 * process type, or <code>null</code> if none.
-	 * 
-	 * @param type corresponds to <code>IProcess.ATTR_PROCESS_TYPE</code>
-	 * @return IConsoleColorProvider
-	 */
-	public IConsoleColorProvider getColorProvider(String type) {
-		if (fColorProviders == null) {
-			fColorProviders = new HashMap();
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_COLOR_PROVIDERS);
-			IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				IConfigurationElement extension = elements[i];
-				fColorProviders.put(extension.getAttributeAsIs("processType"), extension); //$NON-NLS-1$
-			}
-		}
-		IConfigurationElement extension = (IConfigurationElement)fColorProviders.get(type);
-		if (extension != null) {
-			try {
-				Object colorProvider = extension.createExecutableExtension("class"); //$NON-NLS-1$
-				if (colorProvider instanceof IConsoleColorProvider) {
-					return (IConsoleColorProvider)colorProvider;
-				} 
-				DebugUIPlugin.logErrorMessage(MessageFormat.format(ConsoleMessages.getString("ConsoleDocumentManager.1"),new String[]{extension.getDeclaringExtension().getUniqueIdentifier()} )); //$NON-NLS-1$
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	} 
-	
-	/**
-	 * Creates and retuns a new line notifier for the given type of process, or
-	 * <code>null</code> if none. The notifier will be seeded with new console
-	 * line listeners registered for the given process type.
-	 * 
-	 * @param type process type
-	 * @return line notifier or <code>null</code>
-	 */
-	public ConsoleLineNotifier newLineNotifier(String type) {
-		if (fLineTrackers == null) {
-			fLineTrackers = new HashMap();
-			IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.EXTENSION_POINT_CONSOLE_LINE_TRACKERS);
-			IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
-			for (int i = 0; i < elements.length; i++) {
-				IConfigurationElement extension = elements[i];
-				String processType = extension.getAttributeAsIs("processType"); //$NON-NLS-1$
-				List list = (List)fLineTrackers.get(processType);
-				if (list == null) {
-					list = new ArrayList();
-					fLineTrackers.put(processType, list);
-				}
-				list.add(extension);
-			}
-		}
-		List extensions = (List)fLineTrackers.get(type);
-		ConsoleLineNotifier lineNotifier = null;
-		if (extensions != null) {
-			lineNotifier = new ConsoleLineNotifier();
-			Iterator iter = extensions.iterator();
-			while (iter.hasNext()) {
-				IConfigurationElement extension = (IConfigurationElement)iter.next();
-				try {
-					Object tracker = extension.createExecutableExtension("class"); //$NON-NLS-1$
-					if (tracker instanceof IConsoleLineTracker) {
-						lineNotifier.addConsoleListener((IConsoleLineTracker)tracker);
-					} else {
-						DebugUIPlugin.logErrorMessage(MessageFormat.format(ConsoleMessages.getString("ConsoleDocumentManager.2"),new String[]{extension.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$
-					}
-				} catch (CoreException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-		}
-		return lineNotifier;		
-	}
-	
-	/**
-	 * Returns the processes that have been removed from the given
-	 * launch, or <code>null</code> if none.
-	 * 
-	 * @param launch launch that has changed
-	 * @return removed processes or <code>null</code>
-	 */
-	private List getRemovedProcesses(ILaunch launch) {
-		List removed = null;
-		if (fProcesses == null) {
-			fProcesses = new HashMap();
-		}
-		IProcess[] old = (IProcess[]) fProcesses.get(launch);
-		IProcess[] curr = launch.getProcesses();
-		if (old != null) {
-			for (int i = 0; i < old.length; i++) {
-				IProcess process = old[i];
-				if (!contains(curr, process)) {
-					if (removed == null) {
-						removed = new ArrayList();
-					}
-					removed.add(process);
-				}
-			}
-		}
-		// update cache with current processes
-		fProcesses.put(launch, curr);
-		return removed;
-	}
-	
-	/**
-	 * Returns whether the given object is contained in the list.
-	 * 
-	 * @param list list to search
-	 * @param object object to search for
-	 * @return whether the given object is contained in the list
-	 */
-	private boolean contains(Object[] list, Object object) {
-		for (int i = 0; i < list.length; i++) {
-			Object object2 = list[i];
-			if (object2.equals(object)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentPartitioner.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentPartitioner.java
deleted file mode 100644
index a76c265..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentPartitioner.java
+++ /dev/null
@@ -1,995 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IFlushableStreamMonitor;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleColorProvider;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IDocumentPartitionerExtension;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.ConsolePlugin;
-
-/**
- * Default console document partitioner. Partitions a document into
- * color regions for standard in, out, err.
- */
-public class ConsoleDocumentPartitioner implements IDocumentPartitioner, IDocumentPartitionerExtension, IPropertyChangeListener, IConsole, IDebugEventSetListener {
-
-	protected IProcess fProcess;
-	protected IConsoleColorProvider fColorProvider;
-	private IStreamsProxy fProxy;
-	protected List fStreamListeners = new ArrayList(2);
-	
-	private String[] fSortedLineDelimiters;
-	
-	// high and low water marks for buffering output
-	private boolean fUpdatingBuffer = false;
-	private int fLowWaterMark;
-	private int fHighWaterMark;
-	
-	// max amount of output (characters) processed per poll
-	private int fMaxAppendSize;
-	
-	class StreamEntry {
-		/**
-		 * Identifier of the stream written to.
-		 */
-		private String fStreamIdentifier;
-		/**
-		 * The text written
-		 */
-		private String fText = null;
-		
-		StreamEntry(String text, String streamIdentifier) {
-			fText = text;
-			fStreamIdentifier = streamIdentifier;
-		}
-		
-		/**
-		 * Returns the stream identifier
-		 */
-		public String getStreamIdentifier() {
-			return fStreamIdentifier;
-		}
-		
-		/**
-		 * Returns the text written
-		 */
-		public String getText() {
-			return fText;
-		}
-		
-		public boolean isClosedEntry() {
-			return false;
-		}
-	}
-	
-	/**
-	 * A stream entry representing stream closure
-	 */
-	class StreamsClosedEntry extends StreamEntry {
-		StreamsClosedEntry() {
-			super("", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-		public boolean isClosedEntry() {
-			return true;
-		}
-	}
-	
-	class StreamListener implements IStreamListener {
-		
-		private String fStreamIdentifier;
-		private IStreamMonitor fStreamMonitor;
-		private boolean fIsSystemOut = false;
-		private boolean fIsSystemErr = false;
-	
-		public StreamListener(String streamIdentifier, IStreamMonitor streamMonitor) {
-			fStreamIdentifier = streamIdentifier;
-			fStreamMonitor = streamMonitor;
-			fIsSystemOut = IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM.equals(streamIdentifier);
-			fIsSystemErr = IDebugUIConstants.ID_STANDARD_ERROR_STREAM.equals(streamIdentifier); 
-		}
-		
-		public void streamAppended(String newText, IStreamMonitor monitor) {
-			if (fIsSystemOut) {
-				DebugUIPlugin.getDefault().getConsoleDocumentManager().aboutToWriteSystemOut(getProcess());
-			} else if (fIsSystemErr) {
-				DebugUIPlugin.getDefault().getConsoleDocumentManager().aboutToWriteSystemErr(getProcess());
-			}
-			ConsoleDocumentPartitioner.this.streamAppended(newText, fStreamIdentifier);
-		}
-		
-		public void streamClosed(IStreamMonitor monitor) {
-			//ConsoleDocumentPartitioner.this.streamClosed(fStreamIdentifier);
-		}
-		
-		public void connect() {
-			fStreamMonitor.addListener(this);
-			String contents= fStreamMonitor.getContents();
-			if (fStreamMonitor instanceof IFlushableStreamMonitor) {
-				// flush the underlying buffer and do not duplicate storage
-				IFlushableStreamMonitor flushableStreamMonitor = (IFlushableStreamMonitor)fStreamMonitor;
-				flushableStreamMonitor.flushContents();
-				flushableStreamMonitor.setBuffered(false);
-			}
-			if (contents.length() > 0) {
-				streamAppended(contents, fStreamMonitor);
-			}
-		}
-		
-		public void disconnect() {
-			fStreamMonitor.removeListener(this);
-		}
-	}
-
-	
-	/**
-	 * A queue of stream entries written to standard out and standard err.
-	 * Entries appended to the end of the queue and removed from the front.
-	 * Intentionally a vector to obtain synchronization as entries are
-	 * added and removed.
-	 */
-	private Vector fQueue = new Vector(10);
-	
-	/**
-	 * Thread that polls the queue for new output
-	 */
-	private Thread fPollingThread = null;
-	
-	/**
-	 * Whether an append is still in  progress or to be run
-	 */
-	private boolean fAppending = false;
-	
-	/**
-	 * Whether the console has been killed/disconnected
-	 */
-	private boolean fKilled = false;
-	
-	/**
-	 * Whether to keep polling
-	 */
-	private boolean fPoll = false;
-	
-	/**
-	 * Whether the streams coonnected to the associated process are closed
-	 */
-	private boolean fClosed= false;
-	
-	/**
-	 * The associated document
-	 */
-	private IDocument fDocument = null;
-	
-	/**
-	 * The length of the current line
-	 */
-	private int fLineLength = 0;
-	
-	/** 
-	 * Maximum line length before wrapping.
-	 */
-	private int fMaxLineLength = 80;
-	
-	/**
-	 * Whether using auto-wrap mode
-	 */
-	private boolean fWrap = false;
-	
-	/**
-	 * List of partitions
-	 */
-	private List fPartitions = new ArrayList(5);
-	
-	/**
-	 * The base number of milliseconds to pause
-	 * between polls.
-	 */
-	private static final long BASE_DELAY= 100L;
-	
-	/**
-	 * The identifier of the stream that was last appended to
-	 */
-	private String fLastStreamIdentifier= null;
-	
-	/**
-	 * Keyboard input buffer
-	 */
-	private StringBuffer fInputBuffer = new StringBuffer();
-	
-	/**
-	 * Queue of hyperlinks to be added to the console
-	 */
-	private Vector fPendingLinks = new Vector();
-	
-	/**
-	 * The line notifier associated with this partitioner or <code>null</code> if none 
-	 */
-	private ConsoleLineNotifier fLineNotifier = null;
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument document) {
-		fDocument = document;
-		fDocument.addPositionCategory(HyperlinkPosition.HYPER_LINK_CATEGORY);
-		document.setDocumentPartitioner(this);
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		fWrap = store.getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP);
-		fMaxLineLength = store.getInt(IDebugPreferenceConstants.CONSOLE_WIDTH);
-		store.addPropertyChangeListener(this);		
-		fColorProvider.connect(fProcess, this);
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		if (fProcess.isTerminated()) {
-			// it is possible the terminate event will have been fired before the
-			// document is connected - in this case, ensure we have closed the streams
-			// and notified the line tracker
-			streamsClosed();
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		kill();
-		if (fLineNotifier != null) {
-			fLineNotifier.disconnect();
-		}
-		fColorProvider.disconnect();
-		fDocument.setDocumentPartitioner(null);
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean documentChanged(DocumentEvent event) {
-		return documentChanged2(event) != null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-	 */
-	public String[] getLegalContentTypes() {
-		return new String[] {InputPartition.INPUT_PARTITION_TYPE, OutputPartition.OUTPUT_PARTITION_TYPE, BreakPartition.BREAK_PARTITION_TYPE};
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-	 */
-	public String getContentType(int offset) {
-		ITypedRegion partition = getPartition(offset);
-		if (partition != null) {
-			return partition.getType();
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		if (offset == 0 && length == fDocument.getLength()) {
-			return (ITypedRegion[])fPartitions.toArray(new ITypedRegion[fPartitions.size()]);
-		} else {
-			int end = offset + length;
-			List list = new ArrayList();
-			for (int i = 0; i < fPartitions.size(); i++) {
-				ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-				int partitionStart = partition.getOffset();
-				int partitionEnd = partitionStart + partition.getLength();
-				if ((offset >= partitionStart && offset <= partitionEnd) ||
-					(offset < partitionStart && end >= partitionStart)) {
-						list.add(partition);
-				} 
-			}
-			return (ITypedRegion[])list.toArray(new ITypedRegion[list.size()]);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-	 */
-	public ITypedRegion getPartition(int offset) {
-		for (int i = 0; i < fPartitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-			int start = partition.getOffset();
-			int end = start + partition.getLength();
-			if (offset >= start && offset < end) {
-				return partition;
-			} 
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public IRegion documentChanged2(DocumentEvent event) {
-		if (fUpdatingBuffer) {
-			return new Region(0, fDocument.getLength());
-		}
-		addPendingLinks();
-		String text = event.getText();
-		if (isAppendInProgress()) {
-			// stream input
-			addPartition(new OutputPartition(fLastStreamIdentifier, event.getOffset(), text.length()));
-			if (fLineNotifier != null) {
-				fLineNotifier.consoleChanged(event);
-			}
-		} else {
-			// console keyboard input
-			int amountDeleted = event.getLength() - text.length();
-			int docLength = fDocument.getLength();
-			int bufferStartOffset = docLength + amountDeleted - fInputBuffer.length();
-			int bufferModifyOffset = event.getOffset() - bufferStartOffset;
-			int bufferModifyOffsetEnd = bufferModifyOffset + event.getLength();
-			
-			if (docLength == 0) {
-				// cleared
-				fQueue.clear();
-				fInputBuffer.setLength(0);
-				fPartitions.clear();
-				// reset lines processed to 0
-				if (fLineNotifier != null) {
-					fLineNotifier.setLinesProcessed(0);
-				}
-				// remove existing positions
-				try {
-					Position[] positions = fDocument.getPositions(HyperlinkPosition.HYPER_LINK_CATEGORY);
-					for (int i = 0; i < positions.length; i++) {
-						Position position = positions[i];
-						fDocument.removePosition(HyperlinkPosition.HYPER_LINK_CATEGORY, position);
-					}
-				} catch (BadPositionCategoryException e) {
-				}
-				return new Region(0,0);
-			}
-						
-			if (amountDeleted > 0) {
-				// deletion
-				fInputBuffer.replace(bufferModifyOffset, bufferModifyOffsetEnd, text);
-				// replace the last partition
-				InputPartition partition = new InputPartition(IDebugUIConstants.ID_STANDARD_INPUT_STREAM, bufferStartOffset, fInputBuffer.length());
-				fPartitions.set(fPartitions.size() - 1, partition);
-			} else {
-				// insert/replace - must process entire buffer in case of
-				// line delimiter insertion in middle of buffer
-				
-				// parse for line delimiters (indicate chunks to write to standard in)
-				String[] lineDelimiters= getLegalLineDelimiters();
-				StringBuffer temp =new StringBuffer(fInputBuffer.toString());
-				temp.replace(bufferModifyOffset, bufferModifyOffsetEnd, text); 
-				String remaining = temp.toString();
-				int partitionOffset = bufferStartOffset;
-				fInputBuffer.setLength(0);
-				boolean includesLF = false;
-				// line delimiters are sorted by length (compare longest ones first)
-				for (int i= lineDelimiters.length - 1; i >= 0; i--) {
-					int lf = remaining.indexOf(lineDelimiters[i]);
-					while (lf >= 0) {
-						includesLF = true;
-						int split = lf + lineDelimiters[i].length();
-						fInputBuffer.append(remaining.substring(0, split));
-						remaining = remaining.substring(split);
-						String buffer = fInputBuffer.toString();
-						fInputBuffer.setLength(0);
-						InputPartition written = (InputPartition)addPartition(new InputPartition(IDebugUIConstants.ID_STANDARD_INPUT_STREAM, partitionOffset, split));
-						written.setReadOnly(true);
-						partitionOffset += split;
-						addPartition(new InputPartition(IDebugUIConstants.ID_STANDARD_INPUT_STREAM, partitionOffset, 0));
-						if (fProxy != null) {
-							try {
-								fProxy.write(buffer);
-							} catch (IOException ioe) {
-								DebugUIPlugin.log(ioe);
-							}
-						}
-						lf = remaining.indexOf(lineDelimiters[i]);
-					}
-					if (includesLF) {
-						break;
-					}
-				}	
-				if (remaining.length() > 0) {
-					fInputBuffer.append(remaining);
-					addPartition(new InputPartition(IDebugUIConstants.ID_STANDARD_INPUT_STREAM, partitionOffset, remaining.length()));
-				}
-			}
-		}
-		ITypedRegion[] affectedRegions = computePartitioning(event.getOffset(), text.length());
-		if (affectedRegions.length == 0) {
-			return null;
-		}
-		if (affectedRegions.length == 1) {
-			return affectedRegions[0];
-		}
-		int affectedLength = affectedRegions[0].getLength();
-		for (int i = 1; i < affectedRegions.length; i++) {
-			ITypedRegion region = affectedRegions[i];
-			affectedLength += region.getLength();
-		}
-		return new Region(affectedRegions[0].getOffset(), affectedLength);
-	}
-
-	/**
-	 * Adds a new colored input partition, combining with the previous partition if
-	 * possible.
-	 */
-	protected StreamPartition addPartition(StreamPartition partition) {
-		if (fPartitions.isEmpty()) {
-			fPartitions.add(partition);
-		} else {
-			int index = fPartitions.size() - 1;
-			StreamPartition last = (StreamPartition)fPartitions.get(index);
-			if (last.canBeCombinedWith(partition)) {
-				// replace with a single partition
-				partition = last.combineWith(partition);
-				fPartitions.set(index, partition);
-			} else {
-				// different kinds - add a new parition
-				fPartitions.add(partition);
-			}
-		}
-		return partition;
-	}	
-	
-	/**
-	 * Add any pending links to the document that are now within the document's
-	 * bounds.
-	 */
-	protected void addPendingLinks() {
-		synchronized (fPendingLinks) {
-			if (fPendingLinks.isEmpty()) {
-				return;
-			}
-			Iterator links = fPendingLinks.iterator();
-			while (links.hasNext()) {
-				HyperlinkPosition link = (HyperlinkPosition)links.next();
-				if ((link.getOffset() + link.getLength()) <= fDocument.getLength()) {
-					links.remove();
-					addLink(link.getHyperLink(), link.getOffset(), link.getLength());
-				}
-			}
-		}
-	}
-	
-	public ConsoleDocumentPartitioner(IProcess process, IConsoleColorProvider colorProvider) {
-		fProcess= process;
-		fColorProvider = colorProvider;
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		boolean limit = store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT);
-		if (limit) {
-			fLowWaterMark = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
-			fHighWaterMark = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK);
-			fMaxAppendSize = fLowWaterMark;
-		} else {
-			fLowWaterMark = -1;
-			fHighWaterMark = -1;
-			fMaxAppendSize = 80000;
-		}
-	}
-	
-	/**
-	 * Stops reading/polling immediately
-	 */
-	public synchronized void kill() {
-		if (!fKilled) {
-			fKilled = true;
-			if (fPollingThread != null && fPollingThread.isAlive()) {
-				fPollingThread.interrupt();
-			}
-			fPoll = false;
-			Iterator iter = fStreamListeners.iterator();
-			while (iter.hasNext()) {
-				StreamListener listener = (StreamListener)iter.next();
-				listener.disconnect();
-			}
-			DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		}
-	}
-
-	public synchronized void startReading() {
-		if (fPollingThread != null) {
-			// already polling
-			return;
-		}
-		Runnable r = new Runnable() {
-			public void run() {
-				pollAndSleep();
-			}
-		};
-		fPoll = true;
-		fPollingThread = new Thread(r, "Console Polling Thread"); //$NON-NLS-1$
-		fPollingThread.start();
-	}
-	
-	/**
-	 * Polls and sleeps until closed or the associated
-	 * process terminates
-	 */
-	protected void pollAndSleep() {
-		while (!fKilled && fPoll && (!isClosed() || !fQueue.isEmpty())) {
-			poll();
-			try {
-				Thread.sleep(BASE_DELAY);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-	/**
-	 * Polls the queue for new output and updates this document
-	 */
-	protected void poll() {
-		if (isAppendInProgress()) {
-			return;
-		}
-		synchronized(fQueue) {
-			StringBuffer buffer = null;
-			StreamEntry prev = null;
-			int processed = 0;
-			int amount = 0;
-			String[] lds = fDocument.getLegalLineDelimiters();
-			boolean closed= false;
-			while (!fKilled && !closed && processed < fQueue.size() && amount < fMaxAppendSize) {
-				StreamEntry entry = (StreamEntry)fQueue.get(processed);
-				if (entry.isClosedEntry()) {
-					closed = true;
-					processed++;
-				} else if (prev == null || prev.getStreamIdentifier().equals(entry.getStreamIdentifier())) {
-					String text = entry.getText();
-					if (buffer == null) {
-						buffer = new StringBuffer(text.length());
-					}
-					if (isWrap()) {
-						for (int i = 0; i < text.length(); i++) {
-							if (fLineLength >= fMaxLineLength) {
-								String d = getLineDelimiter(text, i, lds);
-								if (d == null) {
-									buffer.append(lds[0]);
-								} else {
-									buffer.append(d);
-									i = i + d.length();
-								}
-								fLineLength = 0;
-							}			
-							if (i < text.length()) {										
-								String lineDelimiter = getLineDelimiter(text, i, lds);				
-								if (lineDelimiter == null) { 
-									buffer.append(text.charAt(i));
-									fLineLength++;
-								} else {
-									buffer.append(lineDelimiter);
-									fLineLength = 0;
-									i = i + lineDelimiter.length() - 1;
-								}
-							}
-						} 
-					} else {
-						buffer.append(text);
-					}
-					prev = entry;
-					processed++;
-					amount+= entry.getText().length();
-				} else {
-					// change streams - write the contents of the current stream
-					// and start processing the next stream
-					if (buffer != null) {
-						appendToDocument(buffer.toString(), prev.getStreamIdentifier());
-						buffer.setLength(0);
-						prev = null;
-					}
-				}
-			}
-			if (buffer != null) {
-				appendToDocument(buffer.toString(), prev.getStreamIdentifier());
-			}
-			if (closed) {
-				Display display= DebugUIPlugin.getStandardDisplay(); 
-				if (display != null) {
-					display.asyncExec(new Runnable() {
-						public void run() {
-							if (fLineNotifier != null) {
-								fLineNotifier.streamsClosed();
-							}
-						}
-					});
-				}
-			}
-			for (int i = 0; i < processed; i++) {
-				fQueue.remove(0);
-			}
-		}
-	}
-
-	/**
-	 * Returns the longest line delimiter at the given position in the given text,
-	 * or <code>null</code> if none.
-	 * 
-	 * @param text the text in which to look for a line delimiter
-	 * @param pos the position at which to look for a line delimiter
-	 * @param lineDelimiters the line delimiters to look for
-	 */
-	protected String getLineDelimiter(String text, int pos, String[] lineDelimiters) {
-		String ld = null;
-		for (int i = 0; i < lineDelimiters.length; i++) {					
-			if (text.regionMatches(pos, lineDelimiters[i], 0, lineDelimiters[i].length())) {
-				if (ld == null) {
-					ld = lineDelimiters[i];
-				} else {
-					if (ld.length() < lineDelimiters[i].length()) {
-						ld = lineDelimiters[i];
-					}
-				}
-			}
-		}	
-		return ld;	
-	}
-	
-	/**
-	 * Returns whether this console document is performing auto-wrap
-	 */
-	protected boolean isWrap() {
-		return fWrap;
-	}
-	
-	/**
-	 * The stream with the given identifier has had text appended to it.
-	 * Adds the new text to the document.
-	 * 
-	 * @see IStreamListener#streamAppended(String, IStreamMonitor)
-	 */
-	protected void appendToDocument(final String text, final String streamIdentifier) {
-		Runnable r = new Runnable() {
-			public void run() {
-				setAppendInProgress(true);
-				fLastStreamIdentifier = streamIdentifier;
-				try {
-					fDocument.replace(fDocument.getLength(), 0, text);
-					warnOfContentChange();
-				} catch (BadLocationException e) {
-				}
-				setAppendInProgress(false);
-				checkOverflow();
-			}
-		};
-		Display display = DebugUIPlugin.getStandardDisplay();
-		if (display != null) {
-			display.asyncExec(r);
-		}
-	}
-	
-	/**
-	 * Checks to see if the console buffer has overflowed, and empties the
-	 * overflow if needed, updating partitions and hyperlink positions.
-	 */
-	protected void checkOverflow() {
-		if (fHighWaterMark >= 0) {
-			if (fDocument.getLength() > fHighWaterMark) {
-				int lineDifference = 0;
-				if (fLineNotifier != null) {
-					int processed = fLineNotifier.getLinesProcessed();
-					int numLines = fDocument.getNumberOfLines();
-					lineDifference = numLines - processed;
-				}
-				int overflow = fDocument.getLength() - fLowWaterMark; 
-				fUpdatingBuffer = true;
-				try {
-					// update partitions
-					List newParitions = new ArrayList(fPartitions.size());
-					Iterator partitions = fPartitions.iterator();
-					while (partitions.hasNext()) {
-						ITypedRegion region = (ITypedRegion)partitions.next();
-						if (region instanceof StreamPartition) {
-							StreamPartition streamPartition = (StreamPartition)region;
-							ITypedRegion newPartition = null;
-							int offset = region.getOffset();
-							if (offset < overflow) {
-								int endOffset = offset + region.getLength();
-								if (endOffset < overflow) {
-									// remove partition
-								} else {
-									// split partition
-									int length = endOffset - overflow;
-									newPartition = streamPartition.createNewPartition(streamPartition.getStreamIdentifier(), 0, length);
-								}
-							} else {
-								// modify parition offset
-								newPartition = streamPartition.createNewPartition(streamPartition.getStreamIdentifier(), streamPartition.getOffset() - overflow, streamPartition.getLength());
-							}
-							if (newPartition != null) {
-								newParitions.add(newPartition);
-							}
-						}
-					}
-					fPartitions = newParitions;
-					// update hyperlinks
-					try {
-						Position[] hyperlinks = fDocument.getPositions(HyperlinkPosition.HYPER_LINK_CATEGORY);
-						for (int i = 0; i < hyperlinks.length; i++) {
-							HyperlinkPosition position = (HyperlinkPosition)hyperlinks[i];
-							// remove old the position
-							fDocument.removePosition(HyperlinkPosition.HYPER_LINK_CATEGORY, position);
-							if (position.getOffset() >= overflow) {
-								// add new poisition
-								try {
-									fDocument.addPosition(HyperlinkPosition.HYPER_LINK_CATEGORY, new HyperlinkPosition(position.getHyperLink(), position.getOffset() - overflow, position.getLength()));
-								} catch (BadLocationException e) {
-								}
-							}
-						}
-					} catch (BadPositionCategoryException e) {
-					}
-					synchronized (fPendingLinks) {
-						// update pending hyperlinks
-						Vector newPendingLinks = new Vector(fPendingLinks.size());
-						Iterator pendingLinks = fPendingLinks.iterator();
-						while (pendingLinks.hasNext()) {
-							HyperlinkPosition position = (HyperlinkPosition)pendingLinks.next();
-							if (position.getOffset() >= overflow) {
-								newPendingLinks.add(new HyperlinkPosition(position.getHyperLink(), position.getOffset() - overflow, position.getLength()));
-							}
-						}
-						fPendingLinks = newPendingLinks;
-					}
-					
-					// remove overflow text
-					try {
-						fDocument.replace(0, overflow, ""); //$NON-NLS-1$
-					} catch (BadLocationException e) {
-						DebugUIPlugin.log(e);
-					}
-				} finally {
-					// update number of lines processed
-					if (fLineNotifier != null) {
-						fLineNotifier.setLinesProcessed(fDocument.getNumberOfLines() - lineDifference);
-					}
-					fUpdatingBuffer = false;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * The stream with the given identifier has had text appended to it.
-	 * Adds a new entry to the queue.
-	 */
-	protected void streamAppended(String text, String streamIdentifier) {
-		synchronized (fQueue) {
-			if (fClosed) {
-				// ERROR - attempt to append after console is closed
-				DebugUIPlugin.logErrorMessage("An attempt was made to append text to the console, after it was closed."); //$NON-NLS-1$
-			} else {
-				fQueue.add(new StreamEntry(text, streamIdentifier));
-			}
-		}
-	}
-	
-	/**
-	 * The streams associated with this process have been closed.
-	 * Adds a new "stream closed" entry to the queue.
-	 */
-	protected void streamsClosed() {
-		synchronized (fQueue) {
-			if (!fClosed) {
-				fQueue.add(new StreamsClosedEntry());
-				fClosed = true;
-			}
-		}
-	}	
-					
-	/**
-	 * Sets whether a runnable has been submitted to update the console
-	 * document.
-	 */
-	protected void setAppendInProgress(boolean appending) {
-		fAppending = appending;
-	}
-
-	/**
-	 * Returns whether a runnable has been submitted to update the console
-	 * document.
-	 */
-	protected boolean isAppendInProgress() {
-		return fAppending;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IDebugPreferenceConstants.CONSOLE_WRAP)) {
-			fWrap = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP);
-		} else if (event.getProperty().equals(IDebugPreferenceConstants.CONSOLE_WIDTH)) {
-			fMaxLineLength = DebugUIPlugin.getDefault().getPreferenceStore().getInt(IDebugPreferenceConstants.CONSOLE_WIDTH);
-		}
-	}
-	
-	/**
-	 * Returns a collection of legal line delimiters for this partitioner's
-	 * associated document, sorted by length in descending order.
-	 */
-	protected String[] getLegalLineDelimiters() {
-		if (fSortedLineDelimiters == null) {
-			String[] lineDelimiters = fDocument.getLegalLineDelimiters();
-			List list = new ArrayList(lineDelimiters.length);
-			for (int i = 0; i < lineDelimiters.length; i++) {
-				list.add(lineDelimiters[i]);
-			}
-			Comparator comparator = new Comparator() {
-				/**
-				 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-				 */
-				public int compare(Object a, Object b) {
-					String s1 = (String)a;
-					String s2 = (String)b;
-					return s2.length() - s1.length();
-				}
-	
-			};
-			Collections.sort(list, comparator);		
-			fSortedLineDelimiters = (String[])list.toArray(new String[lineDelimiters.length]);
-		}
-		return fSortedLineDelimiters;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamMonitor, java.lang.String)
-	 */
-	public void connect(IStreamMonitor streamMonitor, String streamIdentifer) {
-		if (streamMonitor != null) {
-			StreamListener listener = new StreamListener(streamIdentifer, streamMonitor);
-			fStreamListeners.add(listener);
-			listener.connect();
-			// ensure we start polling for output
-			startReading();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamsProxy)
-	 */
-	public void connect(IStreamsProxy streamsProxy) {
-		fProxy = streamsProxy;
-		connect(streamsProxy.getOutputStreamMonitor(), IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM);
-		connect(streamsProxy.getErrorStreamMonitor(), IDebugUIConstants.ID_STANDARD_ERROR_STREAM);
-	}
-	
-	/**
-	 * Returns whether the streams assocaited with this console's process
-	 * have been closed.
-	 */
-	protected boolean isClosed() {
-		return fClosed;
-	}
-
-	protected IConsoleColorProvider getColorProvider() {
-		return fColorProvider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.debug.ui.console.IConsoleHyperlink, int, int)
-	 */
-	public void addLink(IConsoleHyperlink link, int offset, int length) {
-		HyperlinkPosition hyperlinkPosition = new HyperlinkPosition(link, offset, length); 
-		try {
-			fDocument.addPosition(HyperlinkPosition.HYPER_LINK_CATEGORY, hyperlinkPosition);
-		} catch (BadPositionCategoryException e) {
-			// internal error
-			DebugUIPlugin.log(e);
-		} catch (BadLocationException e) {
-			// queue the link
-			fPendingLinks.add(hyperlinkPosition);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#getDocument()
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#getProcess()
-	 */
-	public IProcess getProcess() {
-		return fProcess;
-	}
-	
-	/**
-	 * Connects the given line notifier to this console document partitioner
-	 * 
-	 * @param lineNotifier
-	 */
-	public void connectLineNotifier(ConsoleLineNotifier lineNotifier) {
-		fLineNotifier = lineNotifier;
-		lineNotifier.connect(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsole#getRegion(org.eclipse.debug.ui.console.IConsoleHyperlink)
-	 */
-	public IRegion getRegion(IConsoleHyperlink link) {
-		try {
-			Position[] positions = getDocument().getPositions(HyperlinkPosition.HYPER_LINK_CATEGORY);
-			for (int i = 0; i < positions.length; i++) {
-				HyperlinkPosition position = (HyperlinkPosition)positions[i];
-				if (position.getHyperLink().equals(link)) {
-					return new Region(position.getOffset(), position.getLength());
-				}
-			}
-		} catch (BadPositionCategoryException e) {
-		}
-		return null;
-	}
-	/* (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 && event.getSource().equals(getProcess())) {
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-				streamsClosed();
-			}
-		}
-
-	}
-
-	private void warnOfContentChange() {
-		ConsolePlugin.getDefault().getConsoleManager().warnOfContentChange(DebugUITools.getConsole(fProcess));
-	}
-
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentProvider.java
deleted file mode 100644
index d756035..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleDocumentProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.console.ConsoleColorProvider;
-import org.eclipse.debug.ui.console.IConsoleColorProvider;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-
-import org.eclipse.ui.texteditor.AbstractDocumentProvider;
-
-/**
- * Default document provider for the processes. By default a document is created
- * which is connected to the streams proxy of the associated process.
- */
-public class ConsoleDocumentProvider extends AbstractDocumentProvider {
-	
-	/** 
-	 * The runnable context for that provider.
-	 * @since 3.0
-	 */
-	private WorkspaceOperationRunner fOperationRunner;
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createDocument(java.lang.Object)
-	 */
-	protected IDocument createDocument(Object element) {
-		if (element instanceof IProcess) {
-			IProcess process = (IProcess)element;
-			IConsoleColorProvider colorProvider = getColorProvider(process);
-			ConsoleDocument doc= new ConsoleDocument(colorProvider);
-			ConsoleDocumentPartitioner partitioner = new ConsoleDocumentPartitioner(process, colorProvider);
-			ConsoleLineNotifier lineNotifier = getLineNotifier(process);
-			partitioner.connect(doc);
-			if (lineNotifier != null) {
-				partitioner.connectLineNotifier(lineNotifier);
-			}
-			return doc;
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createAnnotationModel(java.lang.Object)
-	 */
-	protected IAnnotationModel createAnnotationModel(Object element) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#doSaveDocument(org.eclipse.core.runtime.IProgressMonitor, java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
-	 */
-	protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#disposeElementInfo(java.lang.Object, org.eclipse.ui.texteditor.AbstractDocumentProvider.ElementInfo)
-	 */
-	protected void disposeElementInfo(Object element, ElementInfo info) {
-		ConsoleDocument document = (ConsoleDocument)info.fDocument; 
-		document.getDocumentPartitioner().disconnect();
-		super.disposeElementInfo(element, info);
-	}
-
-	/**
-	 * Returns a color provider for the given process.
-	 *  
-	 * @param process
-	 * @return IConsoleColorProvider
-	 */
-	protected IConsoleColorProvider getColorProvider(IProcess process) {
-		String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE);
-		IConsoleColorProvider colorProvider = null;
-		if (type != null) {
-			colorProvider = getConsoleDocumentManager().getColorProvider(type);
-		}
-		if (colorProvider == null) {
-			colorProvider = new ConsoleColorProvider();
-		}
-		return colorProvider;
-	}
-	
-	/**
-	 * Returns the line notifier for this console, or <code>null</code> if none.
-	 * 
-	 * @param process
-	 * @return line notifier, or <code>null</code>
-	 */
-	protected ConsoleLineNotifier getLineNotifier(IProcess process) {
-		String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE);
-		if (type != null) {
-			return getConsoleDocumentManager().newLineNotifier(type);
-		}
-		return null;
-	}
-	
-	/**
-	 * Convenience accessor
-	 * 
-	 * @return ConsoleDocumentManager
-	 */
-	private ConsoleDocumentManager getConsoleDocumentManager() {
-		return DebugUIPlugin.getDefault().getConsoleDocumentManager();
-	}
-	
-	/*
-	 * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#getOperationRunner(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IRunnableContext getOperationRunner(IProgressMonitor monitor) {
-		if (fOperationRunner == null)
-			fOperationRunner = new WorkspaceOperationRunner();
-		fOperationRunner.setProgressMonitor(monitor);
-		return fOperationRunner;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
deleted file mode 100644
index e7757f5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleLineNotifier.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.debug.ui.console.IConsoleLineTrackerExtension;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.ListenerList;
-
-/**
- * Tracks text appended to the console and notifies listeners in terms of whole
- * lines.
- */
-public class ConsoleLineNotifier {
-	
-	/**
-	 * Number of lines processed in the console
-	 */
-	private int fLinesProcessed = 0;
-	
-	private boolean fClosed = false;
-	
-	/**
-	 * Console listeners
-	 */
-	private ListenerList fListeners = new ListenerList(2);
-
-	/**
-	 * The console this notifier is tracking 
-	 */
-	private IConsole fConsole = null;
-	
-	/**
-	 * Connects this notifier to the given console.
-	 *  
-	 * @param console
-	 */
-	public void connect(IConsole console) {
-		fConsole = console;
-		Object[] listeners = fListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IConsoleLineTracker listener = (IConsoleLineTracker)listeners[i];
-			listener.init(console);
-		}
-	}
-	
-	/**
-	 * Disposes this notifier 
-	 */
-	public void disconnect() {
-		synchronized (this) {
-			Object[] listeners = fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				IConsoleLineTracker listener = (IConsoleLineTracker)listeners[i];
-				listener.dispose();
-			}
-			fListeners = null;
-			fConsole = null;
-		}
-	}
-	
-	/**
-	 * Notification the console has changed based on the given event
-	 */
-	public void consoleChanged(DocumentEvent event) {
-		processNewLines();
-	}
-	
-	/**
-	 * Notification the console's streams have been closed
-	 */
-	public void streamsClosed() {
-		synchronized (this) {
-			if (fConsole == null) {
-				// already disconnected
-				return;
-			}
-			fClosed = true;	
-			processNewLines();		
-			Object[] listeners= fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				Object obj = listeners[i];
-				if (obj instanceof IConsoleLineTrackerExtension) {
-					((IConsoleLineTrackerExtension)obj).consoleClosed();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Notifies listeners of any new lines appended to the console.
-	 */
-	protected synchronized void processNewLines() {
-		IDocument document = fConsole.getDocument();
-		int lines = document.getNumberOfLines();
-		Object[] listeners = fListeners.getListeners();
-		for (int line = fLinesProcessed; line < lines; line++) {
-			String delimiter = null;
-			try {
-				delimiter = document.getLineDelimiter(line);
-			} catch (BadLocationException e) {
-				DebugUIPlugin.log(e);
-				return;
-			}
-			if (delimiter == null && !fClosed) {
-				// line not complete yet
-				return;
-			}
-			fLinesProcessed++;
-			IRegion lineRegion = null;
-			try {
-				lineRegion = document.getLineInformation(line);
-			} catch (BadLocationException e) {
-				DebugUIPlugin.log(e);
-				return;
-			}
-			for (int i = 0; i < listeners.length; i++) {
-				IConsoleLineTracker listener = (IConsoleLineTracker)listeners[i];
-				listener.lineAppended(lineRegion);
-			}
-		}		
-	}
-	
-	/**
-	 * Adds the given listener to the list of listeners notified when a line of
-	 * text is appended to the console.
-	 * 
-	 * @param listener
-	 */
-	public void addConsoleListener(IConsoleLineTracker listener) {
-		fListeners.add(listener);
-	}
-	
-	protected void setLinesProcessed(int linesProcessed) {
-		fLinesProcessed = linesProcessed;
-	}
-
-	protected int getLinesProcessed() {
-		return fLinesProcessed;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
deleted file mode 100644
index 3250d35..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * ConsoleMessages
- */
-public class ConsoleMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.console.ConsoleMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ConsoleMessages() {
-	}
-	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties
deleted file mode 100644
index d6d5d3a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ConsoleDocumentManager.1=Invalid extension {0} - class must be an instance of IConsoleColorProvider.
-ConsoleDocumentManager.2=Invalid extension {0} - class must be an instance of IConsoleLineTracker
-
-ConsoleRemoveAllTerminatedAction.0=&Remove All Terminated
-ConsoleRemoveAllTerminatedAction.1=Remove All Terminated Launches
-
-ConsoleTerminateAction.0=&Terminate
-ConsoleTerminateAction.1=Terminate
-
-ProcessConsole.0=<terminated> {0}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
deleted file mode 100644
index c98fb89..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleOutputTextStore.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.jface.text.ITextStore;
-
-public class ConsoleOutputTextStore implements ITextStore {
-
-	private StringBuffer fBuffer;
-
-	public ConsoleOutputTextStore(int bufferSize) {
-		fBuffer= new StringBuffer(bufferSize);
-	}
-
-	/**
-	 * @see ITextStore#get(int)
-	 */
-	public char get(int pos) {
-		return fBuffer.charAt(pos);
-	}
-
-	/**
-	 * @see ITextStore#get(int, int)
-	 */
-	public String get(int pos, int length) {
-		return fBuffer.substring(pos, pos + length);
-	}
-
-	/**
-	 * @see ITextStore#getLength()
-	 */
-	 public int getLength() {
-		return fBuffer.length();
-	}
-
-	/**
-	 * @see ITextStore#replace(int, int, String)
-	 */
-	 public void replace(int pos, int length, String text) {
-		if (text == null) {
-			text= ""; //$NON-NLS-1$
-		}
-		fBuffer.replace(pos, pos + length, text);
-	}
-
-	/**
-	 * @see ITextStore#set(String)
-	 */
-	 public void set(String text) {
-		fBuffer= new StringBuffer(text);
-	}
-
-	/**
-	 * @see StringBuffer#ensureCapacity(int)
-	 */
-	public void setMinimalBufferSize(int bufferSize) {
-		fBuffer.ensureCapacity(bufferSize);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
deleted file mode 100644
index 2a8be5f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleRemoveAllTerminatedAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.RemoveAllTerminatedAction;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * ConsoleRemoveAllTerminatedAction
- */
-public class ConsoleRemoveAllTerminatedAction extends Action implements IUpdate, IDebugEventSetListener {
-
-	/* (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];
-			Object source = event.getSource();
-			if (event.getKind() == DebugEvent.TERMINATE && (source instanceof IDebugTarget || source instanceof IProcess)) {
-				DebugUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-					public void run() {
-						update();
-					}
-				});
-			}
-		}
-		
-	}
-
-	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			if (launch.isTerminated()) {
-				setEnabled(true);
-				return;
-			}
-		}
-		setEnabled(false);
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-		RemoveAllTerminatedAction.removeTerminatedLaunches(launches);
-	}
-	
-	public ConsoleRemoveAllTerminatedAction() {
-		super(ConsoleMessages.getString("ConsoleRemoveAllTerminatedAction.0")); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("ConsoleRemoveAllTerminatedAction.1")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_REMOVE_ALL));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_ALL));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_REMOVE_ALL));
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		update();
-	}	
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
deleted file mode 100644
index bf52be0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleTerminateAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * ConsoleTerminateAction
- */
-public class ConsoleTerminateAction extends Action implements IUpdate {
-
-	private ProcessConsole fConsole;
-
-	/**
-	 * Creates a terminate action for the console 
-	 */
-	public ConsoleTerminateAction(ProcessConsole console) {
-		super(ConsoleMessages.getString("ConsoleTerminateAction.0")); //$NON-NLS-1$
-		fConsole = console;
-		setToolTipText(ConsoleMessages.getString("ConsoleTerminateAction.1")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_TERMINATE));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_TERMINATE));
-		update();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		IProcess process = fConsole.getProcess(); 
-		setEnabled(process.canTerminate());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			fConsole.getProcess().terminate();
-		} catch (DebugException e) {
-			// TODO: report exception
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
deleted file mode 100644
index c0aabb5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleViewer.java
+++ /dev/null
@@ -1,490 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.console.IConsoleColorProvider;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-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.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.console.IConsoleConstants;
-
-public class ConsoleViewer extends TextViewer implements IPropertyChangeListener, MouseTrackListener, MouseMoveListener, MouseListener, PaintListener, LineStyleListener, Listener {
-	
-	/**
-	 * Hand cursor
-	 */
-	private Cursor fHandCursor;
-	
-	/**
-	 * Text cursor
-	 */
-	private Cursor fTextCursor;
-	
-	/**
-	 * The active hyperlink, or <code>null</code>
-	 */
-	private IConsoleHyperlink fHyperLink = null;
-		
-	protected InternalDocumentListener fInternalDocumentListener= new InternalDocumentListener();
-	
-	/**
-	 * Whether the console scrolls as output is appended.
-	 */
-	private boolean fAutoScroll = true;
-	
-	/**
-	 * Internal document listener.
-	 */
-	class InternalDocumentListener implements IDocumentListener {
-		/**
-		 * @see IDocumentListener#documentAboutToBeChanged(DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent e) {
-		}
-		
-		/**
-		 * @see IDocumentListener#documentChanged(DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent e) {
-			ConsoleDocument doc= (ConsoleDocument)getDocument();
-			if (doc == null) {
-				getTextWidget().setEditable(false);
-				return;
-			}
-			getTextWidget().setEditable(!doc.isReadOnly());
-			revealEndOfDocument();
-		}
-	}
-	
-	/**
-	 * Creates a new console viewer and adds verification checking
-	 * to only allow text modification if the text is being modified
-	 * in the editable portion of the underlying document.
-	 *
-	 * @see org.eclipse.swt.events.VerifyListener
-	 */	
-	public ConsoleViewer(Composite parent) {
-		super(parent, getSWTStyles());
-		
-		getTextWidget().setDoubleClickEnabled(true);
-		
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		JFaceResources.getFontRegistry().addListener(this);
-
-		getTextWidget().setFont(JFaceResources.getFont(IConsoleConstants.CONSOLE_FONT));
-		getTextWidget().addMouseTrackListener(this);
-		getTextWidget().addPaintListener(this);
-		getTextWidget().addLineStyleListener(this);
-		getTextWidget().addListener(SWT.KeyUp, this);
-		getTextWidget().setTabs(DebugUIPlugin.getDefault().getPluginPreferences().getInt(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH));
-	}
-	
-	/**
-	 * Returns the SWT style flags used when instantiating this viewer
-	 */
-	private static int getSWTStyles() {
-		int styles= SWT.H_SCROLL | SWT.V_SCROLL;
-		return styles;
-	}
-
-	/**
-	 * Reveals (makes visible) the end of the current document
-	 */
-	protected void revealEndOfDocument() {
-		if (isAutoScroll()) {
-			IDocument doc = getDocument();
-			int lines = doc.getNumberOfLines();
-			try {
-				// lines are 0-based
-				int lineStartOffset = doc.getLineOffset(lines - 1);
-				StyledText widget= getTextWidget();
-				if (lineStartOffset > 0) {
-					widget.setCaretOffset(lineStartOffset);
-					widget.showSelection();
-				}
-				int lineEndOffset = lineStartOffset + doc.getLineLength(lines - 1);
-				if (lineEndOffset > 0) {
-					widget.setCaretOffset(lineEndOffset);
-				}
-			} catch (BadLocationException e) {
-			}
-		}
-	}
-
-	/**
-	 * @see ITextViewer#setDocument(IDocument)
-	 */
-	public void setDocument(IDocument doc) {
-		IDocument oldDoc= getDocument();
-		IDocument document= doc;
-		if (oldDoc == null && document == null) {
-			return;
-		}
-		if (oldDoc != null) {
-			oldDoc.removeDocumentListener(fInternalDocumentListener);
-			if (oldDoc.equals(document)) {
-				document.addDocumentListener(fInternalDocumentListener);
-				return;
-			}
-		}
-
-		super.setDocument(document);
-		if (document != null) {
-			revealEndOfDocument();
-			document.addDocumentListener(fInternalDocumentListener);
-		}
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String propertyName= event.getProperty();
-		if (propertyName.equals(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR) ||
-			propertyName.equals(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR) ||
-			propertyName.equals(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR)) {
-				getTextWidget().redraw();
-		} else if (propertyName.equals(IConsoleConstants.CONSOLE_FONT)) {
-			getTextWidget().setFont(JFaceResources.getFont(IConsoleConstants.CONSOLE_FONT));
-		} else if (propertyName.equals(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH)) {
-			getTextWidget().setTabs(DebugUIPlugin.getDefault().getPluginPreferences().getInt(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH));
-		} else if (propertyName.equals(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK)) {
-			setAutoScroll(!DebugUIPlugin.getDefault().getPluginPreferences().getBoolean(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK));
-		}
-	}
-	
-	/**
-	 * Dispose this viewer and resources
-	 */
-	public void dispose() {
-		Control control = getTextWidget();
-		if (control != null) {
-			control.removeMouseTrackListener(this);
-			control.removePaintListener(this);
-		}
-		if (fHandCursor != null) {
-			fHandCursor.dispose();
-		}
-		if (fTextCursor != null) {
-			fTextCursor.dispose();
-		}
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		JFaceResources.getFontRegistry().removeListener(this);
-	}
-	
-	/**
-	 * Only allow text to be typed at the end of the document.
-	 * 
-	 * @see org.eclipse.swt.events.VerifyListener#verifyText(org.eclipse.swt.events.VerifyEvent)
-	 */
-	protected void handleVerifyEvent(VerifyEvent e) {
-		ConsoleDocument doc= (ConsoleDocument)getDocument();
-		if (doc != null) {
-			if (doc.isReadOnly()) {
-				e.doit = false;
-				return;
-			}
-			IDocumentPartitioner partitioner = doc.getDocumentPartitioner();
-			if (partitioner != null) {
-				int length = doc.getLength();
-				ITypedRegion[] partitions = partitioner.computePartitioning(length, 0);
-				if (partitions.length == 0) {
-				} else {
-					ITypedRegion partition = partitions[partitions.length - 1];
-					if (partition.getType().equals(InputPartition.INPUT_PARTITION_TYPE)) {
-						// > 1 char in the input buffer
-						e.doit = (e.start >= partition.getOffset()) && (e.end <= (partition.getLength() + partition.getOffset()));
-					} else {
-						// first character in the input buffer
-						e.doit = length == e.start;
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseEnter(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseEnter(MouseEvent e) {
-		getTextWidget().addMouseMoveListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseExit(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseExit(MouseEvent e) {
-		getTextWidget().removeMouseMoveListener(this);
-		if (fHyperLink != null) {
-			linkExited(fHyperLink);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseTrackListener#mouseHover(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseHover(MouseEvent e) {
-	}
-
-	/**
-	 * @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);	
-	}
-
-	public IConsoleHyperlink getHyperlink(int offset) {
-		if (offset >= 0 && getDocument() != null) {
-			Position[] positions = null;
-			try {
-				positions = getDocument().getPositions(HyperlinkPosition.HYPER_LINK_CATEGORY);
-			} catch (BadPositionCategoryException ex) {
-				// no links have been added
-				return null;
-			}
-			for (int i = 0; i < positions.length; i++) {
-				Position position = positions[i];
-				if (offset >= position.getOffset() && offset <= (position.getOffset() + position.getLength())) {
-					return ((HyperlinkPosition)position).getHyperLink();
-				}
-			}
-		}
-		return null;
-	}
-
-	protected void linkEntered(IConsoleHyperlink link) {
-		Control control = getTextWidget();
-		control.setRedraw(false);
-		if (fHyperLink != null) {
-			linkExited(fHyperLink);
-		}
-		fHyperLink = link;
-		fHyperLink.linkEntered();
-		control.setCursor(getHandCursor());
-		control.setRedraw(true);
-		control.redraw();
-		control.addMouseListener(this);
-	}
-	
-	protected void linkExited(IConsoleHyperlink link) {
-		link.linkExited();
-		fHyperLink = null;
-		Control control = getTextWidget();
-		control.setCursor(getTextCursor());
-		control.redraw();
-		control.removeMouseListener(this);
-	}
-	/**
-	 * @see org.eclipse.swt.events.PaintListener#paintControl(org.eclipse.swt.events.PaintEvent)
-	 */
-	public void paintControl(PaintEvent e) {
-		if (fHyperLink != null) {
-			IDocument doc = getDocument();
-			if (doc == null) {
-				return;
-			}
-			ConsoleDocumentPartitioner partitioner = (ConsoleDocumentPartitioner)doc.getDocumentPartitioner();
-			if (partitioner == null) {
-				return;
-			}
-			IRegion linkRegion = partitioner.getRegion(fHyperLink);
-			if (linkRegion != null) {
-				int start = linkRegion.getOffset();
-				int end = start + linkRegion.getLength();
-				IConsoleColorProvider colorProvider = partitioner.getColorProvider();
-				try {
-					ITypedRegion partition = doc.getPartition(start);
-					Color fontColor = e.gc.getForeground();
-					if (partition instanceof StreamPartition) {
-						StreamPartition streamPartition = (StreamPartition)partition;
-						fontColor = colorProvider.getColor(streamPartition.getStreamIdentifier());
-					}
-					int startLine = doc.getLineOfOffset(start);
-					int endLine = doc.getLineOfOffset(end);
-					for (int i = startLine; i <= endLine; i++) {
-						IRegion lineRegion = doc.getLineInformation(i);
-						int lineStart = lineRegion.getOffset();
-						int lineEnd = lineStart + lineRegion.getLength();
-						Color color = e.gc.getForeground();
-						e.gc.setForeground(fontColor);
-						if (lineStart < end) {
-							lineStart = Math.max(start, lineStart);
-							lineEnd = Math.min(end, lineEnd);
-							Point p1 = getTextWidget().getLocationAtOffset(lineStart);
-							Point p2 = getTextWidget().getLocationAtOffset(lineEnd);
-							FontMetrics metrics = e.gc.getFontMetrics();
-							int height = metrics.getHeight();
-							e.gc.drawLine(p1.x, p1.y + height, p2.x, p2.y + height);
-						}
-						e.gc.setForeground(color);
-					}
-				} catch (BadLocationException ex) {
-				}
-			}
-		}
-	}
-	
-	protected Cursor getHandCursor() {
-		if (fHandCursor == null) {
-			fHandCursor = new Cursor(DebugUIPlugin.getStandardDisplay(), SWT.CURSOR_HAND);
-		}
-		return fHandCursor;
-	}
-	
-	protected Cursor getTextCursor() {
-		if (fTextCursor == null) {
-			fTextCursor = new Cursor(DebugUIPlugin.getStandardDisplay(), SWT.CURSOR_IBEAM);
-		}
-		return fTextCursor;
-	}	
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseDoubleClick(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseDown(MouseEvent e) {
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
-	 */
-	public void mouseUp(MouseEvent e) {
-		if (fHyperLink != null) {
-			String selection = getTextWidget().getSelectionText();
-			if (selection.length() <= 0) {
-				if (e.button == 1) {
-					fHyperLink.linkActivated();
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.swt.custom.LineStyleListener#lineGetStyle(org.eclipse.swt.custom.LineStyleEvent)
-	 */
-	public void lineGetStyle(LineStyleEvent event) {
-		IDocument document = getDocument();
-		if (document != null) {
-			ConsoleDocumentPartitioner partitioner = (ConsoleDocumentPartitioner)document.getDocumentPartitioner();
-			if (partitioner != null) {
-				IConsoleColorProvider colorProvider = partitioner.getColorProvider();
-				ITypedRegion[] regions = partitioner.computePartitioning(event.lineOffset, event.lineOffset + event.lineText.length());
-				StyleRange[] styles = new StyleRange[regions.length];
-				for (int i = 0; i < regions.length; i++) {
-					StreamPartition partition = (StreamPartition)regions[i];
-					Color color = colorProvider.getColor(partition.getStreamIdentifier());
-					styles[i] = new StyleRange(partition.getOffset(), partition.getLength(), color, null);
-				}	
-				event.styles = styles;
-			}
-		}
-	}
-	
-	/**
-	 * Sets whether this viewer should auto-scroll as output is appended to the
-	 * document.
-	 * 
-	 * @param scroll
-	 */
-	public void setAutoScroll(boolean scroll) {
-		fAutoScroll = scroll;
-	}
-	
-	/**
-	 * Returns whether this viewer should auto-scroll as output is appended to
-	 * the document.
-	 */
-	public boolean isAutoScroll() {
-		return fAutoScroll;
-	}	
-
-	/**
-	 * On KeyUp events, see if we need to enter/exit a link.
-	 * 
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void handleEvent(Event event) {
-		int offset = getTextWidget().getCaretOffset();
-		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) {
-			IConsoleHyperlink link = getHyperlink(offset);
-			if (link != null) {
-				if (link.equals(fHyperLink)) {
-					return;
-				} else {
-					linkEntered(link);
-					return;
-				}
-			}
-		}
-		if (fHyperLink != null) {
-			linkExited(fHyperLink);
-		}		
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/HyperlinkPosition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/HyperlinkPosition.java
deleted file mode 100644
index 1d2dce4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/HyperlinkPosition.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.console.IConsoleHyperlink;
-import org.eclipse.jface.text.Position;
-
-/**
- */
-public class HyperlinkPosition extends Position {
-	
-	public static final String HYPER_LINK_CATEGORY = DebugUIPlugin.getUniqueIdentifier() + ".HYPER_LINK"; //$NON-NLS-1$
-	
-	private IConsoleHyperlink fLink = null;
-
-	/**
-	 * 
-	 */
-	public HyperlinkPosition(IConsoleHyperlink link, int offset, int length) {
-		super(offset, length);
-		fLink = link;
-	}
-	
-	public IConsoleHyperlink getHyperLink() {
-		return fLink;
-	}
-
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object arg) {
-		return arg instanceof HyperlinkPosition && super.equals(arg) && getHyperLink().equals(((HyperlinkPosition)arg).getHyperLink());
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + getHyperLink().hashCode();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/InputPartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/InputPartition.java
deleted file mode 100644
index 3d6f8f0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/InputPartition.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * A partition in a console document that contains input from the keyboard.
- */
-public class InputPartition extends StreamPartition {
-	
-	/**
-	 * Once an input partition has been written to standard-in, it cannot
-	 * be modified.
-	 */
-	private boolean fReadOnly = false;
-
-	/**
-	 * Partition type
-	 */
-	public static final String INPUT_PARTITION_TYPE = DebugUIPlugin.getUniqueIdentifier() + ".INPUT_PARTITION_TYPE"; //$NON-NLS-1$
-	
-	
-	public InputPartition(String streamIdentifier, int offset, int length) {
-		super(streamIdentifier, offset, length, INPUT_PARTITION_TYPE);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.console.StreamPartition#createNewPartition(String, int, int)
-	 */
-	public StreamPartition createNewPartition(String streamIdentifier, int offset, int length) {
-		return new InputPartition(streamIdentifier, offset, length);
-	}	
-	
-	/**
-	 * Sets whether this partition is read-only.
-	 * 
-	 * @param readOnly whether this partition is read-only
-	 */
-	public void setReadOnly(boolean readOnly) {
-		fReadOnly = readOnly; 
-	}
-	
-	/**
-	 * Returns whether this partition is read-only.
-	 * 
-	 * @return whether this partition is read-only
-	 */
-	public boolean isReadOnly() {
-		return fReadOnly;
-	}
-	
-	/**
-	 * Returns whether this partition is allowed to be combined with the
-	 * given partition. Once read-only, this partition cannot be combined.
-	 * 
-	 * @param partition
-	 * @return boolean
-	 */
-	public boolean canBeCombinedWith(StreamPartition partition) {
-		return (!isReadOnly() && super.canBeCombinedWith(partition));
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/OutputPartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/OutputPartition.java
deleted file mode 100644
index ed8ad1f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/OutputPartition.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-
-/**
- * A partition in a console document that contains output from a process.
- */
-public class OutputPartition extends StreamPartition {
-
-	/**
-	 * Partition type
-	 */
-	public static final String OUTPUT_PARTITION_TYPE = DebugUIPlugin.getUniqueIdentifier() + ".OUTPUT_PARTITION_TYPE"; //$NON-NLS-1$
-	
-	
-	public OutputPartition(String streamIdentifier, int offset, int length) {
-		super(streamIdentifier, offset, length, OUTPUT_PARTITION_TYPE);
-	}
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.console.StreamPartition#createNewPartition(String, int, int)
-	 */
-	public StreamPartition createNewPartition(String streamIdetifier, int offset, int length) {
-		return new OutputPartition(streamIdetifier, offset, length);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
deleted file mode 100644
index a4095ef..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.console.AbstractConsole;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console for a system process
- * <p>
- * Clients may instantiate this class. This class is not intended for
- * sub-classing.
- * </p>
- * @since 3.0
- */
-public class ProcessConsole extends AbstractConsole implements IDebugEventSetListener {
-	
-	private IProcess fProcess = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-	 */
-	public IPageBookViewPage createPage(IConsoleView view) {
-		return new ProcessConsolePage(view, this);
-	}
-
-	/**
-	 * Computes and returns the image descriptor for this console.
-	 * 
-	 * @return an image descriptor for this console or <code>null</code>
-	 */
-	protected ImageDescriptor computeImageDescriptor() {
-		ILaunchConfiguration configuration = getProcess().getLaunch().getLaunchConfiguration();
-		if (configuration != null) {
-			ILaunchConfigurationType type;
-			try {
-				type = configuration.getType();
-				return DebugPluginImages.getImageDescriptor(type.getIdentifier());
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Computes and returns the current name of this console.
-	 * 
-	 * @return a name for this console
-	 */
-	protected String computeName() {	
-		String label = null;
-		IProcess process = getProcess();
-		ILaunchConfiguration config = process.getLaunch().getLaunchConfiguration();
-		
-		label = process.getAttribute(IProcess.ATTR_PROCESS_LABEL);
-		if (label == null) {
-			if (config == null) {
-				label = process.getLabel();
-			} else {
-				// check if PRIVATE config
-				if (DebugUITools.isPrivate(config)) {
-					label = process.getLabel();
-				} else {
-					String type = null;
-					try {
-						type = config.getType().getName();
-					} catch (CoreException e) {
-					}
-					StringBuffer buffer= new StringBuffer();
-					buffer.append(config.getName());
-					if (type != null) {
-						buffer.append(" ["); //$NON-NLS-1$
-						buffer.append(type);
-						buffer.append("] "); //$NON-NLS-1$
-					}
-					buffer.append(process.getLabel());
-					label = buffer.toString();
-				}
-			}
-		}
-		
-		if (process.isTerminated()) {
-			return MessageFormat.format(ConsoleMessages.getString("ProcessConsole.0"), new String[]{label}); //$NON-NLS-1$
-		} else {
-			return label;
-		}
-	}
-
-	/**
-	 * Proxy to a console document
-	 */
-	public ProcessConsole(IProcess process) {
-		super("", null); //$NON-NLS-1$
-		fProcess = process;
-		setName(computeName());
-		setImageDescriptor(computeImageDescriptor());
-	}
-			
-	/**
-	 * Returns the process associated with this console.
-	 * 
-	 * @return the process associated with this console
-	 */
-	public IProcess getProcess() {
-		return fProcess;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.AbstractConsole#dispose()
-	 */
-	protected void dispose() {
-		super.dispose();
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.AbstractConsole#init()
-	 */
-	protected void init() {
-		super.init();
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * Notify listeners when name changes.
-	 * 
-	 * @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().equals(getProcess())) {
-				Runnable r = new Runnable() {
-					public void run() {
-						setName(computeName());
-						warnOfContentChange();
-					}
-				};	
-				DebugUIPlugin.getStandardDisplay().asyncExec(r);
-			}
-		}
-	}
-	
-	private void warnOfContentChange() {
-		ConsolePlugin.getDefault().getConsoleManager().warnOfContentChange(DebugUITools.getConsole(fProcess));
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePage.java
deleted file mode 100644
index de42537..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsolePage.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ResourceBundle;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.FollowHyperlinkAction;
-import org.eclipse.debug.internal.ui.actions.KeyBindingFollowHyperlinkAction;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-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.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextListener;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.TextEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-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.ISelectionListener;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.actions.ClearOutputAction;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.console.actions.TextViewerGotoLineAction;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A page for a console connected to I/O streams of a process
- * 
- * @since 3.0
- */
-public class ProcessConsolePage implements IPageBookViewPage, ISelectionListener, IAdaptable, IShowInSource, IShowInTargetList, IDebugEventSetListener, ITextListener {
-
-	//page site
-	private IPageSite fSite = null;
-	
-	// viewer
-	private ConsoleViewer fViewer = null;
-
-	// the view this page is contained in
-	private IConsoleView fView;
-	
-	// the console this page displays
-	private ProcessConsole fConsole;
-	
-	// scroll lock
-	private boolean fIsLocked = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK);
-	
-	// text selection listener
-	private ISelectionChangedListener fTextListener =  new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			updateSelectionDependentActions();
-		}};
-
-	// actions
-	private ClearOutputAction fClearOutputAction;
-	private Map fGlobalActions= new HashMap(10);
-	protected List fSelectionActions = new ArrayList(3);
-	private FollowHyperlinkAction fFollowLinkAction;
-	private ScrollLockAction fScrollLockAction;
-	private ConsoleTerminateAction fTerminate;
-	private ConsoleRemoveAllTerminatedAction fRemoveTerminated;
-	private KeyBindingFollowHyperlinkAction fKeyBindingFollowLinkAction;
-	
-	// menus
-	private Menu fMenu;
-
-	/**
-	 * Constructs a new process page 
-	 */
-	public ProcessConsolePage(IConsoleView view, ProcessConsole console) {
-		fView = view;
-		fConsole = console;
-	}
-
-	/* (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 site) {
-		fSite = site;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		fViewer = new ConsoleViewer(parent);
-		fViewer.setDocument(DebugUIPlugin.getDefault().getConsoleDocumentManager().getConsoleDocument(getProcess()));
-		
-		MenuManager manager= new MenuManager("#ProcessConsole", "#ProcessConsole"); //$NON-NLS-1$ //$NON-NLS-2$
-		manager.setRemoveAllWhenShown(true);
-		manager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager m) {
-				contextMenuAboutToShow(m);
-			}
-		});
-		fMenu= manager.createContextMenu(getControl());
-		getControl().setMenu(fMenu);
-		
-		IPageSite site= getSite();
-		site.registerContextMenu(DebugUIPlugin.getUniqueIdentifier() + ".processConsole", manager, getConsoleViewer()); //$NON-NLS-1$
-		site.setSelectionProvider(getConsoleViewer());
-		
-		createActions();
-		configureToolBar(getSite().getActionBars().getToolBarManager());
-		
-		getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		fViewer.getSelectionProvider().addSelectionChangedListener(fTextListener);
-		fViewer.addTextListener(this);
-	}
-
-	/**
-	 * Fill the context menu
-	 * 
-	 * @param menu menu
-	 */
-	protected void contextMenuAboutToShow(IMenuManager menu) {
-		ConsoleDocument doc= (ConsoleDocument)getConsoleViewer().getDocument();
-		if (doc == null) {
-			return;
-		}
-		if (doc.isReadOnly()) {
-			menu.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
-			menu.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));						
-		} else {
-			updateAction(ActionFactory.PASTE.getId());
-			menu.add((IAction)fGlobalActions.get(ActionFactory.CUT.getId()));
-			menu.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
-			menu.add((IAction)fGlobalActions.get(ActionFactory.PASTE.getId()));
-			menu.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));
-		}
-
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add((IAction)fGlobalActions.get(ActionFactory.FIND.getId()));
-		menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.GOTO_LINE));
-		fFollowLinkAction.setEnabled(fFollowLinkAction.getHyperLink() != null);
-		menu.add(fFollowLinkAction);
-		menu.add(fClearOutputAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));	
-		menu.add(fTerminate);	
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-		DebugPlugin.getDefault().removeDebugEventListener(this);
-		getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		fViewer.getSelectionProvider().removeSelectionChangedListener(fTextListener);
-		fViewer.removeTextListener(this);
-
-		if (fKeyBindingFollowLinkAction != null) {
-			getConsoleView().getSite().getKeyBindingService().unregisterAction(fKeyBindingFollowLinkAction);
-		}
-		
-		if (fRemoveTerminated != null) {
-			fRemoveTerminated.dispose();
-		}
-		
-		if (fScrollLockAction != null) {
-			fScrollLockAction.dispose();
-		}
-		
-		if (fMenu != null && !fMenu.isDisposed()) {
-			fMenu.dispose();
-			fMenu= null;
-		}
-		
-		if (fViewer != null) {
-			fViewer.dispose();
-			fViewer = null;
-		}
-		fSite = null;
-		fSelectionActions.clear();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#getControl()
-	 */
-	public Control getControl() {
-		if (fViewer != null) {
-			return fViewer.getControl();
-		}
-		return 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() {
-		Control control = getControl(); 
-		if (control != null) {
-			control.setFocus();
-		}
-		updateSelectionDependentActions();
-	}
-	
-	protected void createActions() {
-		fClearOutputAction= new ClearOutputAction(getConsoleViewer());
-		fRemoveTerminated = new ConsoleRemoveAllTerminatedAction();
-		
-		// In order for the clipboard actions to accessible via their shortcuts
-		// (e.g., Ctrl-C, Ctrl-V), we *must* set a global action handler for
-		// each action		
-		IActionBars actionBars= getSite().getActionBars();
-		TextViewerAction action= new TextViewerAction(getConsoleViewer(), ITextOperationTarget.CUT);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.Cu&t@Ctrl+X_3"), DebugUIViewsMessages.getString("ConsoleView.Cut_4"), DebugUIViewsMessages.getString("ConsoleView.Cut_4")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
-		setGlobalAction(actionBars, ActionFactory.CUT.getId(), action);
-		action= new TextViewerAction(getConsoleViewer(), ITextOperationTarget.COPY);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.&Copy@Ctrl+C_6"), DebugUIViewsMessages.getString("ConsoleView.Copy_7"), DebugUIViewsMessages.getString("ConsoleView.Copy_7")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		setGlobalAction(actionBars, ActionFactory.COPY.getId(), action);
-		action= new TextViewerAction(getConsoleViewer(), ITextOperationTarget.PASTE);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.&Paste@Ctrl+V_9"), DebugUIViewsMessages.getString("ConsoleView.Paste_10"), DebugUIViewsMessages.getString("ConsoleView.Paste_Clipboard_Text_11")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
-		setGlobalAction(actionBars, ActionFactory.PASTE.getId(), action);
-		action= new TextViewerAction(getConsoleViewer(), ITextOperationTarget.SELECT_ALL);
-		action.configureAction(DebugUIViewsMessages.getString("ConsoleView.Select_&All@Ctrl+A_12"), DebugUIViewsMessages.getString("ConsoleView.Select_All"), DebugUIViewsMessages.getString("ConsoleView.Select_All")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.SELECT_ALL.getId(), action);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.DebugUIViewsMessages"); //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.FIND.getId(), new FindReplaceAction(bundle, "find_replace_action.", getConsoleView())); //$NON-NLS-1$
-	
-		action= new TextViewerGotoLineAction(getConsoleViewer());
-		setGlobalAction(actionBars, ITextEditorActionConstants.GOTO_LINE, action);
-		
-		fFollowLinkAction = new FollowHyperlinkAction(getConsoleViewer());
-		
-		fKeyBindingFollowLinkAction= new KeyBindingFollowHyperlinkAction(getConsoleViewer(), actionBars);
-		fKeyBindingFollowLinkAction.setActionDefinitionId("org.eclipse.jdt.ui.edit.text.java.open.editor"); //$NON-NLS-1$
-		getConsoleView().getSite().getKeyBindingService().registerAction(fKeyBindingFollowLinkAction);
-		
-		fScrollLockAction = new ScrollLockAction();
-		fScrollLockAction.setChecked(fIsLocked);
-		getConsoleViewer().setAutoScroll(!fIsLocked);
-						
-		actionBars.updateActionBars();
-				
-		fTerminate = new ConsoleTerminateAction(getConsole());
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		
-		fSelectionActions.add(ActionFactory.CUT.getId());
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.PASTE.getId());
-		fSelectionActions.add(ActionFactory.FIND.getId());
-	}
-	
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}	
-	
-	protected void updateAction(String actionId) {
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}	
-		
-	protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-		fGlobalActions.put(actionID, action); 
-		actionBars.setGlobalActionHandler(actionID, action);
-	}
-		
-	/**
-	 * Returns the console viewer in this page.
-	 * 
-	 * @return the console viewer in this page
-	 */
-	public ConsoleViewer getConsoleViewer() {
-		return fViewer;
-	}	
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.appendToGroup(IConsoleConstants.LAUNCH_GROUP, fTerminate);
-		mgr.appendToGroup(IConsoleConstants.LAUNCH_GROUP, fRemoveTerminated);
-		//mgr.add(fProcessDropDownAction);
-		mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fScrollLockAction);
-		mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fClearOutputAction);
-	}
-
-	/**
-	 * Returns the process associated with this page
-	 * 
-	 * @return the process associated with this page
-	 */
-	protected IProcess getProcess() {
-		return getConsole().getProcess();
-	}
-	
-	/**
-	 * Returns the view this page is contained in
-	 * 
-	 * @return the view this page is contained in
-	 */
-	protected IConsoleView getConsoleView() {
-		return fView;
-	}
-	
-	/**
-	 * Returns the console this page is displaying
-	 * 
-	 * @return the console this page is displaying
-	 */
-	protected ProcessConsole getConsole() {
-		return fConsole;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (getProcess().equals(DebugUITools.getCurrentProcess())) {
-			getConsoleView().display(getConsole());
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getConsoleViewer().getFindReplaceTarget();
-		}
-		if (Widget.class.equals(required)) {
-			return getConsoleViewer().getTextWidget();
-		}
-		if (IShowInSource.class.equals(required)) {
-			return this;
-		}
-		if (IShowInTargetList.class.equals(required)) {
-			return this; 
-		}
-		return null;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInSource#getShowInContext()
-	 */
-	public ShowInContext getShowInContext() {
-		IProcess process = getProcess();
-		if (process == null) {
-			return null;
-		} else {
-			IDebugTarget target = (IDebugTarget)process.getAdapter(IDebugTarget.class);
-			ISelection selection = null;
-			if (target == null) {
-				selection = new StructuredSelection(process);
-			} else {
-				selection = new StructuredSelection(target);
-			}
-			return new ShowInContext(null, selection);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds()
-	 */
-	public String[] getShowInTargetIds() {
-		return new String[] {IDebugUIConstants.ID_DEBUG_VIEW};
-	}
-	
-	/**
-	 * Update terminate action.
-	 * 
-	 * @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().equals(getProcess())) {
-				Runnable r = new Runnable() {
-					public void run() {
-						if (isAvailable()) {
-							fTerminate.update();
-						}				
-					}
-				};
-				if (isAvailable()) {				
-					getControl().getDisplay().asyncExec(r);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns whether this page's controls are available.
-	 * 
-	 * @return whether this page's controls are available
-	 */
-	protected boolean isAvailable() {
-		return getControl() != null;
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextListener#textChanged(org.eclipse.jface.text.TextEvent)
-	 */
-	public void textChanged(TextEvent event) {
-		// update the find replace action if the document length is > 0
-		IUpdate findReplace = (IUpdate)fGlobalActions.get(ActionFactory.FIND.getId());
-		if (findReplace != null) {
-			findReplace.update();
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ScrollLockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ScrollLockAction.java
deleted file mode 100644
index c07cb7c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ScrollLockAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Toggles console auto-scroll
- */
-public class ScrollLockAction extends Action implements IPropertyChangeListener {
-
-	private IPreferenceStore fStore = DebugUIPlugin.getDefault().getPreferenceStore();
-	
-	public ScrollLockAction() {
-		super(ActionMessages.getString("ScrollLockAction.Scroll_Lock_1")); //$NON-NLS-1$
-		setToolTipText(ActionMessages.getString("ScrollLockAction.Scroll_Lock_1")); //$NON-NLS-1$
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_LOCK));		
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_LOCK));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_LOCK));
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.CONSOLE_SCROLL_LOCK_ACTION);
-		setChecked(DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK));
-		fStore.addPropertyChangeListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fStore.setValue(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK, isChecked());
-	}
-	
-	public void dispose() {
-		fStore.removePropertyChangeListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK)) {
-			setChecked(fStore.getBoolean(IInternalDebugUIConstants.PREF_CONSOLE_SCROLL_LOCK));
-		}
-		
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/StreamPartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/StreamPartition.java
deleted file mode 100644
index b121244..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/StreamPartition.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.console;
-
-
-import org.eclipse.jface.text.TypedRegion;
-
-/**
- * A partition from an input/output stream connected to the console. 
- */
-public abstract class StreamPartition extends TypedRegion {
-	
-	/**
-	 * Stream identifier
-	 */
-	private String fStreamIdentifier;
-	
-	public StreamPartition(String streamIdentifier, int offset, int length, String type) {
-		super(offset, length, type);
-		fStreamIdentifier = streamIdentifier;
-	}
-	
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object partition) {
-		if (super.equals(partition)) {
-			fStreamIdentifier.equals(((StreamPartition)partition).getStreamIdentifier());
-		}
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + fStreamIdentifier.hashCode();
-	}
-
-	/**
-	 * Returns this partition's stream identifier
-	 * 
-	 * @return this partition's stream identifier
- 	 */
-	public String getStreamIdentifier() {
-		return fStreamIdentifier;
-	}
-	
-	/**
-	 * Returns whether this partition is allowed to be combined with the
-	 * given partition.
-	 * 
-	 * @param partition
-	 * @return boolean
-	 */
-	public boolean canBeCombinedWith(StreamPartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		boolean overlap = (otherStart >= start && otherStart <= end) || (start >= otherStart && start <= otherEnd);
-		return overlap && getType().equals(partition.getType()) && getStreamIdentifier().equals(partition.getStreamIdentifier());
-	}
-	
-	/**
-	 * Returns a new partition representing this and the given parition
-	 * combined.
-	 * 
-	 * @param partition
-	 * @return partition
- 	 */
-	public StreamPartition combineWith(StreamPartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		int theStart = Math.min(start, otherStart);
-		int theEnd = Math.max(end, otherEnd);
-		return createNewPartition(getStreamIdentifier(), theStart, theEnd - theStart);
-	}
-	
-	/**
-	 * Creates a new patition of this type with the given color, offset, 
-	 * and length.
-	 * 
-	 * @param streamIdentifer
-	 * @param offset
-	 * @param length
-	 * @return ColorPartition
-	 */
-	public abstract StreamPartition createNewPartition(String streamIdentifier, int offset, int length);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/WorkspaceOperationRunner.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/WorkspaceOperationRunner.java
deleted file mode 100644
index f89bcdc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/WorkspaceOperationRunner.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.console;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
-import org.eclipse.ui.texteditor.ISchedulingRuleProvider;
-
-/**
- * @since 3.0
- */
-class WorkspaceOperationRunner implements IRunnableContext {
-	
-	private IProgressMonitor fProgressMonitor;
-	
-	public WorkspaceOperationRunner() {
-	}
-	
-	/**
-	 * Sets the progress monitor.
-	 * 
-	 * @param progressMonitor the progress monitor to set
-	 */
-	public void setProgressMonitor(IProgressMonitor progressMonitor) {
-		fProgressMonitor= progressMonitor;
-	}
-
-	/**
-	 * Returns the progress monitor. It there is no progress monitor the monitor\
-	 * is set to the <code>NullProgressMonitor</code>.
-	 * 
-	 * @return the progress monitor
-	 */
-	public IProgressMonitor getProgressMonitor() {
-		if (fProgressMonitor == null)
-			fProgressMonitor= new NullProgressMonitor();
-		return fProgressMonitor;
-	}
-
-	/*
-	 * @see org.eclipse.jface.operation.IRunnableContext#run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
-		if (runnable instanceof ISchedulingRuleProvider)
-			run(fork, cancelable, runnable, ((ISchedulingRuleProvider)runnable).getSchedulingRule());
-		else
-			run(fork, cancelable, runnable, ResourcesPlugin.getWorkspace().getRoot());
-	}
-	
-	/*
-	 * @see org.eclipse.jface.operation.IRunnableContext#run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)
-	 */
-	public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable, ISchedulingRule schedulingRule) throws InvocationTargetException, InterruptedException {
-		WorkspaceModifyDelegatingOperation operation= new WorkspaceModifyDelegatingOperation(runnable, schedulingRule);
-		operation.run(getProgressMonitor());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
deleted file mode 100644
index bfc4a4f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionInformationControl.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.internal.ui.views.variables.IndexedVariablePartition;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewer;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-
-/**
- * A popup that displays an expression with a details area.
- * <p>
- * Clients may instantiate this class; this class is not intended
- * to be subclassed.
- * </p>
- * @since 3.0
- */
-public class ExpressionInformationControl extends PopupInformationControl {
-	private static final int[] DEFAULT_SASH_WEIGHTS = new int[] {90, 10};
-	private static final String SASH_KEY = "SASH_WEIGHT";  //$NON-NLS-1$
-	
-	private IWorkbenchPage page;
-	private IExpression exp;
-	private VariablesViewer viewer;
-	private IDebugModelPresentation modelPresentation;
-	private StyledText valueDisplay;
-	private SashForm sashForm;
-	private Tree tree;
-
-	/**
-	 * Constructs a popup to display an expression. A label and handler
-	 * are provided to move the expression to the Expressions view when
-	 * dismissed with the given command.
-	 * 
-	 * @param page the workbench page on which the popup should be displayed
-	 * @param exp the expression to display
-	 * @param commandId identifier of the command used to dismiss the popup 
-	 */
-	public ExpressionInformationControl(IWorkbenchPage page, IExpression exp, String commandId) {
-		super(page.getWorkbenchWindow().getShell(), DebugUIViewsMessages.getString("ExpressionInformationControl.5"), commandId); //$NON-NLS-1$
-		this.page = page;
-		this.exp = exp;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setInformation(String)
-	 */
-	public void setInformation(String information) {
-		VariablesView view = getViewToEmulate();
-		viewer.getContentProvider();
-		if (view != null) {
-			StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
-			ViewerFilter[] filters = structuredViewer.getFilters();
-			for (int i = 0; i < filters.length; i++) {
-				viewer.addFilter(filters[i]);
-			}
-			((VariablesViewContentProvider)viewer.getContentProvider()).setShowLogicalStructure(view.isShowLogicalStructure());
-			Map map = view.getPresentationAttributes(exp.getModelIdentifier());
-			Iterator iterator = map.keySet().iterator();
-			while (iterator.hasNext()) {
-				String key = (String)iterator.next();
-				modelPresentation.setAttribute(key, map.get(key));
-			}
-		}
-		viewer.setInput(new Object[]{exp});
-		viewer.expandToLevel(2);
-	}
-
-	private VariablesView getViewToEmulate() {
-		VariablesView expressionsView = (VariablesView)page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-		if (expressionsView != null && expressionsView.isVisible()) {
-			return expressionsView;
-		} else {
-			VariablesView variablesView = (VariablesView)page.findView(IDebugUIConstants.ID_VARIABLE_VIEW);
-			if (variablesView != null && variablesView.isVisible()) {
-				return variablesView;
-			} else {
-				if (expressionsView != null) {
-					return expressionsView;
-				} else {
-					return variablesView;
-				}
-			}
-		}
-	}
-
-	/*
-	 * TODO: This method not used yet
-	 */
-	protected int[] getInitialSashWeights() {
-		IDialogSettings settings = getDialogSettings();
-		int[] sashes = new int[2];
-		try {
-			sashes[0] = settings.getInt(SASH_KEY+"_ONE");  //$NON-NLS-1$
-			sashes[1] = settings.getInt(SASH_KEY+"_TWO");  //$NON-NLS-1$
-			return sashes;
-		} catch (NumberFormatException nfe) {
-		} 
-		
-		return DEFAULT_SASH_WEIGHTS;
-	}
-	
-	/*
-	 * TODO: This method not used yet
-	 */	
-	protected void persistSashWeights() {
-		IDialogSettings settings = getDialogSettings();
-		int[] sashes = sashForm.getWeights();
-		settings.put(SASH_KEY+"_ONE", sashes[0]); //$NON-NLS-1$
-		settings.put(SASH_KEY+"_TWO", sashes[1]); //$NON-NLS-1$
-	}
-
-	private void updateValueDisplay(IValue val) {
-		IValueDetailListener valueDetailListener = new IValueDetailListener() {
-			public void detailComputed(IValue value, final String result) {
-				Display.getDefault().asyncExec(new Runnable() {
-					public void run() {
-						valueDisplay.setText(result);
-					}
-				});
-			}
-		};
-		modelPresentation.computeDetail(val, valueDetailListener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.PopupInformationControl#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createControl(Composite parent) {
-		Composite composite = new Composite(parent, parent.getStyle());
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		sashForm = new SashForm(composite, parent.getStyle());
-		sashForm.setOrientation(SWT.VERTICAL);
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		viewer = new VariablesViewer(sashForm, SWT.NO_TRIM);
-		viewer.setContentProvider(new ExpressionPopupContentProvider());
-		modelPresentation = DebugUITools.newDebugModelPresentation();
-		viewer.setLabelProvider(modelPresentation);
-		
-		valueDisplay = new StyledText(sashForm, SWT.NO_TRIM | SWT.WRAP | SWT.V_SCROLL);
-		valueDisplay.setEditable(false);
-		
-		tree = viewer.getTree();
-		tree.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					TreeItem[] selections = tree.getSelection();
-					Object data = selections[selections.length-1].getData();
-					
-					IValue val = null;
-					if (data instanceof IndexedVariablePartition) {
-						// no details for parititions
-						return;
-					}
-					if (data instanceof IVariable) {						
-						val = ((IVariable)data).getValue();
-					} else if (data instanceof IExpression) {
-						val = ((IExpression)data).getValue();
-					}
-					if (val == null) {
-						return;
-					}			
-					
-					updateValueDisplay(val);
-				} catch (DebugException ex) {
-					DebugUIPlugin.log(ex);
-				}
-				
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-			}			
-		});
-		
-		Color background = parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-		Color foreground = parent.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND);
-		tree.setForeground(foreground);
-		tree.setBackground(background);
-		composite.setForeground(foreground);
-		composite.setBackground(background);
-		valueDisplay.setForeground(foreground);
-		valueDisplay.setBackground(background);
-		
-		//sashForm.setWeights(getInitialSashWeights());
-		sashForm.setWeights(DEFAULT_SASH_WEIGHTS);		
-		
-		return tree;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#computeSizeHint()
-	 */
-	public Point computeSizeHint() {
-		Point persistedSize = getInitialSize();
-		if (persistedSize != null) {
-			return persistedSize;
-		}
-		
-		int height = 0;
-		int width = 0;
-		int itemCount = 0;
-		
-		TreeItem[] items = tree.getItems();
-		GC gc = new GC(tree);
-		for (int i=0; i<items.length; i++) {
-			width = Math.max (width, calculateWidth(items[i], gc));
-			itemCount++;
-			
-			// do the same for the children because we expand the first level.
-			TreeItem[] children = items[i].getItems();
-			for (int j = 0; j < children.length; j++) {
-				width = Math.max(width, calculateWidth(children[j], gc));
-				itemCount++;
-			}
-			
-		}
-		gc.dispose ();
-		width += 40; // give a little extra space
-		
-		height = itemCount * tree.getItemHeight() + 90;
-		if (width > 300) {
-			width = 300;
-		}
-		if (height > 300) {
-			height = 300;
-		}
-		return shell.computeSize(width, height, true);
-	}
-	
-	private int calculateWidth (TreeItem item, GC gc) {
-		int width = 0;
-		Image image = item.getImage ();
-		String text = item.getText ();
-		if (image != null) width = image.getBounds ().width + 2;
-		if (text != null && text.length () > 0) width += gc.stringExtent (text).x;
-		return width;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControlExtension#hasContents()
-	 */
-	public boolean hasContents() {
-		return (viewer != null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.PopupInformationControl#performCommand()
-	 */
-	protected void performCommand() {
-		DebugPlugin.getDefault().getExpressionManager().addExpression(exp);	
-		IViewPart part = page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-		if (part == null) {
-			try {
-				page.showView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-			} catch (PartInitException e) {
-			}
-		} else {
-			page.bringToTop(part);
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionPopupContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionPopupContentProvider.java
deleted file mode 100644
index 4114ca2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionPopupContentProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
-import org.eclipse.jface.viewers.Viewer;
-
-
-public class ExpressionPopupContentProvider extends ExpressionViewContentProvider {
-	
-	private Object input = null;
-	
-	public ExpressionPopupContentProvider() {
-		super(null);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		super.inputChanged(viewer, oldInput, newInput);
-		input = newInput;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object parent) {
-		if (parent == input) {
-			return (Object[]) input;
-		}
-		return super.getElements(parent);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
deleted file mode 100644
index ecf9ca8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IErrorReportingExpression;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
-import org.eclipse.debug.internal.ui.views.DebugViewLabelDecorator;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
- 
-/**
- * Displays expressions and their values with a detail
- * area.
- */
-public class ExpressionView extends VariablesView {
-	
-	/**
-	 * A decorating label provider which provides color for expressions.
-	 */
-	protected class ExpressionViewDecoratingLabelProvider extends VariablesView.VariablesViewDecoratingLabelProvider {
-		/**
-		 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-		 */
-		public Color getForeground(Object element) {
-			boolean expressionWithError= false;
-			IErrorReportingExpression expression= null;
-			if (element instanceof IErrorReportingExpression) {
-				expression= (IErrorReportingExpression) element;
-			} else if (element instanceof String) {
-				Object parent= ((VariablesViewContentProvider) getVariablesViewer().getContentProvider()).getParent(element);
-				if (parent instanceof IErrorReportingExpression) {
-					expression= (IErrorReportingExpression) parent;
-				}
-			}
-			if (expression != null && expression.hasErrors()) {
-				expressionWithError= true;
-			}
-			if (expressionWithError) {
-				return Display.getDefault().getSystemColor(SWT.COLOR_RED);
-			}
-			return super.getForeground(element);
-		}
-
-		public ExpressionViewDecoratingLabelProvider(StructuredViewer viewer, ILabelProvider provider, DebugViewLabelDecorator decorator) {
-			super(viewer, provider, decorator);
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createLabelProvider()
-	 */
-	protected IBaseLabelProvider createLabelProvider(StructuredViewer viewer) {
-		return new ExpressionViewDecoratingLabelProvider(viewer, new DebugViewInterimLabelProvider(getModelPresentation()), new DebugViewLabelDecorator(getModelPresentation()));
-	}
-
-	/**
-	 * Creates this view's content provider.
-	 * 
-	 * @return a content provider
-	 */
-	protected IContentProvider createContentProvider() {
-		return new ExpressionViewContentProvider(this);
-	}
-	
-	/**
-	 * Creates this view's event handler.
-	 * 
-	 * @return an event handler
-	 */
-	protected AbstractDebugEventHandler createEventHandler() {
-		return new ExpressionViewEventHandler(this);
-	}		
-	
-	/**
-	 * @see AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.EXPRESSION_VIEW;		
-	}	
-	
-	/**
-	 * Initializes the viewer input on creation
-	 */
-	protected void setInitialContent() {
-		getViewer().setInput(DebugPlugin.getDefault().getExpressionManager());
-	}	
-	
-	/**
-	 * Configures the toolBar.
-	 * 
-	 * @param tbm The toolbar that will be configured
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		super.configureToolBar(tbm);
-		tbm.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));		
-		tbm.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP));
-	}	
-	
-   /**
-	* Adds items to the tree viewer's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillContextMenu(IMenuManager menu) {
-
-		menu.add(new Separator(IDebugUIConstants.EMPTY_EXPRESSION_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EXPRESSION_GROUP));
-		menu.add(getAction("ChangeVariableValue")); //$NON-NLS-1$
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/** 
-	 * The <code>ExpressionView</code> listens for selection changes in the <code>LaunchesView</code>
-	 * to correctly set the editable state of the details pane. Updates the context of
-	 * watch expressions.
-	 *
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IDebugElement context = null;
-			IStructuredSelection ss = (IStructuredSelection)selection;
-			if (ss.size() < 2) {
-				Object object = ss.getFirstElement();
-				if (object instanceof IDebugElement) {
-					context= (IDebugElement) object;
-				} else if (object instanceof ILaunch) {
-					context= ((ILaunch) object).getDebugTarget();
-				}
-			}
-			// update watch expressions with new context
-			IExpression[] expressions = DebugPlugin.getDefault().getExpressionManager().getExpressions();
-			for (int i = 0; i < expressions.length; i++) {
-				IExpression expression = expressions[i];
-				if (expression instanceof IWatchExpression) {
-					((IWatchExpression)expression).setExpressionContext(context);
-				}
-			}			
-		} 
-
-		// update actions
-		updateAction("ContentAssist"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Do nothing - the input to this view never changes - 
-	 * it is always the expression manager.
-	 * 
-	 * @see VariablesView#setViewerInput(IStructuredSelection)
-	 */
-	protected void setViewerInput(IStructuredSelection ssel) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#treeSelectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	protected void treeSelectionChanged(SelectionChangedEvent event) {
-		super.treeSelectionChanged(event);
-		ISelection selection = event.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel= (IStructuredSelection)selection;
-			if (ssel.size() == 1) {
-				Object input= ssel.getFirstElement();
-				if (input instanceof IDebugElement) {
-					getDetailViewer().setEditable(true);
-					return;
-				} 
-			}
-		}
-		getDetailViewer().setEditable(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey()
-	 */
-	protected String getDetailPanePreferenceKey() {
-		return IDebugPreferenceConstants.EXPRESSIONS_DETAIL_PANE_ORIENTATION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel()
-	 */
-	protected String getToggleActionLabel() {
-		return VariablesViewMessages.getString("ExpressionView.4"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		super.createActions();
-		setInitialContent();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
deleted file mode 100644
index 4ac80bf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewContentProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.model.IErrorReportingExpression;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider;
-import org.eclipse.debug.ui.IDebugView;
- 
-/**
- * Provides contents for the expression view
- */
-public class ExpressionViewContentProvider extends VariablesViewContentProvider {
-
-	public ExpressionViewContentProvider(IDebugView view) {
-		super(view);
-	}
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		Object[] children= null;
-		try {
-			if (parent instanceof IExpressionManager) {
-				// do not cache parents
-				return ((IExpressionManager)parent).getExpressions();
-			} else if (parent instanceof IExpression) {
-				if (parent instanceof IErrorReportingExpression) {
-					IErrorReportingExpression expression= (IErrorReportingExpression) parent;
-					if (expression.hasErrors()) {
-						children= expression.getErrorMessages();
-					}
-				}
-				if (children == null) {
-					IExpression expression = (IExpression)parent;
-					IValue value = expression.getValue();
-					children = getModelSpecificChildren(expression, value);
-				}
-			} else if (parent instanceof IVariable) {
-				IVariable variable  = (IVariable)parent;
-				IValue value = variable.getValue();
-				children = getModelSpecificChildren(variable, value);
-			}
-			if (children != null) {
-				cache(parent, children);
-				return children;
-			}
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-		}
-		return new Object[0];
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object item) {
-		if (item instanceof IExpression) {
-			return DebugPlugin.getDefault().getExpressionManager();
-		}
-		return super.getParent(item);
-	}
-	
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IExpressionManager) {
-			return ((IExpressionManager)element).hasExpressions();
-		} else if (element instanceof IExpression) {
-			if (element instanceof IErrorReportingExpression && ((IErrorReportingExpression) element).hasErrors()) {
-				return true;
-			}
-			IValue v = ((IExpression)element).getValue();
-			if (v == null) {
-				return false;
-			}
-			try {
-				return v.hasVariables();
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e);
-				return false;
-			}
-		}
-		return super.hasChildren(element);
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
deleted file mode 100644
index b2f1479..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionViewEventHandler.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.expression;
-
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewEventHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
- 
-/**
- * Updates the expression view
- */ 
-public class ExpressionViewEventHandler extends VariablesViewEventHandler implements IExpressionsListener {
-
-	/**
-	 * Also update expressions if a target terminates
-	 * 
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesViewEventHandler#doHandleTerminateEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void doHandleTerminateEvent(DebugEvent event) {
-		super.doHandleTerminateEvent(event);
-		if (event.getSource() instanceof IDebugTarget) {
-			IExpression[] expressions = DebugPlugin.getDefault().getExpressionManager().getExpressions();
-			IAdaptable object = DebugUITools.getDebugContext();
-			IDebugElement context= null;
-			if (object instanceof IDebugElement) {
-				context= (IDebugElement) object;
-			} else if (object instanceof ILaunch) {
-				context= ((ILaunch) object).getDebugTarget();
-			}
-			for (int i = 0; i < expressions.length; i++) {
-				IExpression expression = expressions[i];
-				if (expression instanceof IWatchExpression) {
-					((IWatchExpression)expression).setExpressionContext(context);
-				}
-			}			
-		}
-	}
-
-	/**
-	 * Constructs a new event handler on the given view
-	 * 
-	 * @param view variables view
-	 */
-	public ExpressionViewEventHandler(AbstractDebugView view) {
-		super(view);
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getExpressionManager().addExpressionListener(this);		
-	}
-	
-	/**
-	 * De-registers this event handler from the debug model.
-	 */
-	public void dispose() {
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getExpressionManager().removeExpressionListener(this);
-		super.dispose();
-	}	
-	
-	/**
-	 * @see IExpressionsListener#expressionsAdded(IExpression[])
-	 */
-	public void expressionsAdded(final IExpression[] expressions) {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					getTreeViewer().refresh();
-					if (expressions.length > 0) {
-						ISelection selection = new StructuredSelection(expressions[0]); 
-						getTreeViewer().setSelection(selection, true);
-					}
-				}
-			}
-		};
-		getView().asyncExec(r);
-	}
-
-	/**
-	 * @see IExpressionsListener#expressionsRemoved(IExpression[])
-	 */
-	public void expressionsRemoved(final IExpression[] expressions) {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					getTreeViewer().getControl().setRedraw(false);
-					for (int i = 0; i < expressions.length; i++) {
-						IExpression expression = expressions[i];
-						remove(expression);
-						IContentProvider provider= getTreeViewer().getContentProvider();
-						if (provider instanceof ExpressionViewContentProvider) {
-							ExpressionViewContentProvider expressionProvider= (ExpressionViewContentProvider) provider;
-							List decendants = expressionProvider.getCachedDecendants(expression);
-							decendants.add(expression);
-							// Remove the parent cache for the expression and its children
-							expressionProvider.removeCache(decendants.toArray());
-							IExpression[] allExpressions= DebugPlugin.getDefault().getExpressionManager().getExpressions();
-							if (allExpressions.length > 0) {
-								getTreeViewer().setSelection(new StructuredSelection(allExpressions[0]), true);
-							}
-						}						
-					}
-					getTreeViewer().getControl().setRedraw(true);
-				}
-			}
-		};
-		getView().asyncExec(r);
-	}
-
-	/**
-	 * @see IExpressionsListener#expressionsChanged(IExpression[])
-	 */
-	public void expressionsChanged(final IExpression[] expressions) {
-		Runnable r = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					getTreeViewer().getControl().setRedraw(false);
-					for (int i = 0; i < expressions.length; i++) {
-						IExpression expression = expressions[i];
-						refresh(expression);
-						// update details if selected
-						IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-						if (selection.size() == 1 && selection.getFirstElement().equals(expression)) {
-							getVariablesView().populateDetailPane();	
-						}
-					}
-					getTreeViewer().getControl().setRedraw(true);
-				}
-			}
-		};
-		getView().asyncExec(r);			
-	}
-	
-	/**
-	 * Override the superclass method. Do nothing.
-	 */
-	protected void doHandleResumeEvent(DebugEvent event) {
-	}
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesViewEventHandler#doHandleChangeEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void doHandleChangeEvent(DebugEvent event) {
-		if (event.getSource() instanceof IExpression) {
-			refresh(event.getSource());
-		} else if (event.getDetail() == DebugEvent.STATE) {
-			// only process variable state changes
-			if (event.getSource() instanceof IVariable) {
-				refresh(event.getSource());
-			}
-		} else {
-			refresh();
-		}	
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/PopupInformationControl.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/PopupInformationControl.java
deleted file mode 100644
index 5548b14..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/PopupInformationControl.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.expression;
-
-import java.text.MessageFormat;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlExtension;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.AbstractHandler;
-import org.eclipse.ui.commands.ExecutionException;
-import org.eclipse.ui.commands.HandlerSubmission;
-import org.eclipse.ui.commands.ICommand;
-import org.eclipse.ui.commands.ICommandManager;
-import org.eclipse.ui.commands.IHandler;
-import org.eclipse.ui.commands.IKeySequenceBinding;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.commands.Priority;
-import org.eclipse.ui.contexts.IWorkbenchContextSupport;
-
-/**
- * An information popup window. The window contains a control provided
- * by subclasses. A label is displayed at the bottom of the
- * window describing an action used to dismiss the window, which is invoked
- * with a key binding.
- * <p>
- * Clients are intended to subclass this class.
- * </p>
- * @see org.eclipse.debug.ui.actions.IPopupInformationControlAdapter
- * @see org.eclipse.jface.text.information.IInformationPresenter
- * @see org.eclipse.jface.text.information.IInformationProvider
- * @since 3.0
- */
-public abstract class PopupInformationControl implements IInformationControl, IInformationControlExtension {
-	
-	private static final String HEIGHT_STRING = "_DEBUGPOPUP_HEIGHT"; //$NON-NLS-1$
-	private static final String WIDTH_STRING = "_DEBUGPOPUP_WIDTH"; //$NON-NLS-1$
-	
-	/**
-	 * The popup window
-	 */
-	protected Shell shell;
-	
-	/**
-	 * The maximum width of the popup
-	 */
-	private int maxWidth = 300;
-	
-	/**
-	 * The maximum height of the popup
-	 */
-	private int maxHeight = 300;
-		
-	/**
-	 * ActionHandler for closeAction
-	 */
-	private List submissions;
-	
-	/**
-	 * Handler used to close this popup, or <code>null</code> if none
-	 */
-	private IHandler closeHandler = null;
-	
-	/**
-	 * Command id that provides a key sequence used to invoke this
-	 * popup's close handler, or <code>null</code> if none
-	 */
-	private String commandId = null;
-	
-	/**
-	 * Popup control
-	 */
-	private Control control = null;
-			
-	/**
-	 * Creates a popup information control. When the specified command
-	 * is invoked, the handler is invoked and the popup is closed.
-	 * 
-	 * @param parent the shell to parent the popup
-	 * @param labelText label to display at the bottom of the popup window.
-	 *  The label will be augmented with the key-sequence asscoaited with the
-	 *  given commandId. 
-	 * @param commandId command identifier used to bind a key sequence to
-	 *  close the popup invoking <code>performCommand()</code>
-	 */
-	public PopupInformationControl(Shell parent, String labelText, String commandId) {
-		this.closeHandler = new CloseHandler();
-		this.commandId = commandId;
-		
-		shell= new Shell(parent, SWT.RESIZE);
-		Display display = shell.getDisplay();
-		shell.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		shell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		
-		addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				dispose();
-			}
-		});		
-		
-		GridLayout layout= new GridLayout(1, false);
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		shell.setLayout(layout);
-		shell.setLayoutData(new GridData(GridData.FILL_BOTH));
-		control = createControl(shell);
-		register();
-		
-		ICommandManager commandManager= PlatformUI.getWorkbench().getCommandSupport().getCommandManager();
-		ICommand command = null;
-		if (commandId != null) {
-			command = commandManager.getCommand(commandId);
-		}
-		
-		Label separator= new Label(shell, SWT.SEPARATOR | SWT.HORIZONTAL | SWT.LINE_DOT);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Label label = new Label(shell, SWT.SHADOW_NONE | SWT.RIGHT);
-		label.setText(labelText);
-		label.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		label.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		label.setEnabled(false);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL));
-		if (command != null) {
-			List keyBindings = command.getKeySequenceBindings();
-			if (keyBindings != null && keyBindings.size() > 0) {
-				IKeySequenceBinding keySequenceBinding = (IKeySequenceBinding)keyBindings.get(0);
-				label.setText(MessageFormat.format(DebugUIMessages.getString("PopupInformationControl.1"), new String[] {keySequenceBinding.getKeySequence().format(), labelText})); //$NON-NLS-1$
-				label.getParent().layout();
-			}			
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#addDisposeListener(DisposeListener)
-	 */
-	public void addDisposeListener(DisposeListener listener) {
-		shell.addDisposeListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#addFocusListener(FocusListener)
-	 */
-	public void addFocusListener(FocusListener listener) {
-		shell.addFocusListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#computeSizeHint()
-	 */
-	public Point computeSizeHint() {
-		Point persistedSize = getInitialSize();
-		if (persistedSize != null) {
-			return persistedSize;
-		} else {
-			Point computedSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-			
-			if (maxWidth > 0 && computedSize.x > maxWidth)
-				computedSize.x = maxWidth;
-			if (maxHeight > 0 && computedSize.y > maxHeight)
-				computedSize.y = maxHeight;
-			return computedSize;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#dispose()
-	 */
-	public void dispose() {		
-		deregister();
-		persistSize();
-		shell= null;
-	}
-	
-	/**
-	 * Deregisters this popup's default close action and turns off the
-	 * debug popup scope.
-	 */
-	private void deregister() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchContextSupport contextSupport = workbench.getContextSupport();
-		IWorkbenchCommandSupport commandSupport = workbench.getCommandSupport();
-		
-		commandSupport.removeHandlerSubmissions(submissions);
-		contextSupport.unregisterShell(shell);
-	}
-	
-	/**
-	 * Registers this popup's default close action and turns on the
-	 * debug popup scope.
-	 */
-	private void register() {
-		if (closeHandler != null) {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		
-		IWorkbenchContextSupport contextSupport = workbench.getContextSupport();
-		IWorkbenchCommandSupport commandSupport = workbench.getCommandSupport();
-		
-		submissions = Collections.singletonList(new HandlerSubmission(null, null, null, commandId, closeHandler, Priority.MEDIUM));
-		
-		commandSupport.addHandlerSubmissions(submissions);
-		
-		contextSupport.registerShell(shell, IWorkbenchContextSupport.TYPE_WINDOW);
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#removeDisposeListener(DisposeListener)
-	 */
-	public void removeDisposeListener(DisposeListener listener) {
-		shell.removeDisposeListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#removeFocusListener(FocusListener)
-	 */
-	public void removeFocusListener(FocusListener listener) {
-		shell.removeFocusListener(listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setBackgroundColor(Color)
-	 */
-	public void setBackgroundColor(Color background) {
-		shell.setBackground(background);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setForegroundColor(Color)
-	 */
-	public void setForegroundColor(Color foreground) {
-		shell.setForeground(foreground);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setLocation(Point)
-	 */
-	public void setLocation(Point location) {
-		shell.setLocation(location);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setSize(int, int)
-	 */
-	public void setSize(int width, int height) {
-		shell.setSize(width, height);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setSizeContraints(int, int)
-	 */
-	public void setSizeConstraints(int maxWidth, int maxHeight) {
-		this.maxWidth = maxWidth;
-		this.maxHeight = maxHeight;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		shell.setVisible(visible);
-		if (!visible) {
-			deregister();
-			shell.dispose();
-		}
-	}
-			
-	/**
-	 * Creates and returns the control for this popup.
-	 *  
-	 * @param parent parent control
-	 * @return control
-	 */
-	protected abstract Control createControl(Composite parent);
-	
-	/**
-	 * Attempts to retrieve the size of the popup when it was last disposed.
-	 * @return The size the initial size of the popup if available, otherwise null 
-	 */
-	protected Point getInitialSize() {
-		Point point = null;
-		try {		
-			IDialogSettings settings = getDialogSettings();
-			if (settings != null) {
-				String key = getClass().getName();
-				
-				int height = settings.getInt(key+HEIGHT_STRING); 
-				int width = settings.getInt(key+WIDTH_STRING); 
-				
-				point = new Point(width, height);
-			}
-		} catch (NumberFormatException e) {
-		}
-		
-		return point;
-	}
-	
-	/**
-	 * Returns a dialog settings in which to persist/restore popup control size.
-	 * 
-	 * @return dialog settings
-	 */
-	protected IDialogSettings getDialogSettings() {
-		return DebugUIPlugin.getDefault().getDialogSettings();
-	}
-	
-	/**
-	 * Attempts to store the current size of the popup in the adapter's IDialogSettings.
-	 * Uses the adapters fully qualified class name to create unique keys.
-	 */
-	protected void persistSize() {
-		if (shell == null) {
-			return;
-		}
-		
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String key = getClass().getName();
-			Point size = shell.getSize();
-			settings.put(key+WIDTH_STRING, size.x); 
-			settings.put(key+HEIGHT_STRING, size.y); 
-		}
-	}	
-
-	/**
-	 * Handler to closes this popup
-	 */	
-	private class CloseHandler extends AbstractHandler {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.commands.IHandler#execute(java.lang.Object)
-		 */
-		public Object execute(Map parameter) throws ExecutionException {
-			performCommand();
-			shell.dispose();
-			return null;
-		}
-		
-	}
-	
-	/**
-	 * Called when this popup is closed via its command.
-	 * Subclasses must override.
-	 */
-	protected abstract void performCommand(); 
-	
-	/**
-	 * Returns this popup's shell.
-	 * 
-	 * @return shell
-	 */
-	protected Shell getShell() {
-		return shell;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#isFocusControl()
-	 */
-	public boolean isFocusControl() {
-		return control.isFocusControl();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setFocus()
-	 */
-	public void setFocus() {
-		control.setFocus();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
deleted file mode 100644
index e841242..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/Decoration.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.debug.core.model.IThread;
-
-/**
- * A decoration in an editor, created by the debugger.
- */
-public abstract class Decoration {
-	
-	/**
-	 * Removes this decoration
-	 */
-	public abstract void remove();
-	
-	/**
-	 * Returns the thread this decoration decorates.
-	 * 
-	 * @return thead associated with this decoration
-	 */
-	public abstract IThread getThread();
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
deleted file mode 100644
index 2812fe0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/DecorationManager.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IThread;
-
-/**
- * Manages source selections and decorated editors for launch views.
- */
-public class DecorationManager {
-	
-	// map of targets to lists of active decorations
-	private static Map fDecorations = new HashMap(10);
-		
-	/**
-	 * Adds the given decoration for the given stack frame.
-	 * 
-	 * @param decoration
-	 * @param frame
-	 */
-	public static void addDecoration(Decoration decoration) {
-		IDebugTarget target= decoration.getThread().getDebugTarget();
-		List list = (List)fDecorations.get(target);
-		if (list == null) {
-			list = new ArrayList();
-			fDecorations.put(target, list);
-		}
-		list.add(decoration);
-	}
-	
-	/**
-	 * Removes any decorations for the given debug target.
-	 *  
-	 * @param target to remove editor decorations for
-	 */
-	public static void removeDecorations(IDebugTarget target) {
-		List list = (List)fDecorations.get(target);
-		if (list != null) {
-			ListIterator iterator = list.listIterator();
-			while (iterator.hasNext()) {
-				Decoration decoration = (Decoration)iterator.next();
-				decoration.remove();
-				iterator.remove();
-			}
-		}
-	}
-	
-	/**
-	 * Removes any decorations for the given thread
-	 * 
-	 * @param thread thread to remove decorations for
-	 */
-	public static void removeDecorations(IThread thread) {
-		List list = (List)fDecorations.get(thread.getDebugTarget());
-		if (list != null) {
-			ListIterator iterator = list.listIterator();
-			while (iterator.hasNext()) {
-				Decoration decoration = (Decoration)iterator.next();
-				if (thread.equals(decoration.getThread())) {
-					decoration.remove();
-					iterator.remove();
-				}
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
deleted file mode 100644
index 150de5d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ /dev/null
@@ -1,1384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-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.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-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.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.InstructionPointerManager;
-import org.eclipse.debug.internal.ui.actions.AddToFavoritesAction;
-import org.eclipse.debug.internal.ui.actions.EditLaunchConfigurationAction;
-import org.eclipse.debug.internal.ui.sourcelookup.CommonSourceNotFoundEditorInput;
-import org.eclipse.debug.internal.ui.sourcelookup.EditSourceLookupPathAction;
-import org.eclipse.debug.internal.ui.sourcelookup.LookupSourceAction;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.internal.ui.views.DebugViewDecoratingLabelProvider;
-import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
-import org.eclipse.debug.internal.ui.views.DebugViewLabelDecorator;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ISourcePresentation;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-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.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPageListener;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.ui.dialogs.PropertyDialogAction;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.IShowInTarget;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class LaunchView extends AbstractDebugEventHandlerView implements ISelectionChangedListener, IPerspectiveListener, IPageListener, IPropertyChangeListener, IResourceChangeListener, IShowInTarget, IShowInSource, IShowInTargetList {
-	
-	public static final String ID_CONTEXT_ACTIVITY_BINDINGS = "contextActivityBindings"; //$NON-NLS-1$
-
-	private boolean fShowingEditor = false;
-			
-	/**
-	 * Cache of the stack frame that source was displayed
-	 * for.
-	 */
-	private IStackFrame fStackFrame = null;
-	
-	/**
-	 * Cache of the editor input used to display source
-	 */
-	private IEditorInput fEditorInput = null;
-	
-	/**
-	 * Cache of the editor id used to display source
-	 */
-	private String fEditorId = null;
-	
-	/**
-	 * Whether this view is in the active page of a perspective.
-	 */
-	private boolean fIsActive = true; 	
-	
-	/**
-	 * Editor to reuse
-	 */
-	private IEditorPart fEditor = null;
-	
-	/**
-	 * The source element corresponding to the selected stack frame
-	 */
-	private Object fSourceElement = null;
-	
-	/**
-	 * The restored editor index of the editor to re-use
-	 */
-	private int fEditorIndex = -1;
-	
-	/**
-	 * Whether to re-use editors
-	 */
-	private boolean fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
-	
-	/**
-	 * Resource delta visitor
-	 */
-	private IResourceDeltaVisitor fVisitor = null;
-	
-	/**
-	 * Editor presentation or <code>null</code> if none
-	 */
-	private IDebugEditorPresentation fEditorPresentation = null;
-	
-	private EditLaunchConfigurationAction fEditConfigAction = null;
-	private AddToFavoritesAction fAddToFavoritesAction = null;
-	private EditSourceLookupPathAction fEditSourceAction = null;
-	private LookupSourceAction fLookupAction = null;
-	
-	/**
-	 * Collection of perspectives in which views should be
-	 * automatically opened and closed.
-	 */
-	private List fAutoManagePerspectives= new ArrayList();
-	/**
-	 * Context manager which automatically opens and closes views
-	 * based on debug contexts.
-	 */
-	private LaunchViewContextListener fContextListener;
-	
-	/**
-	 * Creates a launch view and an instruction pointer marker for the view
-	 */
-	public LaunchView() {
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.DEBUG_VIEW;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		setAction("Properties", new PropertyDialogAction(getSite().getWorkbenchWindow().getShell(), getSite().getSelectionProvider())); //$NON-NLS-1$
-		fEditConfigAction = new EditLaunchConfigurationAction();
-		fAddToFavoritesAction = new AddToFavoritesAction();
-		fEditSourceAction = new EditSourceLookupPathAction(this);
-		fLookupAction = new LookupSourceAction(this);
-				
-		// submit an async exec to update the selection once the
-		// view has been created - i.e. auto-expand and select the
-		// suspended thread on creation. (Done here, because the
-		// viewer needs to be set).
-		Runnable r = new Runnable() {
-			public void run() {
-				initializeSelection();
-			}
-		};
-		asyncExec(r);		
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Viewer createViewer(Composite parent) {
-		LaunchViewer lv = new LaunchViewer(parent);
-		lv.addSelectionChangedListener(this);
-		lv.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					handleDeleteKeyPressed();
-				}
-			}
-		});
-		lv.setContentProvider(createContentProvider());
-		final DelegatingModelPresentation presentation = new DelegatingModelPresentation();
-		DebugViewDecoratingLabelProvider labelProvider= new DebugViewDecoratingLabelProvider(lv, new DebugViewInterimLabelProvider(presentation), new DebugViewLabelDecorator(presentation));
-		lv.setLabelProvider(labelProvider);
-		fEditorPresentation = presentation;
-		// add my viewer as a selection provider, so selective re-launch works
-		getSite().setSelectionProvider(lv);
-		lv.setInput(DebugPlugin.getDefault().getLaunchManager());
-		setEventHandler(new LaunchViewEventHandler(this));
-		
-		// determine if active
-		setActive(getSite().getPage().findView(getSite().getId()) != null);
-		
-		loadAutoManagePerspectives();
-		
-		return lv;
-	}
-	
-	/**
-	 * Returns the label decorator used by this view.
-	 * 
-	 * @return this view's label decorator
-	 */
-	public DebugViewLabelDecorator getLabelDecorator() {
-		return (DebugViewLabelDecorator) ((DebugViewDecoratingLabelProvider) ((LaunchViewer) getViewer()).getLabelProvider()).getLabelDecorator();
-	}
-	
-	private void handleDeleteKeyPressed() {
-		IStructuredSelection selection= (IStructuredSelection) getViewer().getSelection();
-		Iterator iter= selection.iterator();
-		Object item;
-		boolean itemsToTerminate= false;
-		ITerminate terminable;
-		while (iter.hasNext()) {
-			item= iter.next();
-			if (item instanceof ITerminate) {
-				terminable= (ITerminate) item;
-				if (terminable.canTerminate() && !terminable.isTerminated()) {
-					itemsToTerminate= true;
-					break;
-				}
-			}
-		}
-		if (itemsToTerminate) {
-			// Prompt the user to proceed with termination
-			if (!MessageDialog.openQuestion(getSite().getShell(), DebugUIViewsMessages.getString("LaunchView.Terminate_and_Remove_1"), DebugUIViewsMessages.getString("LaunchView.Terminate_and_remove_selected__2"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				return;
-			}
-		}
-		MultiStatus status= new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugUIViewsMessages.getString("LaunchView.Exceptions_occurred_attempting_to_terminate_and_remove_3"), null); //$NON-NLS-1$
-		iter= selection.iterator(); 
-		while (iter.hasNext()) {
-			try {
-				terminateAndRemove(iter.next());
-			} catch (DebugException exception) {
-				status.merge(exception.getStatus());				
-			}
-		}
-		if (!status.isOK()) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				DebugUIPlugin.errorDialog(window.getShell(), DebugUIViewsMessages.getString("LaunchView.Terminate_and_Remove_4"), DebugUIViewsMessages.getString("LaunchView.Terminate_and_remove_failed_5"), status); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				DebugUIPlugin.log(status);
-			}
-		}
-	}
-	
-	/**
-	 * Terminates and removes the given element from the launch manager
-	 */
-	public static void terminateAndRemove(Object element) throws DebugException {
-		if (!(element instanceof ITerminate)) {
-			return;
-		}
-		ITerminate terminable= (ITerminate) element;
-		if (!(terminable.canTerminate() || terminable.isTerminated())) {
-			// Don't try to terminate or remove attached launches
-			return;
-		}
-		try {
-			if (!terminable.isTerminated()) {
-				terminable.terminate();
-			}
-		} finally {
-			remove(element);
-		}
-	}
-	
-	/**
-	 * Removes the given element from the launch manager. Has no effect if the
-	 * given element is not of type ILaunch, IDebugElement, or IProcess
-	 */
-	private static void remove(Object element) {
-		ILaunch launch= null;
-		if (element instanceof ILaunch) {
-			launch= (ILaunch) element;
-		} else if (element instanceof IDebugElement) {
-			launch= ((IDebugElement) element).getLaunch();
-		} else if (element instanceof IProcess) {
-			launch= ((IProcess) element).getLaunch();
-		} else {
-			return;
-		}
-		ILaunchManager lManager= DebugPlugin.getDefault().getLaunchManager();
-		lManager.removeLaunch(launch);
-	}
-	
-	/**
-	 * Select the first stack frame in a suspended thread,
-	 * if any.
-	 */
-	protected void initializeSelection() {
-		if (!isAvailable()) {
-			return;
-		}
-		TreeViewer tv = (TreeViewer)getViewer();
-		tv.expandToLevel(2);
-		Object[] elements = tv.getExpandedElements();
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof ILaunch) {
-				IStackFrame frame = findFrame((ILaunch)elements[i]);
-				if (frame != null) {
-					autoExpand(frame, false, true);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the first stack frame in the first suspended
-	 * thread of the given launch, or <code>null</code> if
-	 * none.
-	 * 
-	 * @param launch a launch in this view
-	 * @return stack frame or <code>null</code>
-	 */
-	protected IStackFrame findFrame(ILaunch launch) {
-		IDebugTarget target = launch.getDebugTarget();
-		if (target != null) {
-			try {
-				IThread[] threads = target.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					if (threads[i].isSuspended()) {
-						return threads[i].getTopStackFrame();
-					}
-				}
-			} catch (DebugException e) {
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite)
-	 */
-	public void init(IViewSite site) throws PartInitException {
-		super.init(site);
-		site.getPage().addPartListener(this);
-		site.getWorkbenchWindow().addPageListener(this);
-		site.getWorkbenchWindow().addPerspectiveListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		site.getPage().addPartListener(this);
-		site.getWorkbenchWindow().addPageListener(this);
-		site.getWorkbenchWindow().addPerspectiveListener(this);
-		if (memento == null) {
-			return;
-		}
-		if (fReuseEditor) {
-			String index = memento.getString(IDebugUIConstants.PREF_REUSE_EDITOR);
-			if (index != null) {
-				try {
-					fEditorIndex = Integer.parseInt(index);
-				} catch (NumberFormatException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-		}
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(IDebugUIConstants.THREAD_GROUP));
-		tbm.add(new Separator(IDebugUIConstants.STEP_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_INTO_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_OVER_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.STEP_RETURN_GROUP));
-		tbm.add(new GroupMarker(IDebugUIConstants.EMPTY_STEP_GROUP));
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		if (getViewer() != null) {
-			getViewer().removeSelectionChangedListener(this);
-		}
-		if (fContextListener != null) {
-			fContextListener.dispose();
-		}
-		getSite().getPage().removePartListener(this);
-		getSite().getWorkbenchWindow().removePerspectiveListener(this);
-		getSite().getWorkbenchWindow().removePageListener(this);
-		
-		cleanup();
-		
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		super.dispose();
-	}
-	
-	/**
-	 * Disposes of cached information
-	 */
-	protected void cleanup() {
-		setEditorId(null);
-		setEditorInput(null);
-		setStackFrame(null);
-	}
-	
-	/**
-	 * Creates and returns the content provider to use for
-	 * the viewer of this view.
-	 */
-	protected IStructuredContentProvider createContentProvider() {
-		return new LaunchViewContentProvider();
-	}
-	
-	/**
-	 * The selection has changed in the viewer. Show the
-	 * associated source code if it is a stack frame.
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		clearStatusLine();
-		updateObjects();
-		showEditorForCurrentSelection();
-		updateContextListener();
-	}
-
-	/**
-	 * Lookup source element for current stack frame again.
-	 */
-	public void redoSourceLookup() {
-		setStackFrame(null);
-		selectionChanged(null);
-	}
-
-	private void updateContextListener() {
-		if (isActive() && isAutoManageViews()) {
-			fContextListener.updateForSelection(((IStructuredSelection) getViewer().getSelection()).getFirstElement());
-		}
-	}
-
-	
-	/**
-	 * Returns whether this view automatically opens and closes
-	 * views based on contexts
-	 * @return whether or not this view automatically manages
-	 * views based on contexts
-	 */
-	public boolean isAutoManageViews() {
-		IWorkbenchPage page = getViewSite().getWorkbenchWindow().getActivePage();
-		if (page != null) {
-			IPerspectiveDescriptor descriptor = page.getPerspective();
-			if (descriptor != null) {
-				return fAutoManagePerspectives.contains(descriptor.getId());
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether this view automatically tracks views being
-	 * opened and closed for the purpose of not automatically
-	 * managing those views once they've been opened/closed manually.
-	 * 
-	 * @return whether this view automatically tracks views being
-	 *  opened and closed.
-	 */
-	public boolean isTrackViews() {
-		return DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS);
-	}
-	
-	/**
-	 * Load the collection of perspectives in which perspectives
-	 * for view management from the preference store.
-	 */
-	private void loadAutoManagePerspectives() {
-		String prefString = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES);
-		fAutoManagePerspectives= parseList(prefString);
-	}
-	
-	/**
-	 * Parses the comma separated string into a list of strings
-	 * 
-	 * @return list
-	 */
-	public static List parseList(String listString) {
-		List list = new ArrayList(10);
-		StringTokenizer tokenizer = new StringTokenizer(listString, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			list.add(token);
-		}
-		return list;
-	}
-	
-	/**
-	 * Sets the collection of perspectives in which this 
-	 * view will automatically open and close views based
-	 * on contexts.
-	 * @param perspectiveIds the collection of perspectives
-	 * in which this view should automatically manage views
-	 * based on contexts
-	 */
-	public void setAutoManagePerspectives(List perspectiveIds) {
-		fAutoManagePerspectives= perspectiveIds;
-		updateContextListener();
-	}
-	
-	/**
-	 * Notifies this view that the given launches have terminated. When a launch
-	 * terminates, remove all context submissions associated with it.
-	 * 
-	 * @param launches the terminated launches
-	 */
-	protected void launchesTerminated(ILaunch[] launches) {
-		if (isAutoManageViews()) {
-			fContextListener.launchesTerminated(launches);
-		}
-	}
-
-	/**
-	 * Returns the ILaunch associated with the given selection or
-	 * <code>null</code> if none can be determined.
-	 * 
-	 * @param selection the selection or <code>null</code>
-	 * @return the ILaunch associated with the given selection or <code>null</code>
-	 */
-	protected static ILaunch getLaunch(Object selection) {
-		ILaunch launch= null;
-		if (selection instanceof ILaunch) {
-			launch= (ILaunch) selection;
-		} else if (selection instanceof IDebugElement) {
-			launch= ((IDebugElement) selection).getLaunch();
-		} else if (selection instanceof IProcess) {
-			launch= ((IProcess) selection).getLaunch();
-		}
-		return launch;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		ISelection selection= event.getSelection();
-		if (!(selection instanceof IStructuredSelection)) {
-			return;
-		}
-		IStructuredSelection ss= (IStructuredSelection)selection;
-		Object o= ss.getFirstElement();
-		if (o == null || o instanceof IStackFrame) {
-			return;
-		} 
-		TreeViewer tViewer= (TreeViewer)getViewer();
-		boolean expanded= tViewer.getExpandedState(o);
-		tViewer.setExpandedState(o, !expanded);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor)
-	 */
-	public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-		setActive(page.findView(getSite().getId()) != null);
-		updateObjects();
-		showEditorForCurrentSelection();
-		updateContextListener();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPerspectiveListener#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, java.lang.String)
-	 */
-	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-		setActive(page.findView(getSite().getId()) != null);
-		if (fContextListener != null) {
-			fContextListener.perspectiveChanged(page, changeId);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageActivated(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageActivated(IWorkbenchPage page) {
-		if (getSite().getPage().equals(page)) {
-			setActive(true);
-			updateObjects();
-			showEditorForCurrentSelection();
-			if (isTrackViews()) {
-				page.addPartListener(fContextListener);
-			} else {
-				// Since there are no "part deactivated" notifications...
-				// The context listener could have been registered on 
-				// a previous activation of the page.
-				page.removePartListener(fContextListener);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-		page.removePartListener(fContextListener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-	}		
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part.equals(fEditor)) {
-			fEditor = null;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener#partOpened(org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-		if (part == this) {		   
-            fContextListener= new LaunchViewContextListener(LaunchView.this);
-			updateContextListener();
-		}
-	}
-	
-	/**
-	 * Opens an editor for the current selection if it is a stack frame.
-	 * Otherwise, nothing will happen.
-	 */
-	protected void showEditorForCurrentSelection() {
-		// ensure this view is visible in the active page
-		if (!isActive()) {
-			return;
-		}		
-		ISelection selection= getViewer().getSelection();
-		Object obj= null;
-		if (selection instanceof IStructuredSelection) {
-			obj= ((IStructuredSelection) selection).getFirstElement();
-		}
-		if (!(obj instanceof IStackFrame)) {
-			return;
-		}
-		openEditorForStackFrame((IStackFrame) obj);
-	}
-	
-	/**
-	 * Translate to an editor input using the source presentation
-	 * provided by the source locator, or the default debug model
-     * presentation.
-     */
-	private void lookupEditorInput(IStackFrame stackFrame) {
-		setEditorId(null);
-		setEditorInput(null);
-		setSourceElement(null);
-		Object sourceElement= null;
-		ILaunch launch= stackFrame.getLaunch();
-		if (launch == null) {
-			return;
-		}
-		ISourceLocator locator= launch.getSourceLocator();
-		if (locator == null) {
-			return;
-		}
-		sourceElement= locator.getSourceElement(stackFrame);
-		if (sourceElement == null) {
-			if (locator instanceof AbstractSourceLookupDirector)
-				commonSourceNotFound(stackFrame);
-			else
-				sourceNotFound(stackFrame);
-			return;
-		}
-		ISourcePresentation presentation= null;
-		if (locator instanceof ISourcePresentation) {
-			presentation= (ISourcePresentation) locator;
-		} else {
-			presentation= getPresentation(stackFrame.getModelIdentifier());
-		}
-		IEditorInput editorInput= null;
-		String editorId= null;
-		if (presentation != null) {
-			editorInput= presentation.getEditorInput(sourceElement);
-		}
-		if (editorInput != null) {
-			editorId= presentation.getEditorId(editorInput, sourceElement);
-		}
-		setEditorInput(editorInput);
-		setEditorId(editorId);
-		setSourceElement(sourceElement);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String)
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		return ((DelegatingModelPresentation)fEditorPresentation).getPresentation(id);
-	}
-	
-	/**
-	 * Sets editor id and input for the "source not found" editor.
-	 */
-	private void sourceNotFound(IStackFrame frame) {
-		setEditorInput(new SourceNotFoundEditorInput(frame));
-		setEditorId(IInternalDebugUIConstants.ID_SOURCE_NOT_FOUND_EDITOR);
-	}
-
-	/**
-	 * Sets editor id and input for the "common source not found" editor.
-	 */
-	private void commonSourceNotFound(IStackFrame frame) {
-		setEditorInput(new CommonSourceNotFoundEditorInput(frame));
-		setEditorId(IInternalDebugUIConstants.ID_COMMON_SOURCE_NOT_FOUND_EDITOR);
-	}
-
-	/**
-	 * Get the active window and open/bring to the front an editor on the stack
-	 * frame. Selection is based on the line number OR the char start and end.
-	 */
-	protected void openEditorForStackFrame(IStackFrame stackFrame) {
-		if (fShowingEditor) {
-			return;
-		}
-		try {
-			fShowingEditor = true;
-
-			if (!stackFrame.isSuspended()) {
-				return;
-			}
-
-			if (stackFrame.equals(getStackFrame())) {
-				if (getEditorInput() == null || getEditorId() == null) {
-					lookupEditorInput(stackFrame);
-				}
-			} else {
-				setStackFrame(stackFrame);
-				lookupEditorInput(stackFrame);
-			}
-			if (getEditorInput() == null || getEditorId() == null) {
-				return;
-			}
-			IEditorPart editor= openEditor();
-			if (editor == null) {
-				return;
-			}
-			// position and annotate editor for stack frame
-			if (fEditorPresentation.addAnnotations(editor, stackFrame)) {
-				Decoration decoration = new StandardDecoration(fEditorPresentation, editor, stackFrame.getThread());
-				DecorationManager.addDecoration(decoration);				
-			} else if (editor instanceof ITextEditor) {
-				// perform standard positioning and annotations
-				ITextEditor textEditor = (ITextEditor)editor;
-				positionEditor(textEditor, stackFrame);
-				InstructionPointerManager.getDefault().addAnnotation(textEditor, stackFrame);
-			}
-		} finally {
-			fShowingEditor= false;
-		}
-	}
-	
-	/**
-	 * Positions the text editor for the given stack frame
-	 */
-	private void positionEditor(ITextEditor editor, IStackFrame frame) {
-		try {
-			int charStart = frame.getCharStart();
-			if (charStart > 0) {
-				editor.selectAndReveal(charStart, 0);
-				return;
-			}
-			int lineNumber = frame.getLineNumber();
-			lineNumber--; // Document line numbers are 0-based. Debug line numbers are 1-based.
-			IRegion region= getLineInformation(editor, lineNumber);
-			if (region != null) {
-				editor.selectAndReveal(region.getOffset(), 0);
-			}
-		} catch (DebugException e) {
-		}
-	}
-	
-	/**
-	 * Returns the line information for the given line in the given editor
-	 */
-	private IRegion getLineInformation(ITextEditor editor, int lineNumber) {
-		IDocumentProvider provider= editor.getDocumentProvider();
-		IEditorInput input= editor.getEditorInput();
-		try {
-			provider.connect(input);
-		} catch (CoreException e) {
-			return null;
-		}
-		try {
-			IDocument document= provider.getDocument(input);
-			if (document != null)
-				return document.getLineInformation(lineNumber);
-		} catch (BadLocationException e) {
-		} finally {
-			provider.disconnect(input);
-		}
-		return null;
-	}
-
-
-	/**
-	 * Opens the editor used to display the source for an element selected in
-	 * this view and returns the editor that was opened or <code>null</code> if
-	 * no editor could be opened.
-	 */
-	private IEditorPart openEditor() {
-		IWorkbenchWindow window= getSite().getWorkbenchWindow();
-		if (window == null) {
-			return null;
-		}
-		IWorkbenchPage page= window.getActivePage();
-		if (page == null) {
-			return null;
-		}
-
-		if (fEditorIndex >= 0) {
-			// first restoration of editor re-use
-			IEditorReference[] refs = page.getEditorReferences();
-			if (fEditorIndex < refs.length) {
-				fEditor = refs[fEditorIndex].getEditor(false);
-			}
-			fEditorIndex = -1;
-		}
-
-		IEditorPart editor = null;
-		IEditorInput input= getEditorInput();
-		String id= getEditorId();
-		if (input == null || id == null) {
-			return null;
-		}
-		if (fReuseEditor) {
-			editor = page.getActiveEditor();
-			if (editor != null) {
-				// The active editor is the one we want to reuse
-				if (!editor.getEditorInput().equals(input)) {
-					editor = null;
-				}
-			}
-			if (editor == null) {
-				// Try to find the editor we want to reuse and activate it
-				IEditorReference[] refs = page.getEditorReferences();
-				for (int i = 0; i < refs.length; i++) {
-					IEditorPart refEditor= refs[i].getEditor(true);
-					if (refEditor != null && input.equals(refEditor.getEditorInput())) {
-						editor = refEditor;
-						page.bringToTop(editor);
-						break;
-					}
-				}
-			}
-			if (editor == null) {
-				if (fEditor == null || fEditor.isDirty() || page.isEditorPinned(fEditor)) {
-					editor = openEditor(page, input, id);
-					fEditor = editor;
-				} else if (fEditor instanceof IReusableEditor && fEditor.getSite().getId().equals(id)) {
-					((IReusableEditor)fEditor).setInput(input);
-					editor = fEditor;
-					page.bringToTop(editor);
-				} else {
-					editor = openEditor(page, input, id);
-					page.closeEditor(fEditor, false);
-					fEditor = editor;
-				}
-			}
-		} else {
-			// Open a new editor
-			editor = openEditor(page, input, id);
-		}
-		return editor;
-	}
-	
-	/**
-	 * Opens an editor in the workbench and returns the editor that was opened
-	 * or <code>null</code> if an error occurred while attempting to open the
-	 * editor.
-	 */
-	private IEditorPart openEditor(final IWorkbenchPage page, final IEditorInput input, final String id) {
-		final IEditorPart[] editor = new IEditorPart[] {null};
-		Runnable r = new Runnable() {
-			public void run() {
-				try {
-					editor[0] = page.openEditor(input, id, false);
-				} catch (PartInitException e) {
-					DebugUIPlugin.errorDialog(DebugUIPlugin.getShell(), 
-						DebugUIViewsMessages.getString("LaunchView.Error_1"),  //$NON-NLS-1$
-						DebugUIViewsMessages.getString("LaunchView.Exception_occurred_opening_editor_for_debugger._2"),  //$NON-NLS-1$
-						e);
-				}					
-			}
-		}; 
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
-		return editor[0];
-	}
-
-	/**
-	 * Deselects any source decorations associated with the given thread or
-	 * debug target.
-	 * 
-	 * @param source thread or debug target
-	 */
-	public void clearSourceSelection(Object source) {		
-		if (source instanceof IThread) {
-			IThread thread = (IThread)source;
-			DecorationManager.removeDecorations(thread);
-			InstructionPointerManager.getDefault().removeAnnotations(thread);
-		} else if (source instanceof IDebugTarget) {
-			IDebugTarget target = (IDebugTarget)source;
-			DecorationManager.removeDecorations(target);
-			InstructionPointerManager.getDefault().removeAnnotations(target);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	protected void fillContextMenu(IMenuManager menu) {
-		
-		menu.add(new Separator(IDebugUIConstants.EMPTY_EDIT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EDIT_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_STEP_GROUP));
-		menu.add(new Separator(IDebugUIConstants.STEP_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_INTO_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_OVER_GROUP));
-		menu.add(new GroupMarker(IDebugUIConstants.STEP_RETURN_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_THREAD_GROUP));
-		menu.add(new Separator(IDebugUIConstants.THREAD_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_LAUNCH_GROUP));
-		menu.add(new Separator(IDebugUIConstants.LAUNCH_GROUP));
-		IStructuredSelection selection = (IStructuredSelection) getSite().getSelectionProvider().getSelection();
-		updateAndAdd(menu, fEditConfigAction, selection);
-		updateAndAdd(menu, fAddToFavoritesAction, selection);
-		updateAndAdd(menu, fEditSourceAction, selection);
-		updateAndAdd(menu, fLookupAction, selection);
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.PROPERTY_GROUP));
-		PropertyDialogAction action = (PropertyDialogAction)getAction("Properties"); //$NON-NLS-1$
-		action.setEnabled(action.isApplicableForSelection());
-		menu.add(action);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}	
-	
-	/**
-	 * Updates the enablement of the given action based on the selection
-	 * and addes to the menu iff enabled.
-	 * 
-	 * @param menu menu to add the action to
-	 * @param action action to add if enabled
-	 * @param selection selection to update enablement
-	 */
-	private void updateAndAdd(IMenuManager menu, SelectionListenerAction action, IStructuredSelection selection) {
-		action.selectionChanged(selection);
-		if (action.isEnabled()) {
-			menu.add(action);
-		}		
-	}
-	
-	/**
-	 * Auto-expand and select the given element - must be called in UI thread.
-	 * This is used to implement auto-expansion-and-select on a SUSPEND event.
-	 */
-	public void autoExpand(Object element, boolean refreshNeeded, boolean selectNeeded) {
-		Object selectee = element;
-		Object[] children= null;
-		if (element instanceof IThread) {
-			if (!refreshNeeded) {
-				refreshNeeded= threadRefreshNeeded((IThread)element);
-			}
-			// try the top stack frame
-			try {
-				selectee = ((IThread)element).getTopStackFrame();
-			} catch (DebugException de) {
-			}
-			if (selectee == null) {
-				selectee = element;
-			}
-		} else if (element instanceof ILaunch) {
-			IDebugTarget dt = ((ILaunch)element).getDebugTarget();
-			if (dt != null) {
-				selectee= dt;
-				try {
-					children= dt.getThreads();
-				} catch (DebugException de) {
-					DebugUIPlugin.log(de);
-				}
-			} else {
-				IProcess[] processes= ((ILaunch)element).getProcesses();
-				if (processes.length != 0) {
-					selectee= processes[0];
-				}		
-			}
-		}
-		if (refreshNeeded) {
-			//ensures that the child item exists in the viewer widget
-			//set selection only works if the child exists
-			getStructuredViewer().refresh(element);
-		}
-		if (selectNeeded) {
-			getViewer().setSelection(new StructuredSelection(selectee), true);
-		}
-		if (children != null && children.length > 0) {
-			//reveal the thread children of a debug target
-			getStructuredViewer().reveal(children[0]);
-		}
-	}
-	
-	/**
-	 * Returns whether the given thread needs to
-	 * be refreshed in the tree.
-	 * 
-	 * The tree needs to be refreshed if the
-	 * underlying model objects (IStackFrame) under the given thread
-	 * differ from those currently displayed in the tree.
-	 */
-	protected boolean threadRefreshNeeded(IThread thread) {
-		LaunchViewer viewer= (LaunchViewer)getStructuredViewer();
-		ILaunch launch= thread.getLaunch();
-		TreeItem[] launches= viewer.getTree().getItems();
-		for (int i = 0; i < launches.length; i++) {
-			if (launches[i].getData() == launch) {
-				IDebugTarget target= thread.getDebugTarget();
-				TreeItem[] targets= launches[i].getItems();
-				for (int j = 0; j < targets.length; j++) {
-					if (targets[j].getData() == target) {
-						TreeItem[] threads= targets[j].getItems();
-						for (int k = 0; k < threads.length; k++) {
-							if (threads[k].getData() == thread) {
-								IStackFrame[] frames= null;
-								try {
-									frames = thread.getStackFrames();
-								} catch (DebugException exception) {
-									return true;
-								}
-								TreeItem[] treeFrames= threads[k].getItems();
-								if (frames.length != treeFrames.length) {
-									return true;
-								}
-								for (int l= 0, numFrames= treeFrames.length; l < numFrames; l++) {
-									if (treeFrames[l].getData() != frames[l]) {
-										return true;
-									}
-								}
-								break;
-							}
-						}
-						break;
-					}
-				}
-				break;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the last stack frame that source was retrieved
-	 * for. Used to avoid source lookups for the same stack
-	 * frame when stepping.
-	 * 
-	 * @return stack frame, or <code>null</code>
-	 */
-	protected IStackFrame getStackFrame() {
-		return fStackFrame;
-	}	
-	
-	/**
-	 * Sets the last stack frame that source was retrieved
-	 * for. Used to avoid source lookups for the same stack
-	 * frame when stepping. Setting the stack frame to <code>null</code>
-	 * effectively forces a source lookup.
-	 * 
-	 * @param frame The stack frame or <code>null</code>
-	 */
-	protected void setStackFrame(IStackFrame frame) {
-		fStackFrame= frame;
-	}	
-	
-	/**
-	 * Sets the editor input that was resolved for the
-	 * source display.
-	 * 
-	 * @param editorInput editor input
-	 */
-	private void setEditorInput(IEditorInput editorInput) {
-		fEditorInput = editorInput;
-	}
-	
-	/**
-	 * Returns the editor input that was resolved for the
-	 * source display.
-	 * 
-	 * @return editor input
-	 */
-	protected IEditorInput getEditorInput() {
-		return fEditorInput;
-	}	
-	
-	/**
-	 * Sets the id of the editor opened when displaying
-	 * source.
-	 * 
-	 * @param editorId editor id
-	 */
-	private void setEditorId(String editorId) {
-		fEditorId = editorId;
-	}
-	
-	/**
-	 * Returns the id of the editor opened when displaying
-	 * source.
-	 * 
-	 * @return editor id
-	 */
-	protected String getEditorId() {
-		return fEditorId;
-	}	
-	
-	/**
-	 * Sets the current source element, possibly <code>null</code>
-	 * 
-	 * @param sourceElement
-	 */
-	private void setSourceElement(Object sourceElement) {
-		fSourceElement = sourceElement;
-	}
-	
-	/**
-	 * Returns the current source element, possibly <code>null</code>
-	 * 
-	 * @return Object
-	 */
-	protected Object getSourceElement() {
-		return fSourceElement;
-	}
-	
-	/**
-	 * Sets whether this view is in the active page of a
-	 * perspective. Since a page can have more than one
-	 * perspective, this view only show's source when in
-	 * the active perspective/page.
-	 * 
-	 * @param active whether this view is in the active page of a
-	 * perspective
-	 */
-	protected void setActive(boolean active) {
-		fIsActive = active;
-	} 
-
-	/**
-	 * Returns whether this view is in the active page of
-	 * the active perspective and has been fully created.
-	 * 
-	 * @return whether this view is in the active page of
-	 * the active perspective and has been fully created.
-	 */
-	protected boolean isActive() {
-		return fIsActive && getViewer() != null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String property = event.getProperty();
-		if (property.equals(IDebugUIConstants.PREF_REUSE_EDITOR)) {
-			fReuseEditor = DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_REUSE_EDITOR);
-		} else if (property.equals(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES)) {
-			loadAutoManagePerspectives();
-		} else if (property.equals(LaunchViewContextListener.PREF_OPENED_VIEWS) && fContextListener != null) {
-			fContextListener.loadOpenedViews();
-		} else if (property.equals(LaunchViewContextListener.PREF_VIEWS_TO_NOT_OPEN) && fContextListener != null) {
-			fContextListener.loadViewsToNotOpen();
-		} else if (property.equals(IInternalDebugUIConstants.PREF_TRACK_VIEWS) && fContextListener != null) {
-			if (isTrackViews()) {
-				getSite().getPage().addPartListener(fContextListener);
-			} else {
-				getSite().getPage().removePartListener(fContextListener);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		if (fReuseEditor && fEditor != null) {
-			IWorkbenchWindow dwindow= getSite().getWorkbenchWindow();
-			if (dwindow == null) {
-				return;
-			}	
-			IWorkbenchPage page= dwindow.getActivePage();
-			if (page == null) {
-				return;
-			}
-			IEditorReference[] refs = page.getEditorReferences();
-			int index = -1;
-			for (int i = 0; i < refs.length; i++) {
-				if (fEditor.equals(refs[i].getEditor(false))) {
-					index = i;
-					break;
-				}
-			}
-			if (index >= 0) {	
-				memento.putString(IDebugUIConstants.PREF_REUSE_EDITOR, Integer.toString(index));
-			}
-		}
-	}
-
-	/**
-	 * Visitor for handling resource deltas. When a project is closed, we must clear
-	 * the cache of editor input/stack frame, etc., as the elements can become invalid.
-	 */
-	class LaunchViewVisitor implements IResourceDeltaVisitor {
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			if (delta == null) {
-				return false;
-			}
-			IResource resource = delta.getResource();
-			if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
-				if (resource instanceof IProject) {
-					IProject project = (IProject)resource;
-					if (!project.isOpen()) {
-						// clear
-					    cleanup();
-					}
-				}
-				return false;
-			}
-			return resource instanceof IWorkspaceRoot;
-		}		
-	}
-	
-	/* (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(getVisitor());
-			} catch (CoreException e) {
-				DebugUIPlugin.log(e);
-			}
-		}		
-	}
-
-	/**
-	 * Returns the resource delta visitor for this view,
-	 * creating if required.
-	 * 
-	 * @return resource delta visitor
-	 */
-	protected IResourceDeltaVisitor getVisitor() {
-		if (fVisitor == null) {
-			fVisitor = new LaunchViewVisitor();
-		}
-		return fVisitor;
-	}
-	
-	/**
-	 * When this view becomes visible, selects the last stack frame whose
-	 * location was revealed.
-	 * 
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		IStructuredSelection selection= (IStructuredSelection) getViewer().getSelection(); 
-		if (selection.isEmpty() || !selection.getFirstElement().equals(getStackFrame())) {
-			initializeSelection();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext)
-	 */
-	public boolean show(ShowInContext context) {
-		ISelection selection = context.getSelection();
-		if (selection != null) {
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection)selection;
-				if (ss.size() == 1) {
-					Object obj = ss.getFirstElement();
-					if (obj instanceof IDebugTarget || obj instanceof IProcess) {
-						getViewer().setSelection(selection, true);
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInSource#getShowInContext()
-	 */
-	public ShowInContext getShowInContext() {
-		if (isActive()) { 
-			IStructuredSelection selection = (IStructuredSelection)getViewer().getSelection();
-			if (selection != null && !selection.isEmpty()) { 
-				Object sourceElement = getSourceElement();
-				if (sourceElement instanceof IAdaptable) {
-					if (((IAdaptable)sourceElement).getAdapter(IResource.class) != null) {
-						return new ShowInContext(null, new StructuredSelection(getSourceElement()));
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInTargetList#getShowInTargetIds()
-	 */
-	public String[] getShowInTargetIds() {
-		return new String[] { IPageLayout.ID_RES_NAV };
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
deleted file mode 100644
index 6bbc123..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContentProvider.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
- 
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-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.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provides content for the launch view.
- */
-public class LaunchViewContentProvider implements ITreeContentProvider {
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		try {
-			if (parent instanceof IDebugTarget) {
-				return ((IDebugTarget)parent).getThreads();
-			}
-			if (parent instanceof IThread) {
-				return ((IThread)parent).getStackFrames();
-			}			
-		} catch (DebugException e) {
-			DebugUIPlugin.log(e);
-		}
-		if (parent instanceof ILaunch) {
-			return ((ILaunch)parent).getChildren();
-		}
-		if (parent instanceof ILaunchManager) {
-			return ((ILaunchManager) parent).getLaunches();
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof IStackFrame) {
-			return ((IStackFrame)element).getThread();
-		}
-		if (element instanceof IThread) {
-			return ((IThread)element).getDebugTarget();
-		}
-		if (element instanceof IDebugTarget) {
-			return ((IDebugElement)element).getLaunch();
-		}
-		if (element instanceof IProcess) {
-			return ((IProcess)element).getLaunch();
-		}
-		if (element instanceof ILaunch) {
-			return DebugPlugin.getDefault().getLaunchManager();
-		}
-		return null;
-	}
-
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof IStackFrame) {
-			return false;
-		}
-		if (element instanceof IDebugTarget) {
-			try {
-				return ((IDebugTarget)element).hasThreads();
-			} catch (DebugException e) {
-				return false;
-			}
-		} 
-		if (element instanceof IThread) {
-			try {
-				return ((IThread)element).hasStackFrames();
-			} catch (DebugException e) {
-				return false;
-			}
-		}
-		if (element instanceof IProcess) {
-			return false;
-		}
-		if (element instanceof ILaunch) {
-			return ((ILaunch)element).hasChildren();
-		}
-		if (element instanceof ILaunchManager) {
-			return ((ILaunchManager) element).getLaunches().length > 0;
-		}
-		return false;
-	}
-
-	/**
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-
-	/**
-	 * Nothing to dispose.
-	 * 
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContextListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContextListener.java
deleted file mode 100644
index 95e7b3a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContextListener.java
+++ /dev/null
@@ -1,956 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugModelProvider;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.DebugContextManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.activities.IActivity;
-import org.eclipse.ui.activities.IActivityManager;
-import org.eclipse.ui.activities.IActivityPatternBinding;
-import org.eclipse.ui.activities.IWorkbenchActivitySupport;
-import org.eclipse.ui.contexts.ContextManagerEvent;
-import org.eclipse.ui.contexts.EnabledSubmission;
-import org.eclipse.ui.contexts.IContext;
-import org.eclipse.ui.contexts.IContextManager;
-import org.eclipse.ui.contexts.IContextManagerListener;
-import org.eclipse.ui.contexts.IWorkbenchContextSupport;
-import org.eclipse.ui.contexts.NotDefinedException;
-
-/**
- * A context listener which automatically opens/closes/activates views in
- * response to debug context changes and automatically enables activities
- * as appropriate.
- * 
- * The context listener updates for selection changes in the LaunchView,
- * enabling/disabling contexts and enabling activities based on the
- * org.eclipse.debug.ui.debugModelContextBindings and
- * org.eclipse.ui.activities extension points.
- * 
- * Activity pattern bindings with patterns of the form:
- *   <debug model identifier>/debugModel
- * are treated as bindings between a debug model and an activity. When
- * an element with the specified debug model identifier is selected,
- * the specified activity will be enabled.
- */
-public class LaunchViewContextListener implements IPartListener2, IContextManagerListener {
-
-	public static final String DEBUG_MODEL_ACTIVITY_SUFFIX = "debugModel"; //$NON-NLS-1$
-	public static final String ID_CONTEXT_VIEW_BINDINGS= "contextViewBindings"; //$NON-NLS-1$
-	public static final String ID_DEBUG_MODEL_CONTEXT_BINDINGS= "debugModelContextBindings"; //$NON-NLS-1$
-	public static final String ATTR_CONTEXT_ID= "contextId"; //$NON-NLS-1$
-	public static final String ATTR_VIEW_ID= "viewId"; //$NON-NLS-1$
-	public static final String ATTR_DEBUG_MODEL_ID= "debugModelId"; //$NON-NLS-1$
-	public static final String ATTR_AUTO_OPEN= "autoOpen"; //$NON-NLS-1$
-	public static final String ATTR_AUTO_CLOSE= "autoClose"; //$NON-NLS-1$
-	/**
-	 * Attributes used to persist which views the user has manually opened/closed
-	 */
-	private static final String ATTR_VIEWS_TO_NOT_OPEN = "viewsNotToOpen"; //$NON-NLS-1$
-	private static final String ATTR_OPENED_VIEWS = "viewsNotToClose"; //$NON-NLS-1$
-	
-	/**
-	 * The launch view that this context listener works for
-	 */
-	private LaunchView launchView;
-	/**
-	 * A mapping of debug models IDs (String) to a collection
-	 * of context IDs (List<String>).
-	 */
-	private Map modelsToContexts= new HashMap();
-	/**
-	 * A mapping of debug model IDs (String) to a collection
-	 * of activity IDs (List<String>).
-	 */
-	private Map modelsToActivities= new HashMap();
-	/**
-	 * A mapping of context IDs (Strings) to a collection
-	 * of context-view bindings (IConfigurationElements).
-	 */
-	private Map contextViews= new HashMap();
-	/**
-	 * Collection of all views that might be opened or closed automatically.
-	 */
-	private Set managedViewIds= new HashSet();
-	/**
-	 * Collection of views which have been manually closed by the
-	 * user. Views which are in this collection should not be
-	 * automatically opened.
-	 */
-	private Set viewIdsToNotOpen= new HashSet();
-	/**
-	 * Collection of views which have been automatically opened.
-	 * Only views which are in this collection should be automatically
-	 * closed.
-	 */
-	private Set openedViewIds= new HashSet();
-	/**
-	 * Map of ILaunch objects to the List of EnabledSubmissions that were
-	 * submitted for them.
-	 * Key: ILaunch
-	 * Value: List <EnabledSubmission>
-	 */
-	private Map fContextSubmissions= new HashMap();
-	/**
-	 * String preference specifying which views should not be
-	 * automatically opened by the launch view.
-	 * The value is a comma-separated list of view identifiers.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_VIEWS_TO_NOT_OPEN= IDebugUIConstants.PLUGIN_ID + ".views_to_not_open"; //$NON-NLS-1$
-	/**
-	 * String preference specifying which views have been
-	 * automatically opened by the launch view. Only views which
-	 * have been automatically opened will be automatically closed.
-	 * The value is a comma-separated list of view identifiers.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_OPENED_VIEWS= IDebugUIConstants.PLUGIN_ID + ".opened_views"; //$NON-NLS-1$
-	
-	/**
-	 * Creates a fully initialized context listener.
-	 * 
-	 * @param view a fully initialized launch view
-	 */
-	public LaunchViewContextListener(LaunchView view) {
-		launchView= view;
-		loadDebugModelContextExtensions();
-		loadDebugModelActivityExtensions();
-		loadContextToViewExtensions(true);
-		loadOpenedViews();
-		loadViewsToNotOpen();
-		PlatformUI.getWorkbench().getContextSupport().getContextManager().addContextManagerListener(this);
-		showDebugActionSet();
-	}
-	
-	/**
-	 * Loads extensions which map context ids to views. This information
-	 * is used to open the appropriate views when a context is activated. 
-	 */
-	private void loadContextToViewExtensions(boolean reloadContextMappings) {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_CONTEXT_VIEW_BINDINGS);
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
-			String viewId = getViewId(element);
-			if (reloadContextMappings) {
-				String contextId = element.getAttribute(ATTR_CONTEXT_ID);
-				if (contextId == null || viewId == null) {
-					continue;
-				}
-				List elements= (List) contextViews.get(contextId);
-				if (elements == null) {
-					elements= new ArrayList();
-					contextViews.put(contextId, elements);
-				}
-				elements.add(element);
-			}
-			managedViewIds.add(viewId);
-		}
-	}
-	
-	/**
-	 * Loads the extensions which map debug model identifiers
-	 * to context ids. This information is used to activate the
-	 * appropriate context when a debug element is selected.
-	 * 
-	 * When a context associated with a debug model is enabled, we
-	 * also activate all parent contexts. Since the context manager
-	 * does not do this automatically, we cache all parent context
-	 * identifiers in the modelToContexts map as well
-	 */
-	private void loadDebugModelContextExtensions() {
-		IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), ID_DEBUG_MODEL_CONTEXT_BINDINGS);
-		IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
-		for (int i = 0; i < configurationElements.length; i++) {
-			IConfigurationElement element = configurationElements[i];
-			String modelIdentifier = element.getAttribute(ATTR_DEBUG_MODEL_ID);
-			String contextId = element.getAttribute(ATTR_CONTEXT_ID);
-			if (modelIdentifier != null && contextId != null) {
-				List contextIds = (List) modelsToContexts.get(modelIdentifier);
-				if (contextIds == null) {
-					contextIds = new ArrayList();
-					modelsToContexts.put(modelIdentifier, contextIds);
-				}
-				contextIds.add(contextId);
-			}
-		}
-	}
-	
-	/**
-	 * Loads the extensions which map debug model identifiers
-	 * to activity ids. This information is used to activate the
-	 * appropriate activities when a debug element is selected.
-	 */
-	private void loadDebugModelActivityExtensions() {
-		IActivityManager activityManager = PlatformUI.getWorkbench().getActivitySupport().getActivityManager();
-		Set activityIds = activityManager.getDefinedActivityIds();
-		Iterator activityIterator = activityIds.iterator();
-		while (activityIterator.hasNext()) {
-			String activityId= (String) activityIterator.next();
-			IActivity activity = activityManager.getActivity(activityId);
-			if (activity != null) {
-				Set patternBindings = activity.getActivityPatternBindings();
-				Iterator patternIterator= patternBindings.iterator();
-				while (patternIterator.hasNext()) {
-					IActivityPatternBinding patternBinding= (IActivityPatternBinding) patternIterator.next();
-					String pattern = patternBinding.getPattern().pattern();
-					int index = pattern.lastIndexOf(DEBUG_MODEL_ACTIVITY_SUFFIX);
-					if (index > 0) {
-						String debugModel= pattern.substring(0, index - 1);
-						List ids = (List)modelsToActivities.get(debugModel);
-						if (ids == null) {
-							ids = new ArrayList();
-							modelsToActivities.put(debugModel, ids);
-						}
-						ids.add(activityId);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Lists the contextViews configuration elements for the
-	 * given context ID and all its parent context IDs. The
-	 * list only contains one configuration element per view
-	 * such that if a child context provides a binding for a view
-	 * it will override any bindings provided for that same view by
-	 * parent contexts.
-	 * 
-	 * @param contextId the context ID
-	 * @return the configuration elements for the given context ID and
-	 * 	all parent context IDs. 
-	 */
-	private List getConfigurationElements(String contextId) {
-		// Collection of view ids for which configuration
-		// elements have been found.
-		List configuredViewIds= new ArrayList();
-		List allConfigurationElements= new ArrayList();
-		IContextManager contextManager = PlatformUI.getWorkbench().getContextSupport().getContextManager();
-		while (contextId != null) {
-			List configurationElements= (List) contextViews.get(contextId);
-			if (configurationElements != null) {
-				ListIterator iter= configurationElements.listIterator();
-				while (iter.hasNext()) {
-					// Remove any configuration elements for views that
-					// are already "bound" by a configuration element.
-					// This allows child contexts to override parent
-					// bindings.
-					IConfigurationElement element= (IConfigurationElement) iter.next();
-					String viewId = element.getAttribute(ATTR_VIEW_ID);
-					if (viewId != null) {
-						if (configuredViewIds.contains(viewId)) {
-							iter.remove();
-						}
-						configuredViewIds.add(viewId);
-					}
-				}
-				allConfigurationElements.addAll(configurationElements);
-			}
-			IContext context = contextManager.getContext(contextId);
-			if (context != null) {
-				try {
-					contextId= context.getParentId();
-				} catch (NotDefinedException e) {
-					contextId= null;
-				}
-			}
-		}
-		return allConfigurationElements;		 
-	}
-	
-	/**
-	 * Persist the collection of views to not automatically open.
-	 */
-	private void saveViewsToNotOpen() {
-		saveViewCollection(LaunchViewContextListener.PREF_VIEWS_TO_NOT_OPEN, viewIdsToNotOpen);
-	}
-	
-	/**
-	 * Persist the collection of views which have been automatically
-	 * opened.
-	 */
-	private void saveOpenedViews() {
-		saveViewCollection(LaunchViewContextListener.PREF_OPENED_VIEWS, openedViewIds);
-	}
-
-	/**
-	 * Persist the view identifiers that the user has manually
-	 * opened/closed so that we continue to not automatically
-	 * open/close them.
-	 * @param attribute the preference key in which to store the
-	 *  view id collection
-	 * @param collection the view identifier collection
-	 */
-	public void saveViewCollection(String attribute, Set collection) {
-		StringBuffer views= new StringBuffer();
-		Iterator iter= collection.iterator();
-		while (iter.hasNext()) {
-			views.append((String) iter.next()).append(',');
-		}
-		if (views.length() > 0) {
-			IPreferenceStore preferenceStore = DebugUITools.getPreferenceStore();
-			preferenceStore.removePropertyChangeListener(launchView);
-			preferenceStore.setValue(attribute, views.toString());
-			preferenceStore.addPropertyChangeListener(launchView);
-		}
-	}
-	
-	/**
-	 * Load the collection of views to not open.
-	 */
-	public void loadViewsToNotOpen() {
-		loadViewCollection(ATTR_VIEWS_TO_NOT_OPEN, viewIdsToNotOpen);
-	}
-	
-	/**
-	 * Load the collection of views that have been automatically
-	 * opened.
-	 */
-	public void loadOpenedViews() {
-		loadViewCollection(ATTR_OPENED_VIEWS, openedViewIds);
-	}
-	
-	/**
-	 * Loads a collection of view ids from the preferences keyed to
-	 * the given attribute, and stores them in the given collection
-	 * 
-	 * @param attribute the attribute of the view ids
-	 * @param collection the collection to store the view ids into.
-	 */
-	public void loadViewCollection(String attribute, Set collection) {
-		collection.clear();
-		String views = DebugUITools.getPreferenceStore().getString(attribute);
-		int startIndex= 0;
-		int endIndex= views.indexOf(',');
-		if (endIndex == -1) {
-			endIndex= views.length();
-		}
-		while (startIndex < views.length() - 1) {
-			String viewId= views.substring(startIndex, endIndex);
-			if (viewId.length() > 0) {
-				collection.add(viewId);
-			}
-			startIndex= endIndex + 1;
-			endIndex= views.indexOf(',', startIndex);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.contexts.IContextManagerListener#contextManagerChanged(org.eclipse.ui.contexts.ContextManagerEvent)
-	 */
-	public void contextManagerChanged(ContextManagerEvent contextManagerEvent) {
-		Set enabled = getNewlyEnabledContexts(contextManagerEvent);
-		Set disabled = getNewlyDisabledContexts(contextManagerEvent);
-		contextEnabled(enabled);
-		contextsDisabled(disabled);
-	}
-	
-	private Set getNewlyEnabledContexts(ContextManagerEvent contextManagerEvent) {
-	    Set set = new HashSet(contextManagerEvent.getContextManager().getEnabledContextIds());
-	    set.removeAll(contextManagerEvent.getPreviouslyEnabledContextIds());
-	    return set;
-	}
-
-	private Set getNewlyDisabledContexts(ContextManagerEvent contextManagerEvent) {
-	    Set set = new HashSet(contextManagerEvent.getPreviouslyEnabledContextIds());
-	    set.removeAll(contextManagerEvent.getContextManager().getEnabledContextIds());
-	    return set;
-	}
-
-	/**
-	 * The context with the given ID has been enabled.
-	 * Activate the appropriate views.
-	 * 
-	 * @param contextId the ID of the context that has been
-	 * 	enabled
-	 */
-	public void contextEnabled(Set contextIds) {
-		IWorkbenchPage page= getActiveWorkbenchPage();
-		// We ignore the "Debugging" context since we use it
-		// to provide a base set of views for other context
-		// bindings to inherit. If we don't ignore it, we'll
-		// end up opening those views whenever a debug session
-		// starts, which is not the desired behavior.
-		contextIds.remove(DebugContextManager.DEBUG_CONTEXT);
-		if (page == null || contextIds.size() == 0) {
-			return;
-		}
-		Set viewsToShow= new HashSet();
-		Set viewsToOpen= new HashSet();
-		computeViewActivation(contextIds, viewsToOpen, viewsToShow);
-		page.removePartListener(this); // Stop listening before opening/activating views
-		Iterator iterator= viewsToOpen.iterator();
-		while (iterator.hasNext()) {
-			String viewId = (String) iterator.next();
-			try {
-				IViewPart view = page.showView(viewId, null, IWorkbenchPage.VIEW_CREATE);
-				openedViewIds.add(view.getViewSite().getId());
-				viewsToShow.add(view);
-			} catch (PartInitException e) {
-				DebugUIPlugin.log(e.getStatus());
-			}
-		}
-		if (!viewsToOpen.isEmpty()) {
-			saveOpenedViews();
-		}
-		iterator= viewsToShow.iterator();
-		while (iterator.hasNext()) {
-			boolean activate= true;
-			IViewPart view = (IViewPart) iterator.next();
-			IViewPart[] stackedViews = page.getViewStack(view);
-			if (stackedViews == null) {
-				continue;
-			}
-			// For each applicable view, iterate through the view stack.
-			// If we find that view before any other applicable views,
-			// show it. Otherwise, don't.
-			for (int i = 0; i < stackedViews.length; i++) {
-				IViewPart stackedView= stackedViews[i];
-				if (view == stackedView) {
-					break;
-				} else if (viewsToShow.contains(stackedView)) {
-					// If this view is below an appropriate view, don't show it
-					activate= false;
-					break;
-				}
-			}
-			if (activate) {
-				page.bringToTop(view);
-			}
-		}
-		restorePartListener(page);
-	}
-	
-	/**
-	 * Compute which views should be automatically opened and which should be
-	 * automatically brought to top when the given contexts are enabled.
-	 * 
-	 * @param contextIds the contexts that have been enabled
-	 * @param viewIdsToOpen a Set into which this method can store the
-	 *  collection of view identifiers (String) that should be opened
-	 * @param viewIdsShow a Set into which this method can store the
-	 *  collection of view identifiers (String) that should be brought to top
-	 */
-	private void computeViewActivation(Set contextIds, Set viewIdsToOpen, Set viewIdsShow) {
-		IWorkbenchPage page = getActiveWorkbenchPage();
-		if (page == null) {
-			return;
-		}
-		Iterator contexts = contextIds.iterator();
-		while (contexts.hasNext()) {
-			String contextId = (String) contexts.next();
-			Iterator configurationElements= getConfigurationElements(contextId).iterator();
-			while (configurationElements.hasNext()) {
-				IConfigurationElement element = (IConfigurationElement) configurationElements.next();
-				String viewId= getViewId(element);
-				if (viewId == null) {
-					continue;
-				}
-				IViewReference reference = page.findViewReference(viewId);
-				if (reference != null && reference.isFastView()) {
-					continue;
-				}
-				IViewPart view = page.findView(viewId);
-				if (view != null) {
-					viewIdsShow.add(view);
-				} else if (isAutoOpen(element) && !viewIdsToNotOpen.contains(viewId)) {
-					// Don't open automatically if specified not to.
-					viewIdsToOpen.add(viewId);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * The given contexts have been disabled. Close all views
-	 * associated with these contexts that aren't associated
-	 * with other active contexts.
-	 * 
-	 * @param contexts
-	 */
-	public void contextsDisabled(Set contexts) {
-		IWorkbenchPage page= getActiveWorkbenchPage();
-		if (page == null || contexts.size() == 0) {
-			return;
-		}
-		Set viewsToClose= getViewIdsToClose(contexts);
-		if (viewsToClose.isEmpty()) { 
-			return;
-		}
-		page.removePartListener(this);
-		Iterator iter= viewsToClose.iterator();
-		while (iter.hasNext()) {
-			String viewId= (String) iter.next();
-			IViewReference view = page.findViewReference(viewId);
-			if (view != null) {
-				page.hideView(view);
-				openedViewIds.remove(viewId);
-			}
-		}
-		saveOpenedViews();
-		restorePartListener(page);
-	}
-	
-	/**
-	 * Returns a collection of view IDs which should be closed
-	 * when the given context IDs are disabled.
-	 * 
-	 * @param contextIds the context identifiers
-	 * @return the identifiers of the views which should be closed
-	 *  when the given contexts disable 
-	 */
-	public Set getViewIdsToClose(Set contextIds) {
-		Set viewIdsToClose= new HashSet();
-		Set viewIdsToKeepOpen= getViewIdsForEnabledContexts();
-		Iterator contexts = contextIds.iterator();
-		while (contexts.hasNext()) {
-			String contextId = (String) contexts.next();
-			List list = getConfigurationElements(contextId);
-			Iterator iter = list.iterator();
-			while (iter.hasNext()) {
-				IConfigurationElement element = (IConfigurationElement) iter.next();
-				if (!isAutoClose(element)) {
-					continue;
-				}
-				String viewId = getViewId(element);
-				if (viewId == null || !openedViewIds.contains(viewId) || viewIdsToKeepOpen.contains(viewId)) {
-					// Don't close views that the user has manually opened or views
-					// which are associated with contexts that are still enabled.
-					continue;
-				}
-				viewIdsToClose.add(viewId);
-			}
-		}
-		return viewIdsToClose;
-	}
-	
-	/**
-	 * Returns the set of view identifiers that are bound to
-	 * contexts which are enabled in the workbench.
-	 * 
-	 * @return the set of view identifiers bound to enabled contexts
-	 */
-	protected Set getViewIdsForEnabledContexts() {
-		Set viewIds= new HashSet();
-		Iterator enabledContexts = PlatformUI.getWorkbench().getContextSupport().getContextManager().getEnabledContextIds().iterator();
-		while (enabledContexts.hasNext()) {
-			String contextId = (String) enabledContexts.next();
-			if (contextId.equals(DebugContextManager.DEBUG_CONTEXT)) {
-				// Ignore the "Debugging" context. See comment in contextEnabled(...)
-				continue;
-			}
-			viewIds.addAll(getApplicableViewIds(contextId));
-		}
-		return viewIds;
-	}
-	
-	/**
-	 * Returns the set of view identifiers that are bound to the
-	 * given context.
-	 * 
-	 * @param contextId the context identifier
-	 * @return the set of view identifiers bound to the given context
-	 */
-	public Set getApplicableViewIds(String contextId) {
-		Set viewIds= new HashSet();
-		Iterator elements = getConfigurationElements(contextId).iterator();
-		while (elements.hasNext()) {
-			String viewId = getViewId((IConfigurationElement) elements.next());
-			if (viewId != null) {
-				viewIds.add(viewId);
-			}
-		}
-		return viewIds;
-	}
-	
-	/**
-	 * Determines the debug context associated with the selected
-	 * stack frame's debug model (if any) and activates that
-	 * context. This triggers this view's context listener
-	 * to automatically open/close/activate views as appropriate.
-	 */
-	public void updateForSelection(Object selection) {
-		ILaunch launch= LaunchView.getLaunch(selection);
-		if (launch == null) {
-			return;
-		}
-		String[] modelIds= getDebugModelIdsForSelection(selection);
-		enableContexts(getContextsForModels(modelIds), launch);
-		enableActivities(getActivitiesForModels(modelIds));
-	}
-	
-	/**
-	 * Returns the debug model identifiers associated with the given selection.
-	 * 
-	 * @param selection the selection
-	 * @return the debug model identifiers associated with the given selection
-	 */
-	protected String[] getDebugModelIdsForSelection(Object selection) {
-		if (selection instanceof IAdaptable) {
-			IDebugModelProvider modelProvider= (IDebugModelProvider) Platform.getAdapterManager().getAdapter(selection, IDebugModelProvider.class);
-			if (modelProvider != null) {
-				String[] modelIds= modelProvider.getModelIdentifiers();
-				if (modelIds != null) {
-					return modelIds;
-				}
-			}
-		}
-		if (selection instanceof IStackFrame) {
-			return new String[] { ((IStackFrame) selection).getModelIdentifier() };
-		}
-		return new String[0];
-	}
-	
-	/**
-	* Returns the activity identifiers associated with the
-	* given model identifiers.
-	* 
-	* @param modelIds the model identifiers
-	* @return the activities associated with the given model identifiers
-	*/
-	protected List getActivitiesForModels(String[] modelIds) {
-		List activityIds= new ArrayList();
-		for (int i = 0; i < modelIds.length; i++) {
-			List ids= (List) modelsToActivities.get(modelIds[i]);
-			if (ids != null) {
-				activityIds.addAll(ids);
-			}
-		}
-		return activityIds;
-	}
-	
-	/**
-	* Returns the context identifiers associated with the
-	* given model identifiers.
-	* 
-	* @param modelIds the model identifiers
-	* @return the contexts associated with the given model identifiers
-	*/
-	protected List getContextsForModels(String[] modelIds) {
-		List contextIds= new ArrayList();
-		for (int i = 0; i < modelIds.length; i++) {
-			List ids= (List) modelsToContexts.get(modelIds[i]);
-			if (ids == null) {
-				// seed with base debug context
-				ids = new ArrayList();
-				ids.add(DebugContextManager.DEBUG_CONTEXT);
-				modelsToContexts.put(modelIds[i], ids);
-			}
-			contextIds.addAll(ids);
-		}
-		return contextIds;
-	}
-	
-	/**
-	 * Enables the given activities in the workbench.
-	 * 
-	 * @param activityIds the activities to enable
-	 */
-	protected void enableActivities(List activityIds) {
-		IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
-		Set enabledIds = activitySupport.getActivityManager().getEnabledActivityIds();
-		Set idsToEnable= new HashSet();
-		Iterator iter= activityIds.iterator();
-		while (iter.hasNext()) {
-			idsToEnable.add(iter.next());
-		}
-		if (!idsToEnable.isEmpty()) {
-			idsToEnable.addAll(enabledIds);
-			activitySupport.setEnabledActivityIds(idsToEnable);
-		}
-	}
-	
-	/**
-	 * Enable the given contexts for the given launch. Context
-	 * IDs which are not currently enabled in the workbench will be
-	 * submitted to the workbench. Simulate a context enablement
-	 * callback (by calling contextActivated) for contexts that are already enabled so that
-	 * their views can be promoted.
-	 * 
-	 * @param contextIds the contexts to enable
-	 * @param launch the launch for which the contexts are being enabled
-	 */
-	protected void enableContexts(List contextIds, ILaunch launch) {
-		if (contextIds.isEmpty()) {
-			return;
-		}
-		Set enabledContexts = PlatformUI.getWorkbench().getContextSupport().getContextManager().getEnabledContextIds();
-		Set contextsAlreadyEnabled= new HashSet();
-		Iterator iter= contextIds.iterator();
-		while (iter.hasNext()) {
-			String contextId= (String) iter.next();
-			if (enabledContexts.contains(contextId)) {
-				// If a context is already enabled, submitting it won't
-				// generate a callback from the workbench. So we inform
-				// our context listener ourselves.
-				contextsAlreadyEnabled.add(contextId);
-			}
-		}
-		submitContexts(contextIds, launch);
-		contextEnabled(contextsAlreadyEnabled);
-	}
-
-	/**
-	 * Submits the given context IDs to the workbench context support
-	 * on behalf of the given launch. When the launch terminates,
-	 * the context submissions will be automatically removed.
-	 *  
-	 * @param contextIds the contexts to submit
-	 * @param launch the launch for which the contexts are being submitted
-	 */
-	protected void submitContexts(List contextIds, ILaunch launch) {
-		List submissions = (List) fContextSubmissions.get(launch);
-		if (submissions == null) {
-			submissions= new ArrayList();
-			fContextSubmissions.put(launch, submissions);
-		}
-		List newSubmissions= new ArrayList();
-		Iterator iter= contextIds.iterator();
-		while (iter.hasNext()) {
-			newSubmissions.add(new EnabledSubmission(null, null, null, (String) iter.next()));
-		}
-		IWorkbenchContextSupport contextSupport = PlatformUI.getWorkbench().getContextSupport();
-		if (!newSubmissions.isEmpty()) {
-			contextSupport.addEnabledSubmissions(newSubmissions);
-			// After adding the new submissions, remove any old submissions
-			// that exist for the same context IDs. This prevents us from
-			// building up a ton of redundant submissions.
-			List submissionsToRemove= new ArrayList();
-			ListIterator oldSubmissions= submissions.listIterator();
-			while (oldSubmissions.hasNext()) {
-				EnabledSubmission oldSubmission= (EnabledSubmission) oldSubmissions.next();
-				String contextId = oldSubmission.getContextId();
-				if (contextIds.contains(contextId)) {
-					oldSubmissions.remove();
-					submissionsToRemove.add(oldSubmission);
-				}
-			}
-			contextSupport.removeEnabledSubmissions(submissionsToRemove);
-			submissions.addAll(newSubmissions);
-		}
-	}
-	
-	/**
-	 * Notifies this view that the given launches have terminated. When a launch
-	 * terminates, remove all context submissions associated with it.
-	 * 
-	 * @param launches the terminated launches
-	 */
-	protected void launchesTerminated(ILaunch[] launches) {
-		List allSubmissions= new ArrayList();
-		for (int i = 0; i < launches.length; i++) {
-			List submissions= (List) fContextSubmissions.remove(launches[i]);
-			if (submissions != null) {
-				allSubmissions.addAll(submissions);
-			}
-		}
-		PlatformUI.getWorkbench().getContextSupport().removeEnabledSubmissions(allSubmissions);
-	}
-	
-	/**
-	 * Returns the view identifier associated with the given extension
-	 * element or <code>null</code> if none.
-	 * 
-	 * @param element the contextViewBinding extension element
-	 * @return the view identifier associated with the given element or <code>null</code>
-	 */
-	public static String getViewId(IConfigurationElement element) {
-		return element.getAttribute(ATTR_VIEW_ID);
-	}
-	
-	/**
-	 * Returns whether the given configuration element is configured
-	 * for automatic view opening. The element's view should be automatically
-	 * opened if the autoOpen element is specified as true or if the autoOpen
-	 * element is unspecified.
-	 * 
-	 * @param element the contextViewBinding extension element
-	 * @return whether or not given given configuration element's view
-	 *  should be automatically opened
-	 */
-	public static boolean isAutoOpen(IConfigurationElement element) {
-		String autoOpen = element.getAttribute(ATTR_AUTO_OPEN);
-		return autoOpen == null || Boolean.valueOf(autoOpen).booleanValue();
-	}
-	
-	/**
-	 * Returns whether the given configuration element is configured
-	 * for automatic view closure. The element's view should be automatically
-	 * close if the autoClose element is specified as true or if the autoClose
-	 * element is unspecified.
-	 * 
-	 * @param element the contextViewBinding extension element
-	 * @return whether or not given given configuration element's view
-	 *  should be automatically closed
-	 */
-	public static boolean isAutoClose(IConfigurationElement element) {
-		String autoClose = element.getAttribute(ATTR_AUTO_CLOSE);
-		return autoClose == null || Boolean.valueOf(autoClose).booleanValue();
-	}
-	
-	/**
-	 * Returns the workbench page in which views should be managed.
-	 * The page containing the debug view, the active workbench page, or
-	 * <code>null</code> if neither of these is available.
-	 * 
-	 * @return the workbench page in which views should be managed or
-	 *  <code>null</code>
-	 */
-	public IWorkbenchPage getActiveWorkbenchPage() {
-		IWorkbenchPage page= launchView.getViewSite().getWorkbenchWindow().getActivePage();
-		if (page == null) {
-			IWorkbenchWindow window= DebugUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				page= window.getActivePage();
-			}
-		}
-		return page;
-	}
-	
-	/**
-	 * Turns on the debug action set.
-	 */
-	private void showDebugActionSet() {
-		IWorkbenchPage page = getActiveWorkbenchPage();
-		if (page != null) {
-			page.showActionSet(IDebugUIConstants.DEBUG_ACTION_SET);
-		}
-	}
-	
-	/**
-	 * Notifies this listener that the given perspective change
-	 * has occurred.
-	 * 
-	 * Don't listen to part open/close notifications during reset.
-	 */
-	public void perspectiveChanged(IWorkbenchPage page, String changeId) {
-		if (changeId.equals(IWorkbenchPage.CHANGE_RESET)) {
-			page.removePartListener(this);
-		} else if (changeId.equals(IWorkbenchPage.CHANGE_RESET_COMPLETE)) {
-			restorePartListener(page);
-		}
-	}
-	
-	/**
-	 * Restores this view as a part listener on the given
-	 * page as appropriate. Has no effect if the user has
-	 * specified to not track views.
-	 * 
-	 * @param page the page with which the listener will
-	 *  be registered
-	 */
-	private void restorePartListener(IWorkbenchPage page) {
-		if (launchView.isTrackViews()) {
-			page.addPartListener(this);
-		}
-	}
-
-	/**
-	 * When the user opens a view, do not automatically
-	 * close that view in the future.
-	 */
-	public void partOpened(IWorkbenchPartReference ref) {
-		if (ref instanceof IViewReference) {
-			String id = ((IViewReference) ref).getId();
-			openedViewIds.remove(id);
-			saveOpenedViews();
-		}
-	}
-	
-	/**
-	 * When the user closes a view, do not automatically
-	 * open that view in the future.
-	 */
-	public void partHidden(IWorkbenchPartReference ref) {
-		if (ref instanceof IViewReference) {
-			String id = ((IViewReference) ref).getId();
-			// partHidden is sent whenever the view is made not
-			// visible. To tell that the view has been "closed",
-			// try to find it.
-			if (getActiveWorkbenchPage().findView(id) == null) {
-				if (managedViewIds.contains(id)) {
-					viewIdsToNotOpen.add(id);
-					saveViewsToNotOpen();
-				}
-				openedViewIds.remove(id);
-				saveOpenedViews();
-			}
-		}
-	}
-	
-	/**
-	 * When the launch view becomes visible, turn on the
-	 * debug action set. Note that the workbench will handle the
-	 * case where the user really doesn't want the action set
-	 * enabled - showActionSet(String) will do nothing for an
-	 * action set that's been manually disabled.
-	 */
-	public void partVisible(IWorkbenchPartReference ref) {
-		if (ref instanceof IViewReference) {
-			IViewPart part = ((IViewReference) ref).getView(false);
-			if (part == launchView) {
-				showDebugActionSet();
-			}
-		}
-	}
-	
-	public void partActivated(IWorkbenchPartReference ref) {
-	}
-	public void partBroughtToTop(IWorkbenchPartReference ref) {
-	}
-	public void partClosed(IWorkbenchPartReference ref) {
-	}
-	public void partDeactivated(IWorkbenchPartReference ref) {
-	}
-	public void partInputChanged(IWorkbenchPartReference ref) {
-	}
-
-	/**
-	 * The launch view associated with this context listener has
-	 * been disposed. Remove as a context listener.
-	 *
-	 */
-	public void dispose() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		workbench.getContextSupport().getContextManager().removeContextManagerListener(this);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
deleted file mode 100644
index 5f7a88e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-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.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-
-/**
- * Handles debug events, updating the launch view and viewer.
- */
-public class LaunchViewEventHandler extends AbstractDebugEventHandler implements ILaunchesListener2 {
-	/**
-	 * The timer used to time step and evaluation events. The timer allows
-	 * the UI to not refresh during fast evaluations and steps.
-	 */
-	private ThreadTimer fThreadTimer= new ThreadTimer();
-	
-	/**
-	 * Cache of the last top stack frame
-	 */
-	private IStackFrame fLastStackFrame = null;
-	
-	/**
-	 * Constructs an event handler for the given launch view.
-	 * 
-	 * @param view launch view
-	 */
-	public LaunchViewEventHandler(LaunchView view) {
-		super(view);
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getLaunchManager().addLaunchListener(this);
-	}
-	
-
-	/**
-	 * @see AbstractDebugEventHandler#doHandleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {
-		fThreadTimer.handleDebugEvents(events);
-		Object suspendee = null;
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			Object source= event.getSource();
-			if (!(source instanceof IStackFrame || source instanceof IThread || source instanceof IDebugTarget || source instanceof IProcess)) {
-				// the launch view is not interested in any other types of elements
-				return;
-			}
-			switch (event.getKind()) {
-				case DebugEvent.CREATE :
-					insert(source);
-					if (source instanceof IDebugTarget) {
-						ILaunch launch= ((IDebugTarget)source).getLaunch();
-						getLaunchView().autoExpand(launch, false, true);
-					}
-					break;
-				case DebugEvent.TERMINATE :
-					if (source instanceof IThread) {
-						clearSourceSelection(source);
-						fThreadTimer.getTimedOutThreads().remove(source);
-						remove(source);
-					} else {
-						if (source instanceof IDebugTarget) {
-							clearSourceSelection(source);
-						}
-						Object parent = ((ITreeContentProvider)getTreeViewer().getContentProvider()).getParent(source);
-						refresh(parent);
-					}
-					break;
-				case DebugEvent.RESUME :
-					doHandleResumeEvent(event, source);
-					break;
-				case DebugEvent.SUSPEND :
-					if (suspendee == null || !suspendee.equals(source)) {
-						doHandleSuspendEvent(source, event);
-						suspendee = source;
-					}
-					break;
-				case DebugEvent.CHANGE :
-					if (source instanceof IStackFrame) {
-						IStackFrame lastFrame= getLaunchView().getStackFrame();
-						if (source.equals(lastFrame)) {
-							getLaunchView().setStackFrame(null);
-							getLaunchView().showEditorForCurrentSelection();
-						}
-					}
-					if (event.getDetail() == DebugEvent.STATE) {
-						labelChanged(source);
-					} else {
-						//structural change
-						refresh(source);
-					}
-					break;
-			}
-		}
-	}
-	
-	/**
-	 * Handles the given resume event with the given source.
-	 */
-	protected void doHandleResumeEvent(DebugEvent event, Object source) {
-		if (!event.isEvaluation()) {
-			clearSourceSelection(source);
-		}
-		if (event.isEvaluation() || event.isStepStart()) {
-			// Do not update for step starts and evaluation
-			// starts immediately. Instead, start the timer.
-			IThread thread= getThread(source);
-			if (thread != null) {
-				fThreadTimer.startTimer(thread);
-			}
-			return;
-		}
-		refresh(source);
-		if (source instanceof IThread) {
-			// When a thread resumes, try to select another suspended thread
-			// in the same target.
-			try {
-				IThread[] threads= ((IThread) source).getDebugTarget().getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					IStackFrame frame = threads[i].getTopStackFrame();
-					if (frame != null) {
-						selectAndReveal(frame);
-						return;
-					}
-				}
-			} catch (DebugException e) {
-			}
-			selectAndReveal(source);
-			return;
-		}
-	}
-	
-	/**
-	 * Updates the stack frame icons for a running thread.
-	 * This is useful for the case where a thread is resumed
-	 * temporarily  but the view should keep the stack frame 
-	 * visible (for example, step start or evaluation start).
-	 */
-	protected void updateRunningThread(IThread thread) {
-		labelChanged(thread);
-		getLaunchViewer().updateStackFrameImages(thread);
-		clearSourceSelection(thread);
-	}
-
-	protected void doHandleSuspendEvent(Object element, DebugEvent event) {
-		IThread thread= getThread(element);
-		if (thread != null) {
-			fThreadTimer.stopTimer(thread);
-		}
-		
-		boolean wasTimedOut= fThreadTimer.getTimedOutThreads().remove(thread);
-		if (event.isEvaluation() && ((event.getDetail() & DebugEvent.EVALUATION_IMPLICIT) != 0)) {
-			if (thread != null && !wasTimedOut) {
-				// No refresh required for implicit evaluations that complete on time
-				return;
-			}
-		}
-		if (element instanceof IThread) {
-			doHandleSuspendThreadEvent((IThread)element, event, wasTimedOut);
-			return;
-		}
-		refresh(element);
-	}
-	
-	/**
-	 * Updates the given thread for the given suspend event.
-	 */
-	protected void doHandleSuspendThreadEvent(IThread thread, DebugEvent event, boolean wasTimedOut) {
-		// if the thread has already resumed, do nothing
-		if (!thread.isSuspended() || !isAvailable()) {
-			return;
-		}
-
-		// do not update source selection for evaluation events
-		boolean evaluationEvent = event.isEvaluation();
-		
-		// if the top frame is the same, only update labels and images, and re-select
-		// the frame to display source
-		try {
-			IStackFrame frame = thread.getTopStackFrame();
-			if (frame != null && frame.equals(fLastStackFrame)) {
-				if (wasTimedOut) {
-					getLaunchViewer().updateStackFrameImages(thread);
-				}
-				getLaunchViewer().update(new Object[] {thread, frame}, null);
-				if (!evaluationEvent) {
-					getLaunchViewer().setSelection(new StructuredSelection(frame));
-				} else if (wasTimedOut) {
-					getLaunchView().showEditorForCurrentSelection();
-				}
-				return;
-			}
-		} catch (DebugException e) {
-		}
-		
-		// Auto-expand the thread. Only select the thread if this wasn't the end
-		// of an evaluation		
-		
-		getLaunchView().autoExpand(thread, true, !evaluationEvent);
-		
-		try {
-			fLastStackFrame = thread.getTopStackFrame();
-		} catch (DebugException e) {
-			fLastStackFrame = null;
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugEventHandler#updateForDebugEvents(DebugEvent[])
-	 */
-	protected void updateForDebugEvents(DebugEvent[] events) {
-		super.updateForDebugEvents(events);
-		if (isViewVisible()) {
-			return;
-		}
-		doHandleDebugEvents(events);
-	}
-	
-	/**
-	 * De-registers this event handler from the debug model.
-	 */
-	public void dispose() {
-		super.dispose();
-		fThreadTimer.stop();
-		DebugPlugin plugin= DebugPlugin.getDefault();
-		plugin.getLaunchManager().removeLaunchListener(this);
-	}
-
-	/**
-	 * Clear the selection in the editor - must be called in UI thread
-	 */
-	private void clearSourceSelection(Object source) {
-		if (getViewer() != null) {
-			getLaunchView().clearSourceSelection(source);
-		}
-	}	
-
-	/**
-	 * Returns this event handler's launch viewer
-	 * 
-	 * @return launch viewer
-	 */
-	protected LaunchViewer getLaunchViewer() {
-		return (LaunchViewer)getViewer();
-	}
-	
-	/**
-	 * Returns this event handler's launch view
-	 * 
-	 * @return launch view
-	 */
-	protected LaunchView getLaunchView() {
-		return (LaunchView)getView();
-	}		
-	
-	private IThread getThread(Object element) {
-		IThread thread = null;
-		if (element instanceof IThread) {
-			thread = (IThread) element;
-		} else if (element instanceof IStackFrame) {
-			thread = ((IStackFrame)element).getThread();
-		}
-		return thread;
-	}
-	
-	class ThreadTimer {
-		
-		private Thread fThread;
-		/**
-		 * The time allotted before a thread will be updated
-		 */
-		private long TIMEOUT= 500;
-		/**
-		 * Time in milliseconds that the thread timer started
-		 * running with no timers.
-		 */
-		private long timeEmpty= 0;
-		/**
-		 * The maximum time in milliseconds that the thread
-		 * will continue running with no timers.
-		 */
-		private long MAX_TIME_EMPTY= 3000;
-		private boolean fStopped= false;
-		private Object fLock= new Object();
-		
-		/**
-		 * Maps threads that are currently performing being timed
-		 * to the allowed time by which they must finish. If this
-		 * limit expires before the timer is stopped, the thread will
-		 * be refreshed.
-		 */
-		HashMap fStopTimes= new HashMap();
-		/**
-		 * Collection of threads whose timers have expired.
-		 */
-		HashSet fTimedOutThreads= new HashSet();
-		
-		public Set getTimedOutThreads() {
-			return fTimedOutThreads;
-		}
-		
-		/**
-		 * Handle debug events dispatched from launch view event handler.
-		 * If there are no running targets, stop this timer.
-		 */
-		public void handleDebugEvents(DebugEvent[] events) {
-			if (fStopped) {
-				return;
-			}
-			DebugEvent event;
-			for (int i= 0, numEvents= events.length; i < numEvents; i++) {
-				event= events[i];
-				if (event.getKind() == DebugEvent.TERMINATE && event.getSource() instanceof IDebugTarget) {
-					ILaunch[] launches= DebugPlugin.getDefault().getLaunchManager().getLaunches();
-					// If there are no more active DebugTargets, stop the thread.
-					for (int j= 0; j < launches.length; j++) {
-						IDebugTarget[] targets= launches[j].getDebugTargets();
-						for (int k = 0; k < targets.length; k++) {
-							IDebugTarget target = targets[k];
-							if (target != null && !target.isDisconnected() && !target.isTerminated()) {
-								return;
-							}
-						}
-					}
-					// To get here, there must be no running DebugTargets
-					stop();
-					return;
-				}
-			}
-		}
-			
-		public void startTimer(IThread thread) {
-			synchronized (fLock) {
-				fStopTimes.put(thread, new Long(System.currentTimeMillis() + TIMEOUT));
-				if (fThread == null) {
-					startThread();
-				}
-			}
-		}
-		
-		public void stop() {
-			synchronized (fLock) {
-				fStopped= true;
-				fThread= null;
-				fStopTimes.clear();
-			}
-		}
-		
-		public void stopTimer(IThread thread) {
-			synchronized (fLock) {
-				fStopTimes.remove(thread);
-			}
-		}
-		
-		private void startThread() {
-			fThread= new Thread(new Runnable() {
-				public void run() {
-					fStopped= false;
-					while (!fStopped) {
-						checkTimers();
-					}
-					
-				}
-			}, "Thread timer"); //$NON-NLS-1$
-			fThread.start();
-		}
-		
-		private void checkTimers() {
-			long timeToWait= TIMEOUT;
-			Map.Entry[] entries;
-			synchronized (fLock) {
-				if (fStopTimes.size() == 0) {
-					if (timeEmpty == 0) {
-						timeEmpty= System.currentTimeMillis();
-					} else 	if (System.currentTimeMillis() - timeEmpty > MAX_TIME_EMPTY) {
-						stop();
-						return;
-					}
-				} else {
-					timeEmpty= 0;
-				}
-				entries= (Map.Entry[])fStopTimes.entrySet().toArray(new Map.Entry[0]);
-			}
-			long stopTime, currentTime= System.currentTimeMillis();
-			Long entryValue;
-			Map.Entry entry= null;
-			for (int i= 0, numEntries= entries.length; i < numEntries; i++) {
-				entry= entries[i];
-				entryValue= (Long)entry.getValue();
-				if (entryValue == null) {
-					continue;
-				}
-				stopTime= entryValue.longValue();
-				if (stopTime <= currentTime) {
-					// The timer has expired for this thread.
-					// Refresh the UI to show that the thread
-					// is performing a long evaluation
-					final IThread thread= (IThread)entry.getKey();
-					fStopTimes.remove(thread);	
-					getView().asyncExec(new Runnable() {
-						public void run() {
-							fTimedOutThreads.add(thread);
-							updateRunningThread(thread);
-						}
-					});
-				} else {
-					timeToWait= Math.min(timeToWait, stopTime - currentTime);
-				}
-			}
-			try {
-				Thread.sleep(timeToWait);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchesAdded(final ILaunch[] launches) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					if (launches.length == 1) {
-						insert(launches[0]);
-					} else {
-						refresh();
-					}
-					for (int i = 0; i < launches.length; i++) {
-						if (launches[i].hasChildren()) {
-							getLaunchView().autoExpand(launches[i], false, i == (launches.length - 1));
-						}
-					}					
-
-				}
-			}
-		};
-
-		getView().syncExec(r);		
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchesChanged(final ILaunch[] launches) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {	
-					if (launches.length == 1) {
-						refresh(launches[0]);
-					} else {
-						refresh();
-					}
-					for (int i = 0; i < launches.length; i++) {
-						if (launches[i].hasChildren()) {
-							getLaunchView().autoExpand(launches[i], false, i == (launches.length - 1));
-						}						
-					}
-				}
-			}
-		};
-
-		getView().syncExec(r);				
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch)
-	 */
-	public void launchesRemoved(final ILaunch[] launches) {
-		Runnable r= new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					if (launches.length == 1) {
-						remove(launches[0]);
-					} else {
-						refresh();
-					}
-					ILaunchManager lm= DebugPlugin.getDefault().getLaunchManager();
-					IDebugTarget[] targets= lm.getDebugTargets();
-					if (targets.length > 0) {
-						IDebugTarget target= targets[targets.length - 1];
-						try {
-							IThread[] threads= target.getThreads();
-							for (int i=0; i < threads.length; i++) {
-								if (threads[i].isSuspended()) {
-									getLaunchView().autoExpand(threads[i], false, true);
-									return;
-								}
-							}						
-						} catch (DebugException de) {
-							DebugUIPlugin.log(de);
-						}
-						
-						getLaunchView().autoExpand(target.getLaunch(), false, true);
-					}
-				}
-			}
-		};
-
-		getView().asyncExec(r);		
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesTerminated(final ILaunch[] launches) {
-		Runnable r= new Runnable() {
-			public void run() {
-				getLaunchView().launchesTerminated(launches);
-			}
-		};
-		getView().asyncExec(r);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
deleted file mode 100644
index 97564a0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewer.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * The launch viewer displays a tree of launches.
- */
-public class LaunchViewer extends TreeViewer {
-		
-	/**
-	 * Overridden to fix bug 39709 - duplicate items in launch viewer. The
-	 * workaround is required since debug creation events (which result in
-	 * additions to the tree) are processed asynchrnously with the expanding
-	 * of a launch/debug target in the tree. 
-	 * 
-	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#add(java.lang.Object, java.lang.Object)
-	 */
-	public void add(Object parentElement, Object childElement) {
-		if (doFindItem(childElement) == null) {
-			super.add(parentElement, childElement);
-		}
-	}
-
-	public LaunchViewer(Composite parent) {
-		super(new Tree(parent, SWT.MULTI));
-		setUseHashlookup(true);
-	}
-			
-	/**
-	 * Update the images for all stack frame children of the given thread.
-	 * 
-	 * @param parentThread the thread whose frames should be updated
-	 */	
-	protected void updateStackFrameImages(IThread parentThread) {
-		Widget parentItem= findItem(parentThread);
-		if (parentItem != null) {
-			Item[] items= getItems((Item)parentItem);
-			for (int i = 0; i < items.length; i++) {
-				updateTreeItemImage((TreeItem)items[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Updates the image of the given tree item.
-	 * 
-	 * @param treeItem the item
-	 */
-	protected void updateTreeItemImage(TreeItem treeItem) {
-		ILabelProvider provider = (ILabelProvider) getLabelProvider();
-		Image image = provider.getImage(treeItem.getData());
-		if (image != null) {
-			treeItem.setImage(image);
-		}			
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in AbstractTreeViewer.
-	 */
-	protected void doUpdateItem(Item item, Object element) {
-		// update icon and label
-		ILabelProvider provider= (ILabelProvider) getLabelProvider();
-		String text= provider.getText(element);
-		if ("".equals(item.getText()) || !DebugViewInterimLabelProvider.PENDING_LABEL.equals(text)) { //$NON-NLS-1$
-			// If an element already has a label, don't set the label to
-			// the pending label. This avoids labels flashing when they're
-			// updated.
-			item.setText(text);
-		}
-		Image image = provider.getImage(element);
-		if (item.getImage() != image) {
-			item.setImage(image);
-		}
-		if (provider instanceof IColorProvider) {
-			IColorProvider cp = (IColorProvider) provider;
-			TreeItem treeItem = (TreeItem) item;
-			treeItem.setForeground(cp.getForeground(element));
-			treeItem.setBackground(cp.getBackground(element));
-		}
-	}
-	
-	/**
-	 * @see StructuredViewer#refresh(Object)
-	 */
-	public void refresh(Object element) {
-		//@see bug 7965 - Debug view refresh flicker
-		getControl().setRedraw(false);
-		super.refresh(element);
-		getControl().setRedraw(true);
-	}
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java
deleted file mode 100644
index e762e32..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IReusableEditor;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * Editor used when no source if found for a stack frame.
- * 
- * @since 2.1
- */
-public class SourceNotFoundEditor extends EditorPart implements IReusableEditor {
-	
-	/**
-	 * Text widget used for this editor
-	 */
-	private Text fText;
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSave(IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-			setSite(site);
-			setInput(input);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorPart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		fText = new Text(parent,SWT.MULTI|SWT.READ_ONLY|SWT.WRAP);
-		fText.setForeground(JFaceColors.getErrorText(fText.getDisplay()));
-		fText.setBackground(fText.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-		if (getEditorInput() != null) {
-			setInput(getEditorInput());
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (fText != null) {
-			fText.setFocus();
-		}
-	}
-
-	/**
-	 * @see IReusableEditor#setInput(org.eclipse.ui.IEditorInput)
-	 */
-	public void setInput(IEditorInput input) {
-		super.setInput(input);
-		setTitle(input.getName());
-		if (fText != null) {
-			fText.setText(input.getToolTipText());
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
deleted file mode 100644
index c6db216..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/SourceNotFoundEditorInput.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.internal.ui.views.DebugUIViewsMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-
-/**
- * Editor input for a stack frame for which source could not be located.
- * 
- * @since 2.1
- */
-public class SourceNotFoundEditorInput extends PlatformObject implements IEditorInput {
-	
-	/**
-	 * Associated stack frame
-	 */
-	private IStackFrame fFrame;
-	
-	/**
-	 * Stack frame text (cached on creation)
-	 */
-	private String fFrameText;
-
-	/**
-	 * Constructs an editor input for the given stack frame,
-	 * to indicate source could not be found.
-	 * 
-	 * @param frame stack frame
-	 */
-	public SourceNotFoundEditorInput(IStackFrame frame) {
-		fFrame = frame;
-		IDebugModelPresentation pres = DebugUITools.newDebugModelPresentation(frame.getModelIdentifier());
-		fFrameText = pres.getText(frame);
-		pres.dispose();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorInput#exists()
-	 */
-	public boolean exists() {
-		return false;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
-	 */
-	public ImageDescriptor getImageDescriptor() {
-		return DebugUITools.getDefaultImageDescriptor(fFrame);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getName()
-	 */
-	public String getName() {
-		try {
-			return fFrame.getName();
-		} catch (DebugException e) {
-			return DebugUIViewsMessages.getString("SourceNotFoundEditorInput.Source_Not_Found_1"); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getPersistable()
-	 */
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.IEditorInput#getToolTipText()
-	 */
-	public String getToolTipText() {
-		return MessageFormat.format(DebugUIViewsMessages.getString("SourceNotFoundEditorInput.Source_not_found_for_{0}_2"),new String[] {fFrameText}); //$NON-NLS-1$
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java
deleted file mode 100644
index ca92149..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/StandardDecoration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.launch;
-
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.IDebugEditorPresentation;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A reminder to remove any annotations created by an editor presentation
- */
-public class StandardDecoration extends Decoration {
-	
-	private IThread fThread;
-	private IEditorPart fEditor;
-	private IDebugEditorPresentation fPresentation;
-	
-	public StandardDecoration(IDebugEditorPresentation presentation, IEditorPart editorPart, IThread thread) {
-		fThread = thread;
-		fEditor = editorPart;
-		fPresentation = presentation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.launch.Decoration#remove()
-	 */
-	public void remove() {
-		fPresentation.removeAnnotations(fEditor, fThread);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.launch.Decoration#getThread()
-	 */
-	public IThread getThread() {
-		return fThread;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryAction.java
deleted file mode 100644
index bf8cd3f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-
-
-/**
- * Abstract action class for Memory View Action.
- * This allows action contribution to both toolbar actions
- * and context menu actions without having two seperate
- * implementations.  "getViewTab" gets called whenever the view
- * tab is required to run the action.
- * 
- * @since 3.0
- */
-abstract public class AbstractMemoryAction extends Action
-{
-	public AbstractMemoryAction()
-	{
-		super();
-	}
-	
-	public AbstractMemoryAction(String label)
-	{
-		super(label);
-	}
-	
-	public AbstractMemoryAction(String label, int style){
-		super(label, style);
-	}
-	
-	/**
-	 * @return the view tab for which the action should act on.
-	 */
-	abstract IMemoryViewTab getViewTab();
-	
-	/**
-	 * Given a view id, return the top view tab from the view.
-	 * Returns null if the view cannot be opened or a top view tab is not found.
-	 * @param viewId
-	 * @return
-	 */
-	public IMemoryViewTab getTopViewTabFromView(String viewId){
-		
-		if (viewId.equals(IInternalDebugUIConstants.ID_MEMORY_VIEW))
-		{	
-			//	open a new view if necessary
-			IWorkbenchPage p= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-			if (p == null) {
-				return null;
-			}
-			IViewPart view = null;
-			view= p.findView(viewId);
-			
-			if (view == null) {
-				try {
-					IWorkbenchPart activePart= p.getActivePart();
-					view= (MemoryView) p.showView(viewId);
-					p.activate(activePart);
-				} catch (PartInitException e) {
-					return null;
-				}		
-				
-			}
-			
-			if (view instanceof IMemoryView)
-			{
-				IMemoryViewTab topTap = ((IMemoryView)view).getTopMemoryTab();
-				
-				return topTap;
-			}
-			else
-			{
-				return null;
-			}
-		}
-		else
-			return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryRenderer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryRenderer.java
deleted file mode 100644
index dd1e380..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryRenderer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-
-
-/**
- * A rederer is a class that is responsible to convert data in byte
- * into a string and vice versa.
- * 
- * @since 3.0
- */
-abstract public class AbstractMemoryRenderer {
-	
-	protected IMemoryViewTab fViewTab;
-	protected String fRenderingId;
-	
-	/**
-	 * Sets the view tab of which the renderer is rendering for.
-	 * @param viewTab
-	 */
-	public void setViewTab(IMemoryViewTab viewTab){
-		fViewTab = viewTab;
-	}
-	
-	/**
-	 * Sets the rendering id of this renderer.
-	 * @param rederingId
-	 */
-	public void setRenderingId(String rederingId){
-		fRenderingId = rederingId;
-	}
-	
-	/**
-	 * This is called by the label provider for IMemoryViewTab
-	 * Implementor can reuse a memory view tab and presents data in a different format.
-	 * @param dataType - type of data the bytes hold
-	 * @param address - addres where the bytes belong to
-	 * @param data - the bytes
-	 * @param paddedStr - fill each byte that is invalid with this padded string.
-	 * @return a string to represent the memory.  
-	 * Do not return null.  Return a string to pad the cell if the memory cannot be converted successfully.
-	 */
-	abstract public String getString(String dataType, BigInteger address, MemoryByte[] data, String paddedStr);
-	
-	/**
-	 * This is called by the cell modifier from an IMemoryViewTab.
-	 * Implementor will convert the string value to an array of bytes.  The bytes will
-	 * be passed to the debug adapter for memory block modification.
-	 * Return null if the byte cannot be formatted properly.
-	 * @param dataType - type of data the string represents
-	 * @param address - address where the bytes belong to
-	 * @param currentValues - current values of the data in bytes format
-	 * @param data - the string to be converted to bytes
-	 * @return the bytes to be passed to debug adapter for modification.
-	 */
-	abstract public byte[] getBytes(String dataType, BigInteger address, MemoryByte[] currentValues, String data);
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewTab.java
deleted file mode 100644
index 98b9661..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractMemoryViewTab.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * This class is created to help maintain reference counting to a  memory block.
- * Plugins that wish to contribute a new rendering to Memory Rendering View can extend
- * from this class.  When a view tab is enabled, a reference will be addd to a reference
- * counting object in the synchronizer.  When a view tab is disabled, a reference will be removed
- * to a reference counting object in the synchronizer.  Memory Block will be enabled / disabled
- * based on this reference counting object.  If setEnabled is to be overriden, implementor must call
- * AbstractMemoryViewTab.setEnabled() or handle reference counting by itself.
- * 
- * @since 3.0
- */
-abstract public class AbstractMemoryViewTab implements IMemoryViewTab {
-	
-	protected IMemoryBlock fMemoryBlock;
-	protected TabItem fTabItem;
-	protected MenuManager fMenuMgr;
-	protected IMemoryRendering fRendering;
-	protected String fRenderingId;
-	
-	public AbstractMemoryViewTab(IMemoryBlock newMemory, TabItem newTab, MenuManager menuMgr, IMemoryRendering rendering)
-	{
-		fMemoryBlock = newMemory;
-		fTabItem = newTab;
-		fMenuMgr = menuMgr;
-		fRendering = rendering;
-		fRenderingId = rendering.getRenderingId();
-		
-		fTabItem.setData(this);
-		
-		// Whenever a new view tab is created, enable the tab to ensure
-		// that reference counting and memory block enablement state is
-		// maintained.
-		maintainRefAndEnablement(true);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		maintainRefAndEnablement(enabled);
-	}
-	
-	/**
-	 * Maintain memory enabled reference counting and its enablement
-	 * If addReference is true, a reference count will be added to the memory block.
-	 * The memory block will be enabled if there is more than one object referencing to the
-	 * memory block.
-	 * If addReference is false, a refernece count will be removed from the memory block
-	 * The memory block will be disabled if no object is referencing to the memory block.
-	 * @param addReference
-	 */
-	protected void maintainRefAndEnablement(boolean addReference)
-	{
-		// if add enabled reference
-		if (addReference)
-		{
-			if (getMemoryBlock() instanceof IExtendedMemoryBlock)
-			{
-				// add view tab to synchronizer
-				ArrayList references = addReferenceToSynchronizer();
-				
-				// if this is the first enabled reference to the memory block
-				// enable the memory block
-				if (references.size() == 1 && !((IExtendedMemoryBlock)getMemoryBlock()).isEnabled() )
-					((IExtendedMemoryBlock)getMemoryBlock()).enable();
-			}
-		}
-		// if remove enabled reference
-		else if (!addReference){
-			if (getMemoryBlock() instanceof IExtendedMemoryBlock)
-			{
-				ArrayList references = removeReferenceFromSynchronizer();
-				
-				if (references == null)
-					return;
-				
-				// if there is not more enabled reference to the memory block
-				// disable the memory block
-				if (references.size() == 0 && ((IExtendedMemoryBlock)getMemoryBlock()).isEnabled())							
-					((IExtendedMemoryBlock)getMemoryBlock()).disable();
-			}			
-		}		
-	}
-	
-	/**
-	 * 	Multiple view tabs can reference to the same memory block.
-	 *	Use this property to keep track of all references that are enabled.
-	 *	(i.e.  requiring change events from the memory block.)
-	 *	When a view tab is created/enabled, a reference will be added to the synchronizer.
-	 *	When a view tab is disposed/disabled, the reference will be removed from the synchronizer.
-	 *	The view tab examines this references array and will only enable
-	 *	a memory block if there is at least one enabled reference to the memory
-	 *	block.  If there is no enabled reference to the memory block, the
-	 *	memory block should be disabled.
-	 * @return the reference object
-	 */
-	protected ArrayList addReferenceToSynchronizer() {
-
-		ArrayList references = (ArrayList)DebugUIPlugin.getDefault().getMemoryBlockViewSynchronizer().getSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_ENABLED_REFERENCES);
-		
-		// first reference count
-		if (references == null)
-		{
-			references = new ArrayList();
-		}
-		
-		// add the reference to the reference counting object
-		if (!references.contains(this))
-		{
-			references.add(this);
-		}
-		
-		DebugUIPlugin.getDefault().getMemoryBlockViewSynchronizer().setSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_ENABLED_REFERENCES, references);
-		return references;
-	}
-	
-	/**
-	 * @return the reference object, null if the reference object does not exisit in the synchronizer
-	 */
-	protected ArrayList removeReferenceFromSynchronizer()
-	{
-		ArrayList references = (ArrayList)DebugUIPlugin.getDefault().getMemoryBlockViewSynchronizer().getSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_ENABLED_REFERENCES);
-		
-		// do not create a new reference object if it does not exist
-		// the memory block may have been deleted
-		if (references == null)
-		{
-			return null;
-		}
-		
-		// remove the reference from the reference counting object
-		if (references.contains(this))
-		{
-			references.remove(this);
-		}
-		
-		DebugUIPlugin.getDefault().getMemoryBlockViewSynchronizer().setSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_ENABLED_REFERENCES, references);
-		return references;		
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#dispose()
-	 */
-	public void dispose() {
-		
-		// whenever a view tab is disposed, disable view tab to ensure that
-		// reference counting and memory block enablement state is maintained.
-		maintainRefAndEnablement(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getMemoryBlock()
-	 */
-	public IMemoryBlock getMemoryBlock() {
-		return fMemoryBlock;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getRenderingId()
-	 */
-	public String getRenderingId() {
-		return fRendering.getRenderingId();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getRendering()
-	 */
-	public IMemoryRendering getRendering()
-	{
-		return fRendering;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractTableViewTabLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractTableViewTabLabelProvider.java
deleted file mode 100644
index 50dbcb8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AbstractTableViewTabLabelProvider.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Abstract label provider for an ITableMemoryViewTab
- * 
- * @since 3.0
- */
-abstract public class AbstractTableViewTabLabelProvider extends LabelProvider implements ITableLabelProvider{
-
-	protected ITableMemoryViewTab fViewTab;
-	protected AbstractMemoryRenderer fRenderer;
-	
-	/**
-	 * 
-	 * Constructor for MemoryViewLabelProvider
-	 */
-	public AbstractTableViewTabLabelProvider() {
-		super();
-	}
-	
-	public AbstractTableViewTabLabelProvider(ITableMemoryViewTab viewTab, AbstractMemoryRenderer renderer){
-		fViewTab = viewTab;
-		setRenderer(renderer);
-	}
-	
-	public void setViewTab(ITableMemoryViewTab viewTab){
-		fViewTab = viewTab;
-	}
-	
-	public void setRenderer(AbstractMemoryRenderer renderer){
-		fRenderer = renderer;
-		renderer.setViewTab(fViewTab);
-	}
-	
-	public AbstractMemoryRenderer getRenderer()
-	{
-		return fRenderer;
-	}
-
-	/**
-	 * @see ITableLabelProvider#getColumnImage(Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		
-		if (columnIndex == 0)
-		{
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);
-		}
-		else if (columnIndex > (fViewTab.getBytesPerLine()/fViewTab.getColumnSize()))
-		{
-			return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
-		}
-		else
-		{	
-			// if memory in the range has changed, return delta icon
-			int startOffset = (columnIndex-1)*fViewTab.getColumnSize();
-			int endOffset = startOffset + fViewTab.getColumnSize() - 1;
-			if (((MemoryViewLine)element).isRangeChange(startOffset, endOffset))
-				return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY_CHANGED);
-			else
-				return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJECT_MEMORY);	
-		}
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		String columnLabel = null;
-
-		if (columnIndex == 0)
-		{
-			columnLabel = ((MemoryViewLine)element).getAddress();
-			
-			// consult model presentation for address presentation
-		}
-		else if (columnIndex > (fViewTab.getBytesPerLine()/fViewTab.getColumnSize()))
-		{
-			columnLabel = " "; //$NON-NLS-1$
-		}
-		else
-		{	
-			int start = (columnIndex-1)*fViewTab.getColumnSize();
-			int end = start + fViewTab.getColumnSize();
-			MemoryViewLine line = (MemoryViewLine)element;
-
-			MemoryByte[] bytes = ((MemoryViewLine)element).getBytes(start, end);
-			BigInteger address = new BigInteger(((MemoryViewLine)element).getAddress(), 16);
-			address = address.add(BigInteger.valueOf(start)); 
-			
-			columnLabel = fRenderer.getString(fViewTab.getRenderingId(), address, bytes, line.getPaddedString());
-		}
-		return columnLabel;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
deleted file mode 100644
index 57ca681..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/AddMemoryBlockAction.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.core.runtime.IStatus;
-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.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.core.model.ITerminate;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlockRetrieval;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-
-
-/**
- * Action for adding memory block.
- * 
- * @since 3.0
- */
-public class AddMemoryBlockAction extends Action implements ISelectionListener, IDebugEventSetListener{
-	
-	private static String PREFIX = "AddMemoryBlockAction."; //$NON-NLS-1$
-	private static String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	private static String TOOLTIP = PREFIX + "tooltip"; //$NON-NLS-1$
-	private static String FAILED = PREFIX + "failed"; //$NON-NLS-1$
-	private static String EXPR_EVAL_FAILED = PREFIX + "expressionEvalFailed";	 //$NON-NLS-1$
-	private static String NO_MEMORY_BLOCK = PREFIX + "noMemoryBlock"; //$NON-NLS-1$
-	
-	protected ISelection currentSelection = null;
-	protected IMemoryBlock fLastMemoryBlock;
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		 
-		super.setEnabled(enabled);
-	}
-
-	public AddMemoryBlockAction()
-	{
-		setText(DebugUIMessages.getString(TITLE));
-		
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_MONITOR_EXPRESSION));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION));
-		
-		// get selection from Debug View
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		
-		// check to see if something is selected in the debug view since a selection event won't be generated for something selected prior to creating this action
-		ISelection selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-		currentSelection = selection;
-		
-		// set up enablement based on current selection
-		setEnabled(MemoryViewUtil.isValidSelection(selection));
-		
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	public AddMemoryBlockAction(String text, int style)
-	{
-		super(text, style);
-		
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_MONITOR_EXPRESSION));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_MONITOR_EXPRESSION));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_MONITOR_EXPRESSION));
-		
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		
-		// check to see if something is selected in the debug view since a selection event won't be generated for something selected prior to creating this action
-		ISelection selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-		currentSelection = selection;
-		setEnabled(MemoryViewUtil.isValidSelection(selection));
-		
-		DebugPlugin.getDefault().addDebugEventListener(this);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-
-		//	get current selection from Debug View
-		 ISelection selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-		 Object elem = ((IStructuredSelection)selection).getFirstElement();
-	
-		 if (!(elem instanceof IDebugElement))
-			 return;
-	
-
-		// ask debug element about memeory retrieval
-		IDebugTarget debugTarget = ((IDebugElement)elem).getDebugTarget();
-		IMemoryBlockRetrieval standardMemRetrieval = (IMemoryBlockRetrieval)((IDebugElement)elem).getAdapter(IMemoryBlockRetrieval.class);
-		
-		if (standardMemRetrieval == null)
-		{
-			// if getAdapter returns null, assume debug target as memory block retrieval
-			standardMemRetrieval = debugTarget;
-		}
-		
-		Shell shell= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-		
-		// create dialog to ask for expression/address to block
-		MonitorMemoryBlockDialog dialog = new MonitorMemoryBlockDialog(shell, standardMemRetrieval);
-		dialog.open();
-		
-		int returnCode = dialog.getReturnCode();
-		
-		if (returnCode == Window.CANCEL)
-		{
-			return;
-		}
-		
-		// get expression entered in dialog
-		String expression = dialog.getExpression();
-
-		try {
-			if (standardMemRetrieval instanceof IExtendedMemoryBlockRetrieval)
-			{
-				// if the debug session supports IExtendedMemoryBlockRetrieval
-				IExtendedMemoryBlockRetrieval memRetrieval = (IExtendedMemoryBlockRetrieval)standardMemRetrieval;
-				
-				// get extended memory block with the expression entered
-				IExtendedMemoryBlock memBlock = memRetrieval.getExtendedMemoryBlock(expression, ((IDebugElement)elem));
-				
-				// add block to memory block manager
-				if (memBlock != null)
-				{
-					fLastMemoryBlock = memBlock;
-					MemoryBlockManager.getMemoryBlockManager().addMemoryBlock(memBlock, true);
-					// move the tab with that memory block to the top
-					switchMemoryBlockToTop(fLastMemoryBlock);
-				}
-				else
-				{
-					// open error if it failed to retrieve a memory block
-					MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), DebugUIMessages.getString(NO_MEMORY_BLOCK), null);					
-				}
-			}
-			else
-			{
-				// if the debug session does not support IExtendedMemoryBlockRetrieval
-				expression = expression.toUpperCase();
-				String hexPrefix = "0X"; //$NON-NLS-1$
-				if (expression.startsWith(hexPrefix))
-				{
-					expression = expression.substring(hexPrefix.length());
-				}
-				
-				// convert the expression to an address
-				BigInteger address = new BigInteger(expression, 16);
-
-				long longAddress = address.longValue();
-
-				// get the length of memory to block
-				String strLength = dialog.getLength();
-				
-				long length = Long.parseLong(strLength);
-				
-				// must block at least one line
-				if (length == 0)
-				{
-					length = IInternalDebugUIConstants.BYTES_PER_LINE;
-				}
-				
-				// make sure length is divisible by 16 so that the entire row is filled
-				while (length % IInternalDebugUIConstants.BYTES_PER_LINE != 0)
-				{
-					length++;
-				}
-				
-				// get standard memory block
-				IMemoryBlock memBlock = standardMemRetrieval.getMemoryBlock(longAddress, length);
-				
-				// make sure the memory block returned is not an instance of IExtendedMemoryBlock
-				if (memBlock instanceof IExtendedMemoryBlock)
-				{
-					Status status = new Status(IStatus.WARNING, DebugUIPlugin.getUniqueIdentifier(),	0, 
-						"IMemoryBlockRetrieval returns IExtendedMemoryBlock.  This may result in unexpected behavior.", null); //$NON-NLS-1$
-					DebugUIPlugin.log(status);
-				}
-				
-				if (memBlock != null)
-				{
-					// add memory block to memory block manager
-					fLastMemoryBlock = memBlock;
-					MemoryBlockManager.getMemoryBlockManager().addMemoryBlock(memBlock, true);
-					
-					// move the tab with that memory block to the top
-					switchMemoryBlockToTop(fLastMemoryBlock);
-				}
-				else
-				{
-					// otherwise open up an error doalog
-					MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), DebugUIMessages.getString(NO_MEMORY_BLOCK), null);
-				}
-			}
-		} catch (DebugException e1) {
-			MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), DebugUIMessages.getString(FAILED), e1);
-		}
-		catch(NumberFormatException e2)
-		{
-			String message = DebugUIMessages.getString(FAILED) + "\n" + DebugUIMessages.getString(EXPR_EVAL_FAILED); //$NON-NLS-1$
-			MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), message, null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		
-		// update enablement state based on selection from Debug View
-		setEnabled(MemoryViewUtil.isValidSelection(selection));
-		currentSelection = selection;
-	}
-
-	/* (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]);
-	} 
-	
-	private void handleDebugEvent(DebugEvent event)
-	{
-		// update action enablement based on debug event
-		Object src = event.getSource();
-		IDebugTarget srcDT = null;
-		IDebugTarget selectionDT = null;
-		
-		if (event.getKind() == DebugEvent.TERMINATE)
-		{
-			if (src instanceof ITerminate && src instanceof IDebugElement)
-			{
-				srcDT = ((IDebugElement)src).getDebugTarget();
-			}
-			
-			if (currentSelection instanceof IStructuredSelection)
-			{
-				Object elem = ((IStructuredSelection)currentSelection).getFirstElement();
-				if (elem instanceof IDebugElement)
-				{
-					selectionDT = ((IDebugElement)elem).getDebugTarget();
-				}
-			}
-
-			// disable action if the debug target is terminated.
-			if (srcDT == selectionDT)
-			{
-				setEnabled(false);
-			}
-		}
-	}
-	
-	/**
-	 * Return the last memory block added to memory block manager via this action.
-	 * @return Returns the fLastMemoryBlock.
-	 */
-	public IMemoryBlock getLastMemoryBlock() {
-		return fLastMemoryBlock;
-	}
-	
-	private void switchMemoryBlockToTop(IMemoryBlock memoryBlock)
-	{
-		//	open a new view if necessary
-		IWorkbenchPage p= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		if (p == null) {
-			return;
-		}
-		IViewPart view = null;
-		view= p.findView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-		
-		if (view == null) {
-			try {
-				IWorkbenchPart activePart= p.getActivePart();
-				view= (MemoryView) p.showView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-				p.activate(activePart);
-			} catch (PartInitException e) {
-				return;
-			}		
-			
-		}
-		
-		if (view instanceof IMemoryView)
-		{
-			IMemoryViewTab topTap = ((IMemoryView)view).getTopMemoryTab();
-			
-			if (topTap.getMemoryBlock() != memoryBlock)
-			{
-				IMemoryViewTab[] allTabs = ((IMemoryView)view).getAllViewTabs();
-				IMemoryViewTab moveToTop = null;
-			
-				for (int i=0; i<allTabs.length; i++)
-				{
-					if (allTabs[i].getMemoryBlock() == memoryBlock)
-					{
-						moveToTop = allTabs[i];
-						break;
-					}
-				}
-				
-				if (moveToTop != null)
-				{
-					((IMemoryView)view).moveToTop(moveToTop);
-				}
-			}
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/BasicDebugViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/BasicDebugViewContentProvider.java
deleted file mode 100644
index 229e662..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/BasicDebugViewContentProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-
-/**
- * @since 3.0
- * 
- */
-public abstract class BasicDebugViewContentProvider implements IStructuredContentProvider, IDebugEventSetListener {
-
-	protected StructuredViewer fViewer;
-	protected boolean fDisposed= false;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-		fDisposed= true;
-	}
-	
-	/**
-	 * Returns whether this content provider has already
-	 * been disposed.
-	 */
-	protected boolean isDisposed() {
-		return fDisposed;
-	}
-	
-	/* (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) {
-		fViewer= (StructuredViewer) viewer;
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Display.asyncExec(java.lang.Runnable)
-	 */
-	protected void asyncExec(Runnable r) {
-		if (fViewer != null) {
-			Control ctrl= fViewer.getControl();
-			if (ctrl != null && !ctrl.isDisposed()) {
-				ctrl.getDisplay().asyncExec(r);
-			}
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.swt.widgets.Display.syncExec(java.lang.Runnable)
-	 */
-	protected void syncExec(Runnable r) {
-		if (fViewer != null) {
-			Control ctrl= fViewer.getControl();
-			if (ctrl != null && !ctrl.isDisposed()) {
-				ctrl.getDisplay().syncExec(r);
-			}
-		}
-	}
-	
-	/**
-	 * Refreshes the viewer - must be called in UI thread.
-	 */
-	protected void refresh() {
-		if (fViewer != null) {
-			fViewer.refresh();
-		}
-	}
-			
-	/**
-	 * Refresh the given element in the viewer - must be called in UI thread.
-	 */
-	protected void refresh(Object element) {
-		if (fViewer != null) {
-			 fViewer.refresh(element);
-		}
-	}
-	
-	/**
-	 * Handle debug events on the main thread.
-	 * @param event
-	 */
-	public void handleDebugEvent(final DebugEvent event) {
-		if (fViewer == null) {
-			return;
-		}
-		Object element= event.getSource();
-		if (element == null) {
-			return;
-		}
-		Runnable r= new Runnable() {
-			public void run() {
-				if (!isDisposed()) {
-					doHandleDebugEvent(event);
-				}
-			}
-		};
-		
-		asyncExec(r);
-	}
-
-	/* (non-Javadoc)
-	 * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i=0; i < events.length; i++)
-			handleDebugEvent(events[i]);
-	}
-	
-	/**
-	 * Performs an update based on the event
-	 */
-	protected abstract void doHandleDebugEvent(DebugEvent event);
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardAction.java
deleted file mode 100644
index d248902..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardAction.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-
-/**
- * Toobar Copy View Tab to Clipboard action
- * 
- * @since 3.0
- */
-public class CopyViewTabToClipboardAction extends AbstractMemoryAction
-{
-	private final String PREFIX = "CopyViewToClipboardAction."; //$NON-NLS-1$
-	private final String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	private final String TOOLTIP = PREFIX + "tooltip"; //$NON-NLS-1$
-	
-	private final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
-	public CopyViewTabToClipboardAction()
-	{
-		super();
-		
-		setText(DebugUIMessages.getString(TITLE));
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_COPY_VIEW_TO_CLIPBOARD));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_COPY_VIEW_TO_CLIPBOARD));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_COPY_VIEW_TO_CLIPBOARD));
-	}
-
-	private String concatenateTableAsString(TableItem[] itemList) {
-		if (itemList.length == 0) return null;
-
-		StringBuffer tableContents = new StringBuffer();
-		TableViewer viewer = ((MemoryViewTab)getViewTab()).getTableViewer();
-		Table table = viewer.getTable();
-		int numColumns = table.getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)viewer.getLabelProvider();		
-		TableColumn columns[] = table.getColumns();
-		
-		// get title of view tab
-		String tabLabel = getViewTab().getTabLabel();
-		tableContents.append(tabLabel);
-		tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		tableContents.append(COLUMN_SEPERATOR);
-		
-		int charPerByte = 4;
-		if (labelProvider instanceof AbstractTableViewTabLabelProvider)
-		{
-			AbstractMemoryRenderer renderer = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer();
-			if (renderer instanceof IFixedLengthOutputRenderer)
-			{
-				charPerByte = ((IFixedLengthOutputRenderer)renderer).getNumCharPerByte();
-			}
-		}
-		
-		//get the column headers and line them up properly
-		for (int k=0; k < numColumns; k++) {
-			
-			StringBuffer columnLabel = new StringBuffer(columns[k].getText());
-			int numBytes = 0;
-			int numChars = 0;
-			
-			if (k > 0)
-			{
-				if (!(getViewTab() instanceof ITableMemoryViewTab))
-				{	
-					return ""; //$NON-NLS-1$
-				}
-				
-				numBytes = ((ITableMemoryViewTab)getViewTab()).getColumnSize();
-				numChars = numBytes * charPerByte;
-			}
-			else
-			{
-				// special for address column
-				IMemoryBlock memBlock = getViewTab().getMemoryBlock();
-				
-				
-				if (memBlock instanceof IExtendedMemoryBlock)
-				{
-					numBytes = ((IExtendedMemoryBlock)memBlock).getAddressSize();
-					
-					// check address size
-					if (numBytes <= 0)
-						numBytes = 4;
-				}
-				else
-				{
-					numBytes = 4;
-				}
-				numChars = numBytes*2;
-				
-			}
-			
-			 while (columnLabel.length() < numChars)
-			 {
-				 columnLabel.append(" "); //$NON-NLS-1$
-			 }
-				
-			tableContents.append(columnLabel);	
-			tableContents.append(COLUMN_SEPERATOR);
-		}
-		
-		tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		StringBuffer temp;
-			
-		//get the column contents from all the rows
-		for (int i=0; i < itemList.length; i++) {
-			for (int j=0; j < numColumns; j++) {
-				tableContents.append(COLUMN_SEPERATOR);
-				
-				temp = new StringBuffer(labelProvider.getColumnText(itemList[i].getData(), j));
-				
-				if (j>0)
-				{
-					if (!(getViewTab() instanceof ITableMemoryViewTab))
-						return ""; //$NON-NLS-1$
-					
-					int numBytes = ((ITableMemoryViewTab)getViewTab()).getColumnSize();
-					int numChars = numBytes * charPerByte;
-					while (temp.length() < numChars)
-					{
-						temp.append(" "); //$NON-NLS-1$
-					}
-				}
-				
-				tableContents.append(temp);
-			}
-			tableContents.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		}
-		return tableContents.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		if (getViewTab() == null)
-			return;
-		
-		TableViewer viewer = ((MemoryViewTab)getViewTab()).getTableViewer();
-		
-		if (viewer == null)
-			return;
-		
-		Table table = viewer.getTable();
-		
-		if (table == null)
-			return;
-		
-		Clipboard clip = new Clipboard(table.getDisplay());
-		TableItem[] tableItems = table.getItems();
-		String tableAsString = new String();
-		tableAsString = concatenateTableAsString(tableItems);
-		if (!tableAsString.equals("")) { //$NON-NLS-1$
-			TextTransfer plainTextTransfer = TextTransfer.getInstance();
-			clip.setContents(new Object[] {tableAsString}, new Transfer[] {plainTextTransfer});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return getTopViewTabFromView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardContextAction.java
deleted file mode 100644
index 1b729a4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/CopyViewTabToClipboardContextAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Context menu action for "Copy View Tab To Clipboard"
- * 
- * @since 3.0
- */
-public class CopyViewTabToClipboardContextAction extends CopyViewTabToClipboardAction
-{
-	IMemoryViewTab fViewTab;
-	
-	public CopyViewTabToClipboardContextAction(IMemoryViewTab viewTab)
-	{
-		super();
-		fViewTab = viewTab;
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".CopyViewTabToClipboardContextAction_context"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return fViewTab;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/DefaultColumnSizeDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/DefaultColumnSizeDialog.java
deleted file mode 100644
index 970fd9c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/DefaultColumnSizeDialog.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Dialog for setting default column size in Memory View
- */
-public class DefaultColumnSizeDialog extends Dialog {
-
-	private static final String PREFIX = "DefaultColumnSizeDialog."; //$NON-NLS-1$
-	private static final String DEFAULT_COLUMN_SIZE = PREFIX + "DefaultColumnSize"; //$NON-NLS-1$
-	private static final String COLUMN_SIZE = PREFIX + "ColumnSize"; //$NON-NLS-1$
-	
-	IPreferenceStore fPrefStore;
-	Combo fColumnSize;
-	
-	private int[] fColumnSizes = new int[] {1, 2, 4, 8, 16};
-	
-	/**
-	 * @param parentShell
-	 */
-	protected DefaultColumnSizeDialog(Shell parentShell) {
-		super(parentShell);
-		fPrefStore = DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".DefaultColumnSizeDialog_context"); //$NON-NLS-1$
-		
-		getShell().setText(DebugUIMessages.getString(DEFAULT_COLUMN_SIZE));
-		
-		Composite content = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		content.setLayout(layout);
-		
-		Label textLabel = new Label(content, SWT.NONE);
-		textLabel.setText(DebugUIMessages.getString(COLUMN_SIZE));
-		
-		GridData textLayout = new GridData();
-		textLabel.setLayoutData(textLayout);
-		
-		fColumnSize = new Combo(content, SWT.BORDER|SWT.READ_ONLY);
-
-		GridData columnLayout= new GridData();	
-		fColumnSize.setLayoutData(columnLayout);
-		
-		for (int i=0; i<fColumnSizes.length; i++)
-		{
-			fColumnSize.add(String.valueOf(fColumnSizes[i]));
-		}
-		
-		int colSize = fPrefStore.getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
-		int idx = 0;
-		
-		for (int i=0; i<fColumnSizes.length; i++)
-		{
-			if (fColumnSizes[i] == colSize)
-			{
-				idx = i;
-				break;
-			}
-		}
-		
-		fColumnSize.select(idx);				
-		
-		return content;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		int idx = fColumnSize.getSelectionIndex();
-		int colSize = fColumnSizes[idx];
-		
-		fPrefStore.setValue(IDebugPreferenceConstants.PREF_COLUMN_SIZE, colSize);	
-		
-		super.okPressed();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/EmptyRenderer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/EmptyRenderer.java
deleted file mode 100644
index 4e23916..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/EmptyRenderer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-
-/**
- * When a MemoryViewTab is created without a renderer defined, use
- * this empty renderer to avoid exceptions in the code.
- * 
- * @since 3.0
- */
-public class EmptyRenderer extends AbstractMemoryRenderer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
-	 */
-	public String getString(
-		String dataType,
-		BigInteger address,
-		MemoryByte[] data, String paddedStr) {
-		
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(
-		String dataType,
-		BigInteger address,
-		MemoryByte[] currentValues,
-		String data) {
-		
-		return new byte[0];
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/FormatColumnAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/FormatColumnAction.java
deleted file mode 100644
index 3144d69..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/FormatColumnAction.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Action for formatting Memory View Tab
- * 
- * @since 3.0
- */
-public class FormatColumnAction extends Action
-{
-	private static final String PREFIX = "FormatColumnAction."; //$NON-NLS-1$
-	private static final String BYTE = PREFIX + "byte"; //$NON-NLS-1$
-	private static final String BYTES = PREFIX + "bytes"; //$NON-NLS-1$
-	
-	ITableMemoryViewTab fViewTab;
-	int fNumBytesPerCol;
-	
-	public FormatColumnAction(int numBytes, ITableMemoryViewTab viewTab)
-	{
-		super();
-		
-		String label;
-		if (numBytes > 1)
-			label = String.valueOf(numBytes) + " " + DebugUIMessages.getString(BYTES); //$NON-NLS-1$
-		else	
-			label = String.valueOf(numBytes) + " " + DebugUIMessages.getString(BYTE); //$NON-NLS-1$
-		
-		super.setText(label);
-		
-		fViewTab = viewTab;	
-		
-		// check this action if the view tab is currently in this format
-		if (numBytes == fViewTab.getColumnSize())
-		{
-			setChecked(true);
-		}
-
-		fNumBytesPerCol = numBytes;
-		
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".FormatColumnAction_context"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run()
-	{
-		fViewTab.format(fViewTab.getBytesPerLine(), fNumBytesPerCol);
-	}
-	
-	public int getColumnSize()
-	{
-		return fNumBytesPerCol;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressAction.java
deleted file mode 100644
index b4dc226..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Go To Address Action for "MemoryViewTab"
- * 
- * @since 3.0
- */
-public class GoToAddressAction extends Action
-{
-	private ITableMemoryViewTab fViewTab;
-	
-	private static final String PREFIX = "GoToAddressAction."; //$NON-NLS-1$
-	private static final String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	private static final String GO_TO_ADDRESS_FAILED = PREFIX + "Go_to_address_failed"; //$NON-NLS-1$
-	private static final String ADDRESS_IS_INVALID = PREFIX + "Address_is_invalid"; //$NON-NLS-1$
-	private static final String TOOLTIP = PREFIX + "tooltip"; //$NON-NLS-1$
-	
-	public GoToAddressAction(ITableMemoryViewTab viewTab)
-	{		
-		super(DebugUIMessages.getString(TITLE));
-		fViewTab = viewTab;
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".GoToAddressAction_context"); //$NON-NLS-1$
-		
-		// TODO:  set image
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run()
-	{
-		try
-		{	
-			Shell shell= DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-		
-			// create dialog to ask for expression/address to block
-			GoToAddressDialog dialog = new GoToAddressDialog(shell);
-			dialog.open();
-		
-			int returnCode = dialog.getReturnCode();
-		
-			if (returnCode == Window.CANCEL)
-			{
-				return;
-			}
-		
-			// get expression from dialog
-			String expression = dialog.getExpression();
-			
-			expression = expression.toUpperCase();
-			expression = expression.trim();
-			
-			if (expression.startsWith("0X")) //$NON-NLS-1$
-			{
-				expression = expression.substring(2);
-			}
-			
-			// convert expression to address
-			BigInteger address = new BigInteger(expression, 16);
-			
-			// go to specified address
-			fViewTab.goToAddress(address);
-		}
-		// open error in case of any error
-		catch (DebugException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.getString(GO_TO_ADDRESS_FAILED), 
-				DebugUIMessages.getString(GO_TO_ADDRESS_FAILED), e);
-		}
-		catch (NumberFormatException e1)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.getString(GO_TO_ADDRESS_FAILED), 
-				DebugUIMessages.getString(ADDRESS_IS_INVALID), null);
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressDialog.java
deleted file mode 100644
index d8218eb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/GoToAddressDialog.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.Vector;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * @since 3.0
- */
-
-public class GoToAddressDialog extends Dialog implements ModifyListener{
-
-	private static Vector history = new Vector();
-	private Combo expressionInput;
-	private String expression;
-
-	
-	private static final String PREFIX = "GoToAddressDialog."; //$NON-NLS-1$
-	private static final String GO_TO_ADDRESS = PREFIX + "GoToAddress"; //$NON-NLS-1$
-	private static final String ADDRESS = PREFIX + "Address"; //$NON-NLS-1$
-	
-
-	/**
-	 * @param parentShell
-	 */
-	public GoToAddressDialog(Shell parentShell) {
-		super(parentShell);
-		WorkbenchHelp.setHelp(parentShell, IDebugUIConstants.PLUGIN_ID + ".GoToAddressDialog_context"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-	
-		parent.setLayout(new GridLayout());
-		GridData spec2= new GridData();
-		spec2.grabExcessVerticalSpace= true;
-		spec2.grabExcessHorizontalSpace= true;
-		spec2.horizontalAlignment= GridData.FILL;
-		spec2.verticalAlignment= GridData.CENTER;
-		parent.setLayoutData(spec2);
-
-		Label textLabel = new Label(parent, SWT.NONE);
-		textLabel.setText(DebugUIMessages.getString(ADDRESS));
-		GridData textLayout = new GridData();
-		textLayout.widthHint = 280;
-		textLabel.setLayoutData(textLayout);
-		
-		expressionInput = new Combo(parent, SWT.BORDER);
-		GridData spec= new GridData();
-		spec.grabExcessVerticalSpace= false;
-		spec.grabExcessHorizontalSpace= true;
-		spec.horizontalAlignment= GridData.FILL;
-		spec.verticalAlignment= GridData.BEGINNING;
-		spec.heightHint = 50;
-		expressionInput.setLayoutData(spec);
-		
-		// add history
-		String[] historyExpression = (String[])history.toArray(new String[history.size()]);
-		for (int i=0; i<historyExpression.length; i++)
-		{
-			expressionInput.add(historyExpression[i]);
-		}
-		
-		expressionInput.addModifyListener(this);
-		
-		return parent;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		
-		newShell.setText(DebugUIMessages.getString(GO_TO_ADDRESS));
-	}
-	
-	public String getExpression()
-	{
-		return expression;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-
-		expression = expressionInput.getText();
-
-		// add to history list
-		if (!history.contains(expression))
-			history.insertElementAt(expression, 0);
-
-		super.okPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
-	 */
-	public void modifyText(ModifyEvent e) {
-
-		String input = expressionInput.getText();
-	
-		if (input == null || input.equals("")) //$NON-NLS-1$
-		{
-			getButton(IDialogConstants.OK_ID).setEnabled(false);	
-		}
-		else
-		{
-			getButton(IDialogConstants.OK_ID).setEnabled(true);
-		}			
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		
-		Control ret =  super.createButtonBar(parent);
-		getButton(IDialogConstants.OK_ID).setEnabled(false);
-		
-		return ret;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
deleted file mode 100644
index b689683..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderer.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-
-
-/**
- * Converts bytes into raw hex data and vice versa.
- * 
- * @since 3.0
- */
-public class HexRenderer extends AbstractMemoryRenderer implements IFixedLengthOutputRenderer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getString(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
-	 */
-	public String getString(
-		String dataType,
-		BigInteger address,
-		MemoryByte[] data, String paddedStr) {
-
-		StringBuffer strBuffer = new StringBuffer();
-		
-		for (int i=0; i<data.length; i++)
-		{
-			if ((data[i].flags & MemoryByte.VALID) != 0)
-			{
-				strBuffer.append(new String(convertByteToCharArray(data[i].value)));
-			}
-			else
-			{
-				// pad with padded string
-				strBuffer.append(paddedStr);
-			}
-		}
-		
-		return strBuffer.toString().toUpperCase();
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.AbstractMemoryRenderer#getBytes(java.lang.String, java.math.BigInteger, org.eclipse.debug.internal.core.memory.MemoryByte[], java.lang.String)
-	 */
-	public byte[] getBytes(
-		String dataType,
-		BigInteger address,
-		MemoryByte[] currentValues, String data) {
-
-		byte[] bytes = convertHexStringToByteArray(data);
-		
-		return bytes;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.views.memory.IFixedLengthOutputRenderer#getNumCharPerByte()
-	 */
-	public int getNumCharPerByte() {
-		return 2;
-	}
-
-	/**
-	 * byte array to Hex string helper
-	 * replaces the Integer.toHexString() which can't convert byte values properly
-	 * (always pads with FFFFFF)
-	 */
-	static public String convertByteArrayToHexString(byte[] byteArray)
-	{
-		StringBuffer strBuffer = new StringBuffer();
-		char charArray[];
-		
-		for (int i=0; i<byteArray.length;i ++)
-		{
-			charArray = convertByteToCharArray(byteArray[i]);
-			strBuffer.append(charArray);			
-		}
-		
-		return strBuffer.toString();
-	}
-	
-	static private char[] convertByteToCharArray(byte aByte)
-	{
-		char charArray[] = new char[2];
-		int val = aByte;
-		if (val<0) val += 256;
-		charArray[0] = Character.forDigit(val/16, 16);
-		charArray[1] = Character.forDigit(val%16, 16);
-		
-		return charArray;
-	}
-
-	/**
-	 * Convert raw memory datat to byte array
-	 * @param str
-	 * @return
-	 * @throws NumberFormatException
-	 */
-	public byte[] convertHexStringToByteArray(String str) throws NumberFormatException
-	{
-		if (str.length() < getNumCharPerByte())
-			return null;
-		
-		byte[] bytes = new byte[str.length()/getNumCharPerByte()];
-	
-		// set data in memory
-		for (int i=0; i<bytes.length; i++)
-		{
-			// convert string to byte
-			String oneByte = str.substring(i*2, i*2+2);
-			
-			Integer number = Integer.valueOf(oneByte, 16);
-			if (number.compareTo(Integer.valueOf(Byte.toString(Byte.MAX_VALUE))) > 0)
-			{
-				int temp = number.intValue();
-				temp = temp - 256;
-	
-				String tempStr = Integer.toString(temp);
-		
-				Byte myByte = Byte.valueOf(tempStr);
-				bytes[i] = myByte.byteValue();
-			}
-			else
-			{
-				Byte myByte = Byte.valueOf(oneByte, 16);
-				bytes[i] = myByte.byteValue();
-			}
-		}
-		
-		return bytes;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRendering.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRendering.java
deleted file mode 100644
index f7f2db3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRendering.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-
-/**
- * 
- * @since 3.0
- */
-public class HexRendering implements IMemoryRendering{
-	
-	private IMemoryBlock fMemoryBlock;
-	private String fRenderingId;
-	
-	public HexRendering(IMemoryBlock memBlock, String renderingId)
-	{
-		fMemoryBlock = memBlock;
-		fRenderingId = renderingId;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRendering#getBlock()
-	 */
-	public IMemoryBlock getBlock() {
-		return fMemoryBlock;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRendering#getRenderingId()
-	 */
-	public String getRenderingId() {
-		return fRenderingId;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderingFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderingFactory.java
deleted file mode 100644
index 4a08384..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/HexRenderingFactory.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.debug.internal.core.memory.IMemoryRenderingFactory;
-
-/**
- * @since 3.0
- */
-public class HexRenderingFactory implements IMemoryRenderingFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryRenderingFactory#createRendering(org.eclipse.debug.core.model.IMemoryBlock, java.lang.String)
-	 */
-	public IMemoryRendering createRendering(
-		IMemoryBlock memoryBlock,
-		String renderingId) {
-		
-		return new HexRendering(memoryBlock, renderingId);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IFixedLengthOutputRenderer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IFixedLengthOutputRenderer.java
deleted file mode 100644
index 0def910..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IFixedLengthOutputRenderer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-/**
- * Renderer who knows how the number of characters a byte will
- * map to should implement this interface.
- * 
- * @since 3.0
- */
-public interface IFixedLengthOutputRenderer {
-	
-	public int getNumCharPerByte();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockModelPresentation.java
deleted file mode 100644
index bc4373c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockModelPresentation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-
-
-/**
- * Allows plugins to control the presentation of a memory block.  Plugins can
- * customize the tab label of a MemoryViewTab.  They can also control how 
- * each of the columns are labeled and how addresses are to be presented to users.
- * 
- * @since 3.0
- */
-public interface IMemoryBlockModelPresentation extends IDebugModelPresentation
-{
-	/**
-	 * @param blk - memory block the tab is monitoring
-	 * @param renderingId - rendering id of the tab
-	 * @return tab label for this memory block.  Return null if default is to be used.
-	 * Default tab label is:
-	 *   "expression:evaluated address" for IExtendedMemoryBlock
-	 *   "Base Address"  for IMemoryBlock
-	 */
-	public String getTabLabel(IMemoryBlock blk, String renderingId);
-	
-	/**
-	 * @param blk
-	 * @param bytesPerLine
-	 * @param columnSize
-	 * @return column labels for the MemoryViewTab of the memory block
-	 * Size of the String array returned must equal to "bytesPerLine"/"columnSize".
-	 * Return an empty array if default column labels are to be used.
-	 */
-	public String[] getColumnLabels(IMemoryBlock blk, int bytesPerLine, int columnSize);
-	
-	
-	/**
-	 * @param blk
-	 * @param address
-	 * @return the address presentation of the specfied address.
-	 * Return null if default address presentation is to be used.
-	 */
-	public String getAddressPresentation(IMemoryBlock blk, BigInteger address);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockViewSynchronizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockViewSynchronizer.java
deleted file mode 100644
index dc47df1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryBlockViewSynchronizer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * Allows for synchronization for any view that displays a memory block with
- * the Memory View.  When a view needs to be synchronized, the view 
- * needs to implement ISynchronizedMemoryBlockView interface and adds itself
- * to the synchronizer.  The view can define properties for synchronization.
- * It is up to the view to handle synchronized properties changed events.
- * 
- * @since 3.0
- */
-public interface IMemoryBlockViewSynchronizer
-{
-	/**
-	 * Add the view to the synchronizer.  The view will
-	 * be notified when one of the synchronization properties has changed.
-	 * @param view - the view  listening for property changed events.
-	 * @param filters - list of properties the view tab is interested in.
-	 * Null if view tab is interested in all events.
-	 */
-	public void addView(ISynchronizedMemoryBlockView view, String[] filters);
-	
-	/**
-	 * Remove the view from the synchronizer.  The view 
-	 * will no longer be notified about changes in synchronization properties.
-	 * @param view
-	 */
-	public void removeView(ISynchronizedMemoryBlockView view);
-	
-	/**
-	 * Sets a property to the synchronizer to be synchronized.
-	 * A change event will be fired if the value provided is different from the
-	 * value stored in the synchronizer.  Otherwise, no change event will be
-	 * fired.
-	 * @param memoryBlock
-	 * @param propertyId
-	 * @param value
-	 */
-	public void setSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId, Object value);
-	
-	/**
-	 * Get the property from the synchronizer for a memory block
-	 * @param memoryBlock
-	 * @param propertyId
-	 * @return
-	 */
-	public Object getSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId);
-	
-	/**
-	 * Set up a list of properties that the view wishes to be notified about when the properties
-	 * have changed.  
-	 * @param view - view listening for property changed events.
-	 * @param filters - properties that the view are interested in.  Synchronizer will filter
-	 * out events not listed in the filters.  Enter null when the view wishes to listen to all events.
-	 */
-	public void setPropertyFilters(ISynchronizedMemoryBlockView view, String[] filters);
-}
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java
deleted file mode 100644
index 5573d7f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryView.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-/**
- * Functions to allow user to control the Memory View or the Memory Rendering View
- * 
- * @since 3.0
- */
-public interface IMemoryView
-{
-	/**
-	 * @return the top view tab from the Memory View
-	 */
-	public IMemoryViewTab getTopMemoryTab( );
-	
-	/**
-	 * @return all view tabs from current tab folder
-	 */
-	public IMemoryViewTab[] getAllViewTabs();
-	
-	/**
-	 * Move specified view tab to the top
-	 * @param viewTab
-	 */
-	public void moveToTop(IMemoryViewTab viewTab);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewConstants.java
deleted file mode 100644
index e61061d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-
-/**
- * Constants for Memory View and Memory Rendering View
- * These constants can be accessed by third-party plugins
- * TODO:  Move this to correct constant class
- * 
- * @since 3.0
- */
-public interface IMemoryViewConstants {
-	
-	// Default renderings provided
-	public static final String RENDERING_RAW_MEMORY = "org.eclipse.debug.ui.rendering.raw_memory"; //$NON-NLS-1$
-
-
-	// Properties to be synchronized by MemoryViewTab
-	// Memory View and Memory Rendering View make use of these property ids
-	// to synchronize the cursor, scroll bar and column size
-
-	// Address highlighted by the cursor in MemoryViewTab
-	public static final String PROPERTY_SELECTED_ADDRESS = "org.eclipse.debug.ui.MemoryViewTab.selectedAddress"; //$NON-NLS-1$
-
-	// Column size of StoageViewTab
-	public static final String PROPERTY_COL_SIZE = "org.eclipse.debug.ui.MemoryViewTab.columnSize"; //$NON-NLS-1$
-	
-	// Top visble address of MemoryViewTab
-	public static final String PROPERTY_TOP_ADDRESS = "org.eclipse.debug.ui.MemoryViewTab.topAddress"; //$NON-NLS-1$
-	
-	// Enabled Reference of the memory block
-	// This property acts as a reference count object for the memory block blocked
-	// by view tabs from Memory View or Memory Rendering View.  When a view tab
-	// is enabled, it needs to add itself to this property object.
-	// When a view tab is disabled, it removes itself from this property object.  This
-	// property is used to determine if a memory block can be disabled when no more
-	// view tab is referencing to the memory block.
-	public static final String PROPERTY_ENABLED_REFERENCES = "org.eclipse.debug.ui.MemoryViewTab.enabledReferences"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
deleted file mode 100644
index 789c9a2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTab.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.swt.graphics.Font;
-
-
-/**
- * Represent a view tab in the Memory View or Memory Rendering View
- * 
- * Refer to AbstractMemoryViewTab.
- * 
- * @since 3.0
- */
-public interface IMemoryViewTab
-{	
-	/**
-	 * @return the memory block blockied by the view tab
-	 */
-	public IMemoryBlock getMemoryBlock();
-	
-	/**
-	 * Remove the view tab.  Memory block
-	 * should not be removed from Memory Block Manager.
-	 */
-	public void dispose();
-	
-	/**
-	 * This function makes the cursor to go to the address provided.  
-	 * If the address provided is not currently displayed on screen, the view tab
-	 * will ask for memory from the memory block to have that part of the memory displayed.  
-	 * This function throws a DebugException if the call has failed.
-	 * @param address
-	 * @throws DebugException
-	 */
-	public void goToAddress(BigInteger address) throws DebugException;
-
-	/**
-	 * This function resets the view tab to the base address of the memory block.  
-	 * It will throw a DebugException if the call has failed.
-	 * @throws DebugException
-	 */
-	public void resetAtBaseAddress( ) throws DebugException;
-
-	/**
-	 * This function refreshes the view tab with the most current data from the memory block.  
-	 * If the base address of the memory block has changed, it will reload at the new base address.  
-	 * If the call has failed, it would display an error on the view tab.
-	 */
-	public void refresh( );
-
-	/**
-	 * @return true if the view tab is displaying an error, false otherwise.
-	 */
-	public boolean isDisplayingError();
-	
-	
-	/**
-	 * @return enablement state of the view tab.
-	 */
-	public boolean isEnabled();
-	
-	
-	/**
-	 * Sets the enablament state of the view tab.
-	 * @param enabled
-	 */
-	public void setEnabled(boolean enabled);
-	
-	
-	/**
-	 * Sets the font to be used in a view tab.
-	 * @param font
-	 */
-	public void setFont(Font font);
-	
-	/**
-	 * Set view tab's label
-	 * @param label
-	 */
-	public void setTabLabel(String label);
-	
-	/**
-	 * @return view tab's label, null if the label is not available
-	 */
-	public String getTabLabel();
-	
-	/**
-	 * @return rendering id of this view tab
-	 */
-	public String getRenderingId();
-	
-	/**
-	 * @return the rendering of this view tab
-	 */
-	public IMemoryRendering getRendering();
-	
-	/**
-	 * Allow view tab to supply its own context menu actions.
-	 * Context menu extensions are hanled by the view.
-	 *  
-	 * @param menu
-	 */
-	public void fillContextMenu(IMenuManager menu);
-	
-	/**
-	 * @return selected address in the view tab.
-	 */
-	public BigInteger getSelectedAddress();
-	
-	/**
-	 * @return the content at the selected address.  View tab
-	 * decides how long the content is and how much information
-	 * to return.  Return empty string if content is not available.
-	 */
-	public String getSelectedContent();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTabFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTabFactory.java
deleted file mode 100644
index febd408..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/IMemoryViewTabFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.widgets.TabItem;
-
-
-/**
- * Class responsible for creating an IMemoryViewTab based on the given parameters.
- * 
- * @since 3.0
- */
-public interface IMemoryViewTabFactory {
-
-	/**
-	 * Create a view tab based on the given parameters.
-	 * @param newMemory is the memory block to be blocked by this memory view tab.
-	 * The view tab is responsible for blocking changes from the memory block and refreshing
-	 * its content accordingly.
-	 * @param newTab  is the tab item in the Memory View or Memory Rendering View
-	 * used to display this view tab.  Implementor needs to set the created memory view
-	 * tab as the data in the tab item.  (i.e.  call newTab.setData(memory view tab))
-	 * @param menuMgr is the menuger manager the view tab should used in creation of
-	 * its context menu.
-	 * @param rendering is the rendering to be displayed by the view tab
-	 * @param renderer is the object responsible for converting bytes to string and vice versa.  This field
-	 * is optional and can be null.
-	 * @return the memory view tab created, null if the view tab cannot be created
-	 */
-	public IMemoryViewTab createViewTab(IMemoryBlock newMemory, TabItem newTab, MenuManager menuMgr, IMemoryRendering rendering, AbstractMemoryRenderer renderer);
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ISynchronizedMemoryBlockView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ISynchronizedMemoryBlockView.java
deleted file mode 100644
index 5803dfa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ISynchronizedMemoryBlockView.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-
-
-/**
- * This interface should be implemented by views that display 
- * a memory block and wish to be synchronized with the Memory View
- * 
- * @since 3.0
- */
-public interface ISynchronizedMemoryBlockView
-{
-	/**
-	 * @return the memory block that this view tab is blocking.
-	 */
-	public IMemoryBlock getMemoryBlock();
-	
-	/**
-	 * This function will be called when a property of the memory block
-	 * being blocked is changed.
-	 * @param propertyName
-	 * @param value
-	 */
-	public void propertyChanged(String propertyId, Object value);
-	
-	/**
-	 * Return the value of a property.  Return null if the property
-	 * is not supported by the view tab.
-	 * @param propertyId
-	 * @return
-	 */
-	public Object getProperty(String propertyId);
-	
-	/**
-	 * @return true if the view is enabled
-	 */
-	public boolean isEnabled();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ITableMemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ITableMemoryViewTab.java
deleted file mode 100644
index 926e595..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ITableMemoryViewTab.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-/**
- * This interface is for capturing functions that are only applicable
- * for memory being displayed in table format.
- * 
- * @since 3.0
- */
-public interface ITableMemoryViewTab extends IMemoryViewTab {
-
-	/**
-	 * View tab will be formatted based on the parameters provided.  
-	 * Possible value for bytesPerLine is:  16.  
-	 * Although bytesPerLine is limited to 16, this function should still take this argument 
-	 * for future extension when other values are to be supported.  
-	 * Possible values for columnSize:  1, 2, 4, 8, 16.
-	 * @param bytesPerLine
-	 * @param columnSize
-	 * @return true if formatting is successful, false otherwise
-	 */
-	public boolean format (int bytesPerLine, int columnSize);
-	
-	/**
-	 * @return number of bytes per line from the view tab.
-	 */
-	public int getBytesPerLine();
-	
-	
-	/**
-	 * @return number of bytes per column from the view tab.
-	 */
-	public int getColumnSize();
-	
-	
-	/**
-	 * @return number of visible lines from the view tab.
-	 */
-	public int getNumberOfVisibleLines();
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlockViewSynchronizer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlockViewSynchronizer.java
deleted file mode 100644
index ecd930a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryBlockViewSynchronizer.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryBlockListener;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-
-
-/**
- * Synchronizer to handle synchronization between Memory View and Memory
- * rendering View.
- * 
- * @since 3.0
- */
-public class MemoryBlockViewSynchronizer implements IMemoryBlockViewSynchronizer, IMemoryBlockListener
-{	
-	private Hashtable fSynchronizeInfo;	
-		
-	public MemoryBlockViewSynchronizer()
-	{
-		fSynchronizeInfo = new Hashtable();
-		MemoryBlockManager.getMemoryBlockManager().addListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#addViewTab(org.eclipse.debug.ui.ISynchronizedMemoryBlockView)
-	 */
-	public void addView(ISynchronizedMemoryBlockView view, String[] filters)
-	{
-		IMemoryBlock key = view.getMemoryBlock();
-
-		if (fSynchronizeInfo.get(key) == null)
-		{
-			// create a synchronize info object for the memory block
-			SynchronizeInfo newInfo = new SynchronizeInfo(view.getMemoryBlock());
-			
-			fSynchronizeInfo.put(key, newInfo);
-			
-			newInfo.addSynchronizedView(view, filters);
-		}
-		else
-		{
-			SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(key);
-			info.addSynchronizedView(view, filters);	
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#removeViewTab(org.eclipse.debug.ui.ISynchronizedMemoryBlockView)
-	 */
-	public void removeView(ISynchronizedMemoryBlockView view)
-	{
-		IMemoryBlock key = view.getMemoryBlock();
-		
-		if (fSynchronizeInfo.get(key) == null)
-		{
-			return;
-		}
-		else
-		{
-			SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(key);
-			info.removeSynchronizedView(view);				
-		}
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#setSynchronizedProperty(org.eclipse.debug.ui.ISynchronizedMemoryBlockView, java.lang.String, java.lang.Object)
-	 */
-	public void setSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId, Object value)
-	{
-		// find the synchronize info object for the memory block
-		SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memoryBlock);
-		
-		// if info is not available, need to create one to hold the property
-		if (info == null)
-		{
-			info = new SynchronizeInfo(memoryBlock);
-			fSynchronizeInfo.put(memoryBlock, info);
-		}
-		
-		// get the value of the property
-		Object oldValue = info.getProperty(propertyId);
-		
-		if (oldValue == null)
-		{
-			// if the value has never been added to the info object
-			// set the property and fire a change event
-			info.setProperty(propertyId, value);
-			info.firePropertyChanged(propertyId);
-			return;
-		}
-		else if (!oldValue.equals(value))
-		{
-			// if the value has changed
-			// set the property and fire a change event
-			info.setProperty(propertyId, value);
-			info.firePropertyChanged(propertyId);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#getSynchronizedProperty(org.eclipse.debug.ui.ISynchronizedMemoryBlockView, java.lang.String)
-	 */
-	public Object getSynchronizedProperty(IMemoryBlock memoryBlock, String propertyId)
-	{
-		SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memoryBlock);
-		
-		if (info != null)
-		{
-			Object value = info.getProperty(propertyId);
-			return value;
-		}
-		
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockAdded(IMemoryBlock memory) {
-		// do nothing when a memory block is added
-		// create a synchronize info object when there is a fView
-		// tab registered to be synchronized.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockRemoved(IMemoryBlock memory) {
-		
-		// delete the info object and remove it from fSynchronizeInfo
-		// when the memory block is deleted
-		SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(memory);
-		
-		if (info != null)
-		{	
-			info.delete();
-			fSynchronizeInfo.remove(memory);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockViewSynchronizer#addProperties(org.eclipse.debug.ui.ISynchronizedMemoryBlockView, java.lang.String[])
-	 */
-	public void setPropertyFilters(ISynchronizedMemoryBlockView view, String[] filters) {
-		IMemoryBlock blk = view.getMemoryBlock();
-		
-		SynchronizeInfo info = (SynchronizeInfo)fSynchronizeInfo.get(blk);
-		
-		if (info != null){
-			info.setPropertyFilters(view, filters);
-		}
-	}
-	
-	/**
-	 * Clean up when the plugin is shutdown
-	 */
-	public void shutdown()
-	{
-		if (fSynchronizeInfo != null)
-		{	
-			Enumeration enum = fSynchronizeInfo.elements();
-			
-			// clean up all synchronize info objects
-			while (enum.hasMoreElements()){
-				SynchronizeInfo info = (SynchronizeInfo)enum.nextElement();
-				info.delete();
-			}
-			
-			fSynchronizeInfo.clear();
-			fSynchronizeInfo = null;
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryRenderingViewTabFactory.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryRenderingViewTabFactory.java
deleted file mode 100644
index b248291..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryRenderingViewTabFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Implementation of IMemoryViewTabFactory for default
- * renderings.
- * For plugins that wishes to make use of this factory to create a new rendering and display
- * data in table format, a renderer must be defined for the new rendering.
- * MemoryViewTab's label provider will make use of the renderer to convert bytes to string
- * and vice versa.  MemoryViewTab does not work without having a renderer defined.
- * 
- * @since 3.0
- */
-public class MemoryRenderingViewTabFactory
-	implements IMemoryViewTabFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTabFactory#createViewTab(org.eclipse.debug.core.model.IMemoryBlock, org.eclipse.swt.widgets.TabItem, org.eclipse.jface.action.MenuManager, java.lang.String)
-	 */
-	public IMemoryViewTab createViewTab(
-		IMemoryBlock newMemory,
-		TabItem newTab,
-		MenuManager menuMgr,
-		IMemoryRendering rendering, AbstractMemoryRenderer renderer) {
-		return new MemoryViewTab(newMemory, newTab, menuMgr, rendering, renderer);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
deleted file mode 100644
index fd19f75..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryView.java
+++ /dev/null
@@ -1,1193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryBlockListener;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.Action;
-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.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * 
- * @since 3.0
- */
-public class MemoryView extends PageBookView implements IDebugView, IMemoryBlockListener, ISelectionListener, IMemoryView {
-
-	private Composite parent;
-	protected StackLayout stackLayout;
-	private TabFolder emptyTabFolder;
-	protected Hashtable tabFolderHashtable;
-	
-	private Action addMemoryBlockAction;
-	private Action removeMemoryBlockAction;
-	private Action resetMemoryBlockAction;
-	private Action copyViewToClipboardAction;
-	private Action printViewTabAction;
-	
-	protected IMemoryBlockRetrieval key;  // store the key for current tab folder
-	
-	private MemoryViewPartListener fListener = null;
-	private boolean fVisible;
-	protected MemoryViewSelectionProvider fSelectionProvider;
-	protected ViewTabEnablementManager fViewTabEnablementManager;
-
-	protected Hashtable fMenuMgr;
-
-	/**
-	 * A page in this view's page book that contains this view's viewer.
-	 */
-	class ViewerPage extends Page {
-		/** @see IPage#createControl(Composite) */
-		public void createControl(Composite parent) { }
-
-		/** @see IPage#getControl() */
-		public Control getControl() { return null; }
-
-		/** @see IPage#setFocus() */
-		public void setFocus() {
-			Viewer viewer= getViewer();
-			if (viewer != null) {
-				Control c = viewer.getControl();
-				if (!c.isFocusControl()) {
-					c.setFocus();
-				}
-			}
-		}
-	}
-	
-	class MemoryViewPartListener implements IPartListener2
-	{
-		MemoryView fView = null;
-		
-		public MemoryViewPartListener(MemoryView view)
-		{
-			fView = view;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partActivated(IWorkbenchPartReference ref) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partBroughtToTop(IWorkbenchPartReference ref) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partClosed(IWorkbenchPartReference ref) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partDeactivated(IWorkbenchPartReference ref) {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partHidden(IWorkbenchPartReference ref) {
-			
-			IWorkbenchPart part = ref.getPart(false);
-			
-			if (part == fView)
-			{
-				fVisible = false;
-				// disable current storag block
-				
-				IMemoryViewTab top = getTopMemoryTab();
-				
-				if (top != null)
-				{
-					top.setEnabled(false);
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partVisible(IWorkbenchPartReference ref) {
-			IWorkbenchPart part = ref.getPart(false);
-			
-			if (part == fView)
-			{
-				fVisible = true;
-
-				// get current selection from debug view
-				ISelection selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (MemoryViewUtil.isValidSelection(selection))
-				{
-					Object elem = ((IStructuredSelection)selection).getFirstElement();
-
-					IDebugTarget debugTarget = ((IDebugElement)elem).getDebugTarget();
-					IMemoryBlockRetrieval memRetrieval =(IMemoryBlockRetrieval) ((IDebugElement)elem).getAdapter(IMemoryBlockRetrieval.class);
-
-					if (memRetrieval == null)
-					{
-						// if debug element returns null from getAdapter, assume its debug target is going to retrieve memory blocks
-						memRetrieval = debugTarget;
-					}					
-											
-					if (tabFolderHashtable.containsKey(memRetrieval))
-					{
-						TabFolder toDisplay = (TabFolder)tabFolderHashtable.get(memRetrieval);
-						
-						if (toDisplay != null)
-						{
-							setTabFolder(toDisplay);
-							parent.layout();
-							
-							// restore view tabs
-							IMemoryBlock[] memoryBlocks = MemoryBlockManager.getMemoryBlockManager().getMemoryBlocks(debugTarget);
-							
-							if (toDisplay.getItemCount() == 0)
-							{
-								restoreViewTabs(memoryBlocks);
-							}
-						}
-					}
-					
-					// disable current storag block
-				
-					IMemoryViewTab top = getTopMemoryTab();
-				
-					if (top != null)
-					{
-						if (!top.isEnabled())
-						{
-							top.setEnabled(true);
-						}
-					}
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-		 */
-		public void partInputChanged(IWorkbenchPartReference ref) {
-		}
-
-		public void partOpened(IWorkbenchPartReference ref)
-		{	
-		}
-	}
-	
-	// TODO:  Handle selection change in table if possible
-	class MemoryViewSelectionProvider implements ISelectionProvider, SelectionListener
-	{
-		ArrayList fListeners = new ArrayList();
-		ISelection selectedMemoryBlock;
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-		 */
-		public void addSelectionChangedListener(ISelectionChangedListener listener)
-		{
-			if (!fListeners.contains(listener))
-				fListeners.add(listener);
-			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
-		 */
-		public ISelection getSelection()
-		{
-			return selectedMemoryBlock;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
-		 */
-		public void removeSelectionChangedListener(ISelectionChangedListener listener)
-		{
-			if (fListeners.contains(listener))
-				fListeners.remove(listener);
-			
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
-		 */
-		public void setSelection(ISelection selection)
-		{
-			selectedMemoryBlock = selection;
-			
-			fireChanged();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e)
-		{
-			if (getTopMemoryTab() == null)
-				return;
-			
-			IMemoryBlock blk = getTopMemoryTab().getMemoryBlock();
-			
-			if (blk != null)
-			{
-				setSelection(new StructuredSelection(blk));
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetDefaultSelected(SelectionEvent e)
-		{
- 
-			
-		}
-		
-		public void fireChanged()
-		{
-			SelectionChangedEvent evt = new SelectionChangedEvent(this, getSelection());
-			for (int i=0; i<fListeners.size(); i++)
-			{
-				((ISelectionChangedListener)fListeners.get(i)).selectionChanged(evt);
-			}
-		}
-	}	
-	
-	/**
-	 * The constructor.
-	 */
-	public MemoryView() {
-		
-	}
-
-	/**
-	 * This is a callback that will allow us
-	 * to create the viewer and initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-
-		super.createPartControl(parent);
-		this.parent = parent;
-		stackLayout = new StackLayout();
-		parent.setLayout(stackLayout);
-		
-		WorkbenchHelp.setHelp(parent, IDebugUIConstants.PLUGIN_ID + ".MemoryView_context"); //$NON-NLS-1$
-		
-		fSelectionProvider = new MemoryViewSelectionProvider();
-		fViewTabEnablementManager = new ViewTabEnablementManager();
-		
-		// contribute actions
-		makeActions();
-		contributeToActionBars();
-		
-		getViewSite().getActionBars().updateActionBars();
-		
-		emptyTabFolder = new TabFolder(parent, SWT.NULL);
-		setTabFolder(emptyTabFolder);
-
-		tabFolderHashtable = new Hashtable(3);
-		fMenuMgr = new Hashtable();
-		
-		addListeners();
-		
-		// check current selection and create folder if something is already selected from debug view
-		ISelection selection = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-
-		if (MemoryViewUtil.isValidSelection(selection))
-		{
-			createFolder(selection);
-		}
-		
-		fVisible = true;
-		
-		getSite().setSelectionProvider(this.fSelectionProvider);
-	}
-	
-	protected void addListeners()
-	{
-		fListener = new MemoryViewPartListener(this);
-		getSite().getPage().addPartListener(fListener);
-		
-		MemoryBlockManager.getMemoryBlockManager().addListener(this);
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-//		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().addSelectionListener(IMemoryViewConstants.MEMORY_RENDERING_VIEW_ID, this);
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().addSelectionListener(this);
-	}
-
-	private MenuManager createContextMenuManager() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				
-				IMemoryViewTab top = getTopMemoryTab();
-				
-				if (top != null)
-				{
-					top.fillContextMenu(manager);
-				}
-				manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-		});
-
-		getSite().registerContextMenu(menuMgr, fSelectionProvider);
-		return menuMgr;
-	}
-
-	private void contributeToActionBars() {
-		IActionBars bars = getViewSite().getActionBars();
-		fillLocalToolBar(bars.getToolBarManager());
-		
-		bars.getMenuManager().add(new SetDefaultColumnSizePrefAction());
-		bars.updateActionBars();
-	}
-
-
-	protected void fillContextMenu(IMenuManager manager) {
-		manager.add(addMemoryBlockAction);
-		manager.add(removeMemoryBlockAction);
-		manager.add(resetMemoryBlockAction);
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator("Additions")); //$NON-NLS-1$
-	}
-	
-	protected void fillLocalToolBar(IToolBarManager manager) {
-		manager.add(addMemoryBlockAction);
-		manager.add(removeMemoryBlockAction);
-		
-		manager.add(new Separator());
-		
-		manager.add(resetMemoryBlockAction);
-		manager.add(copyViewToClipboardAction);
-		manager.add(printViewTabAction);
-	}
-
-	private void makeActions() {
-		addMemoryBlockAction = new AddMemoryBlockAction();
-
-		removeMemoryBlockAction = new RemoveMemoryBlockAction();
-		removeMemoryBlockAction.setEnabled(false);
-		
-		resetMemoryBlockAction = new ResetMemoryBlockAction();
-		resetMemoryBlockAction.setEnabled(false);
-		
-		copyViewToClipboardAction = new CopyViewTabToClipboardAction();
-		copyViewToClipboardAction.setEnabled(false);
-		
-		printViewTabAction = new PrintViewTabAction();
-		printViewTabAction.setEnabled(false);
-		
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		stackLayout.topControl.setFocus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockAdded(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockAdded(IMemoryBlock memoryblk) {
-
-		final IMemoryBlock memory = memoryblk;
-		
-		// disable current view tab
-		if (getTopMemoryTab() != null)
-			getTopMemoryTab().setEnabled(false);
-		TabFolder tabFolder = (TabFolder) stackLayout.topControl;
-		TabItem tab = new TabItem(tabFolder, SWT.NULL);
-		// create memory tab with new memory
-		MemoryViewTab memoryTab;
-		
-		// create a new menu manager for each view tab
-		// menu manager will be cleaned up when the view tab is disposed
-		// or when the view is disposed
-		MenuManager menuMgr = createContextMenuManager();
-		
-		HexRendering hexRendering = new HexRendering(memory, IMemoryViewConstants.RENDERING_RAW_MEMORY);
-		
-		memoryTab = new MemoryViewTab(memory, tab, menuMgr, hexRendering, new HexRenderer());
-		
-		// put to hashtable to be cleaned up later
-		fMenuMgr.put(memoryTab, menuMgr);
-		
-		// bring new tab to the front
-		tabFolder.setSelection(tabFolder.indexOf(memoryTab.getTab()));
-		// bringing the tab to the front causes the view tab's cursor to lose focus
-		// this is a work-around to force focus to the cursor when the tab is created
-//		memoryTab.setCursorFocus();
-
-		updateToolBarActionsEnablement();
-
-		fSelectionProvider.setSelection(new StructuredSelection(memoryTab.getMemoryBlock()));
-		
-//		ask debug target about memeory retrieval
-		 IDebugTarget debugTarget = memory.getDebugTarget();
-		 IMemoryBlockRetrieval standardMemRetrieval = (IMemoryBlockRetrieval)memory.getAdapter(IMemoryBlockRetrieval.class);
-	
-		 if (standardMemRetrieval == null)
-		 {
-			 // if getAdapter returns null, assume we only have one language under the debug target
-			 // make use of the debug target to get IMemoryBlock
-			 standardMemRetrieval = debugTarget;
-		 }
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryBlockListener#MemoryBlockRemoved(org.eclipse.debug.core.model.IMemoryBlock)
-	 */
-	public void MemoryBlockRemoved(IMemoryBlock memoryblk)
-	{
-		final IMemoryBlock memory = memoryblk;
-		
-		// need to run the following code on the UI Thread to avoid invalid thread access exception
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				TabFolder tabFolder = (TabFolder) stackLayout.topControl;
-				
-				if (tabFolder.isDisposed())
-					return;
-				
-				TabItem[] tabs = tabFolder.getItems();
-				boolean foundTab = false;
-				for (int i = 0; i < tabs.length; i++)
-				{
-					IMemoryViewTab viewTab = (IMemoryViewTab) tabs[i].getData();
-					if (viewTab.getMemoryBlock() == memory)
-					{
-						disposeViewTab(viewTab, tabs[i]);
-						foundTab = true;
-						break;
-					}
-				}
-				if (foundTab)
-				{
-					if (tabFolder.getItemCount() == 0)
-					{
-						removeMemoryBlockAction.setEnabled(false);
-						resetMemoryBlockAction.setEnabled(false);
-						copyViewToClipboardAction.setEnabled(false);
-						printViewTabAction.setEnabled(false);
-						
-						// if there is no more item in the top tab folder
-						// set selection as empty
-						fSelectionProvider.setSelection(new StructuredSelection(new Object[0]));
-						
-						// if there is no item left in the folder and if the debug target
-						// for the last memory block has been terminated
-						// Clean up the tab folder and use the EmptyTabFolder for display
-						IDebugTarget dt = memory.getDebugTarget();
-						if (dt.isTerminated() || dt.isDisconnected())
-						{
-							if (key != null)
-							{
-								tabFolderHashtable.remove(key);
-							}
-							if (!tabFolder.isDisposed())
-							{
-								tabFolder.dispose();
-							}
-							emptyFolder();
-						}
-					}
-				}
-				// if a tab is not found in the current top control
-				// this deletion is a result of a debug target termination
-				// find memory from other folder and dispose the view tab
-				if (!foundTab)
-				{
-					Enumeration enum = tabFolderHashtable.elements();
-					while (enum.hasMoreElements())
-					{
-						tabFolder = (TabFolder) enum.nextElement();
-						tabs = tabFolder.getItems();
-						IMemoryViewTab viewTab = null;
-						for (int i = 0; i < tabs.length; i++)
-						{
-							viewTab = (IMemoryViewTab) tabs[i].getData();
-							if (viewTab.getMemoryBlock() == memory)
-							{
-								disposeViewTab(viewTab, tabs[i]);
-								foundTab = true;
-								break;
-							}
-						}
-						if (foundTab)
-						{
-							if (tabFolder.getItemCount() == 0)
-							{
-								// if there is no item left in the folder and if the debug target
-								// for the last memory block has been terminated
-								// Clean up the tab folder and use the EmptyTabFolder for display
-								IDebugTarget dt = memory.getDebugTarget();
-								if (dt.isTerminated() || dt.isDisconnected())
-								{
-									Enumeration keyEnum = tabFolderHashtable.keys();
-									Object tabKey = null;
-									while (keyEnum.hasMoreElements())
-									{
-										tabKey = keyEnum.nextElement();
-										if (tabFolderHashtable.get(tabKey) == tabFolder)
-										{
-											break;
-										}
-									}
-									// dispose of the folder if it no longer contains anything
-									if (!tabFolder.isDisposed())
-										tabFolder.dispose();
-									// remove the folder from the hashtable
-									if (tabKey != null)
-										tabFolderHashtable.remove(tabKey);
-									// use empty folder for display
-									emptyFolder();
-								}
-							}
-							break;
-						}
-					}
-				}
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		
-		removeListeners();
-		
-		// dispose empty folders
-		emptyTabFolder.dispose();
-		
-		// dispose all other folders
-		try {
-			
-			if (tabFolderHashtable != null) {
-				Enumeration enum = tabFolderHashtable.elements();
-				
-				while (enum.hasMoreElements())
-				{
-					TabFolder tabFolder = (TabFolder)enum.nextElement();
-					
-					if (tabFolder.isDisposed())
-						continue;
-					
-					// if tab folder is not empty, dipose view tabs
-					TabItem[] tabs = tabFolder.getItems();
-					
-					for (int i=0; i<tabs.length; i++)
-					{
-						IMemoryViewTab viewTab = (IMemoryViewTab)tabs[i].getData();
-						
-						if (!tabs[i].isDisposed())
-							disposeViewTab(viewTab, tabs[i]);
-					}
-					
-					tabFolder.dispose();
-				}
-				
-				// set to null so that clean up is only done once
-				tabFolderHashtable = null;
-			}
-		} catch (Exception e) {		
-			
-			Status status = new Status(IStatus.ERROR, 
-				DebugUIPlugin.getUniqueIdentifier(),
-				0, "Exception occurred when the Memory  View is disposed", e); //$NON-NLS-1$
-			DebugUIPlugin.log(status);
-		}
-		
-		super.dispose();
-	}
-
-	/**
-	 * 
-	 */
-	private void removeListeners() {
-		// remove listeners
-		MemoryBlockManager.getMemoryBlockManager().removeListener(this);
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,this);
-//		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().removeSelectionListener(IMemoryViewConstants.MEMORY_RENDERING_VIEW_ID, this);
-		DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getSelectionService().removeSelectionListener(this);
-		
-		getSite().getPage().removePartListener(fListener);
-		fListener = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#createDefaultPage(org.eclipse.ui.part.PageBook)
-	 */
-	protected IPage createDefaultPage(PageBook book) {
-		MemoryView.ViewerPage page = new MemoryView.ViewerPage();
-		page.createControl(book);
-		initPage(page);
-		return page;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected PageRec doCreatePage(IWorkbenchPart part) {
-		 
-		return null;
-	}
-
-	/* (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) {
-		 
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#getBootstrapPart()
-	 */
-	protected IWorkbenchPart getBootstrapPart() {
-		 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#isImportant(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected boolean isImportant(IWorkbenchPart part) {
-		 
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getViewer()
-	 */
-	public Viewer getViewer() {
-		 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(java.lang.String)
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#setAction(java.lang.String, org.eclipse.jface.action.IAction)
-	 */
-	public void setAction(String actionID, IAction action) {
-		 
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#add(org.eclipse.ui.texteditor.IUpdate)
-	 */
-	public void add(IUpdate updatable) {
-		 
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#remove(org.eclipse.ui.texteditor.IUpdate)
-	 */
-	public void remove(IUpdate updatable) {
-		 
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getAction(java.lang.String)
-	 */
-	public IAction getAction(String actionID) {
-		 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getContextMenuManager()
-	 */
-	public IMenuManager getContextMenuManager() {
-		return null;
-	}
-	
-	public IMemoryViewTab getTopMemoryTab() {
-		
-		if (stackLayout.topControl instanceof TabFolder)
-		{
-			TabFolder folder = (TabFolder)stackLayout.topControl;
-			int index = folder.getSelectionIndex();
-			if (index >= 0) {
-				TabItem tab = folder.getItem(index);
-				return (IMemoryViewTab)tab.getData();
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-	
-		try {
-			
-			if (part == this)
-				return;
-			
-			if (!(selection instanceof IStructuredSelection))
-				return;
-			
-			// back up current view tab
-			IMemoryViewTab lastViewTab = getTopMemoryTab();
-						
-			//only single selection of IDebugElement is allowed for this action
-			if (selection == null || selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-			{
-				// do not do anything if there is no selection or if there is more than one selection
-				// In the case when a debug adpater fires a debug event incorrectly, Launch View sets
-				// selection to nothing.  If the view tab is disabled, it erases all the "delta" information
-				// in the content.  This may not be desirable as it will cause memory to show up as
-				// unchanged when it's actually changed.  Do not disable the view tab until there is a 
-				// valid selection.
-				return;
-			}
-
-			Object elem = ((IStructuredSelection)selection).getFirstElement();
-			
-			if (elem instanceof IMemoryRendering){
-				handleMemoryBlockSelection(lastViewTab, ((IMemoryRendering)elem).getBlock());
-			}
-			else if (elem instanceof IMemoryBlock)
-			{
-				handleMemoryBlockSelection(lastViewTab, (IMemoryBlock)elem);
-			}
-			else if (elem instanceof IDebugElement)
-			{
-				handleDebugElementSelection(lastViewTab, (IDebugElement)elem);
-			}
-			else
-			{
-				if (part.getSite().getId().equals(IDebugUIConstants.ID_DEBUG_VIEW))
-				{
-					if (lastViewTab != null)
-						lastViewTab.setEnabled(false);
-					emptyFolder();
-				}
-				key = null;
-				return;				
-			}
-		}
-		catch(SWTException se)
-		{
-			Status status = new Status(IStatus.ERROR, 
-					DebugUIPlugin.getUniqueIdentifier(),
-					0, "SWT Exception occurred in Memory View selection changed", se); //$NON-NLS-1$
-			DebugUIPlugin.log(status);
-		}
-	}
-	
-	private void handleMemoryBlockSelection(final IMemoryViewTab lastViewTab, final IMemoryBlock memoryBlock)
-	{
-		// check top view tab, if already showing the memory block, do
-		// nothing
-		if (getTopMemoryTab() != null) {
-			if (getTopMemoryTab().getMemoryBlock() == memoryBlock) {
-				return;
-			}
-			// otherwise, find the memory block to display
-			TabFolder folder = (TabFolder) stackLayout.topControl;
-			TabItem[] items = folder.getItems();
-
-			for (int i = 0; i < items.length; i++) {
-				IMemoryViewTab viewTab =
-					(IMemoryViewTab) items[i].getData();
-				if (viewTab.getMemoryBlock() == memoryBlock) {
-					boolean isEnabled = lastViewTab.isEnabled();
-
-					// switch to that memory block
-					lastViewTab.setEnabled(false);
-					folder.setSelection(i);
-					fSelectionProvider.setSelection(
-						new StructuredSelection(memoryBlock));
-					getTopMemoryTab().setEnabled(isEnabled);
-					break;
-				}
-			}
-		} else {
-			// do nothing since there is nothing else to display
-		}
-	}
-	
-	private void handleDebugElementSelection(IMemoryViewTab lastViewTab, IDebugElement elem)
-	{	
-		// find the folder associated with the given IMemoryBlockRetrieval
-		IMemoryBlockRetrieval retrieve = (IMemoryBlockRetrieval)elem.getAdapter(IMemoryBlockRetrieval.class);
-		IDebugTarget debugTarget = elem.getDebugTarget();
-		
-		// if IMemoryBlockRetrieval is null, use debugtarget
-		if (retrieve == null)
-			retrieve = debugTarget;
-		
-		key = retrieve;	
-
-		if (debugTarget == null ||debugTarget.isTerminated() || debugTarget.isDisconnected()) {
-			emptyFolder();
-			
-			if (tabFolderHashtable != null)
-			{
-				if (tabFolderHashtable.containsKey(key))
-				{
-					TabFolder deleteFolder = (TabFolder)tabFolderHashtable.get(key);
-					
-					// dispose folder if not already disposed
-					if (!deleteFolder.isDisposed())
-						deleteFolder.dispose();
-					
-					tabFolderHashtable.remove(key);
-				}
-			}
-			
-			key = null;
-			return;
-		}
-		
-		// should never get here... added code for safety
-		if (tabFolderHashtable == null)
-		{
-			emptyFolder();
-			key = null;
-			return;				
-		}
-
-		//if we've got a tabfolder to go with the IMemoryBlockRetrieval, display it
-		if (tabFolderHashtable.containsKey(retrieve)) {
-			if (stackLayout.topControl != (TabFolder)tabFolderHashtable.get(retrieve)) {
-				setTabFolder((TabFolder)tabFolderHashtable.get(retrieve));
-				parent.layout();
-			}
-		} else {	//otherwise, add a new one
-			tabFolderHashtable.put(retrieve, new TabFolder(parent, SWT.NULL));
-			setTabFolder((TabFolder)tabFolderHashtable.get(retrieve));
-			parent.layout();
-		}
-		
-		// restore view tabs based on memory block retrieval
-		IMemoryBlock[] memoryBlocks = MemoryBlockManager.getMemoryBlockManager().getMemoryBlocks(retrieve);
-		TabFolder toDisplay = (TabFolder)stackLayout.topControl;
-		
-		if (toDisplay.getItemCount() == 0)
-		{
-			restoreViewTabs(memoryBlocks);
-		}
-		
-		// disable last view tab as it becomes hidden
-		IMemoryViewTab newViewTab = getTopMemoryTab();
-		
-		if (lastViewTab != null && lastViewTab != newViewTab)
-		{
-			lastViewTab.setEnabled(false);
-		}
-		
-		if (newViewTab != null)
-		{
-			// if new view tab is not already enabled, enable it
-			if (!newViewTab.isEnabled())
-			{
-				// if the view tab is visible, enable it
-				if (fVisible)
-				{
-					newViewTab.setEnabled(true);
-					fSelectionProvider.setSelection(new StructuredSelection(newViewTab.getMemoryBlock()));
-				}					
-			}
-		}			
-		
-		//set toolbar actions enabled/disabled
-		updateToolBarActionsEnablement();		
-	}
-	
-	protected void emptyFolder()
-	{		
-		setTabFolder(emptyTabFolder);
-		if (!parent.isDisposed()) {
-			parent.layout();
-		}
-		
-		// this folder will always remain empty
-		// remove button should always be disabled
-		removeMemoryBlockAction.setEnabled(false);
-		resetMemoryBlockAction.setEnabled(false);
-		copyViewToClipboardAction.setEnabled(false);
-		printViewTabAction.setEnabled(false);
-		
-		fSelectionProvider.setSelection(new StructuredSelection(new Object[0]));
-	}
-	
-	private void createFolder(ISelection selection)
-	{
-		if (!(selection instanceof IStructuredSelection))
-			return;
-
-		//only single selection of PICLDebugElements is allowed for this action
-		if (selection == null || selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return;
-		}
-
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-
-		// if not debug element
-		if (!(elem instanceof IDebugElement))
-			return;
-
-		IDebugTarget debugTarget = ((IDebugElement)elem).getDebugTarget();
-		IMemoryBlockRetrieval memRetrieval =(IMemoryBlockRetrieval) ((IDebugElement)elem).getAdapter(IMemoryBlockRetrieval.class);
-		
-		if (memRetrieval == null)
-		{
-			// if debug element returns null from getAdapter, assume its debug target is going to retrieve memory blocks
-			memRetrieval = debugTarget;
-		}	
-		
-		//if we've got a tabfolder to go with the IMemoryBlockRetrieval, display it
-		if (tabFolderHashtable.containsKey(memRetrieval)) {
-			if (stackLayout.topControl != (TabFolder)tabFolderHashtable.get(memRetrieval)) {
-				setTabFolder((TabFolder)tabFolderHashtable.get(memRetrieval));
-				parent.layout();
-			}
-		} else {	//otherwise, add a new one
-			tabFolderHashtable.put(memRetrieval, new TabFolder(parent, SWT.NULL));
-			setTabFolder((TabFolder)tabFolderHashtable.get(memRetrieval));
-			parent.layout();
-		}
-			
-		//set toolbar actions enabled/disabled
-		updateToolBarActionsEnablement();
-	}
-	
-	// enable/disable toolbar action 
-	protected void updateToolBarActionsEnablement()
-	{
-		TabFolder folder = (TabFolder)stackLayout.topControl;
-		int index = folder.getSelectionIndex();
-		if (index >= 0) {
-			removeMemoryBlockAction.setEnabled(true);
-			resetMemoryBlockAction.setEnabled(true);
-			copyViewToClipboardAction.setEnabled(true);
-			printViewTabAction.setEnabled(true);
-			
-		} else {
-			removeMemoryBlockAction.setEnabled(false);
-			resetMemoryBlockAction.setEnabled(false);
-			copyViewToClipboardAction.setEnabled(false);
-			printViewTabAction.setEnabled(false);
-		}		
-	}
-	
-	private void restoreViewTabs(IMemoryBlock[] memoryBlocks)
-	{
-		for (int i=0; i<memoryBlocks.length; i++)
-		{
-			// enable to get latest data
-			if (memoryBlocks[i] instanceof IExtendedMemoryBlock)
-			{
-				((IExtendedMemoryBlock)memoryBlocks[i]).enable();
-			}
-			MemoryBlockAdded(memoryBlocks[i]);
-			
-			// disable after done
-			if (memoryBlocks[i] instanceof IExtendedMemoryBlock)
-			{
-				((IExtendedMemoryBlock)memoryBlocks[i]).disable();
-			}
-		}
-
-		// enable memory block
-		IMemoryViewTab viewTab = getTopMemoryTab();
-		if (viewTab != null)
-		{
-			if (viewTab.getMemoryBlock() instanceof IExtendedMemoryBlock)
-			{
-				((IExtendedMemoryBlock)viewTab.getMemoryBlock()).enable();
-			}
-		}		
-	}
-	
-	private void setTabFolder(TabFolder folder)
-	{
-		if (stackLayout.topControl != null)
-		{
-			TabFolder old = (TabFolder)stackLayout.topControl;
-			
-			if (!old.isDisposed())
-			{	
-				old.removeSelectionListener(fSelectionProvider);
-				old.removeSelectionListener(fViewTabEnablementManager);
-			}
-		}
-		
-		stackLayout.topControl = folder;
-		
-		if (folder.getItemCount() > 0)
-		{
-			TabItem[] selectedItem = folder.getSelection();
-			
-			if (selectedItem.length > 0)
-			{
-				IMemoryViewTab viewTab = (IMemoryViewTab)selectedItem[0].getData();
-				fSelectionProvider.setSelection(new StructuredSelection(viewTab.getMemoryBlock()));
-			}
-		}
-		else
-		{
-			fSelectionProvider.setSelection(new StructuredSelection());
-		}
-		
-		folder.addSelectionListener(fSelectionProvider);
-		folder.addSelectionListener(fViewTabEnablementManager);
-	}
-	
-	private void disposeViewTab(IMemoryViewTab viewTab, TabItem tabItem)
-	{
-		if (viewTab == null)
-			return;
-		
-		// get menu manager and clean up
-		IMenuManager menuMgr = (IMenuManager)fMenuMgr.get(viewTab);
-		
-		if (menuMgr != null)
-		{
-			menuMgr.dispose();
-		}
-		
-		viewTab.dispose();
-
-		if (tabItem == null)
-			return;
-		
-		// dispose the tab item in case the view tab has not 
-		// cleaned up the tab item
-		if (!tabItem.isDisposed())
-		{	
-			tabItem.dispose();
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryView#getAllViewTabs()
-	 */
-	public IMemoryViewTab[] getAllViewTabs() {
-		
-		// otherwise, find the view tab to display
-		TabFolder folder = (TabFolder) stackLayout.topControl;
-		TabItem[] items = folder.getItems();
-		
-		IMemoryViewTab[] viewTabs = new IMemoryViewTab[folder.getItemCount()];
-		
-		for(int i=0; i<items.length; i++){
-			viewTabs[i] = (IMemoryViewTab)items[i].getData();
-		}
-		
-		return viewTabs;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryView#moveToTop(org.eclipse.debug.ui.IMemoryViewTab)
-	 */
-	public void moveToTop(IMemoryViewTab viewTab) {
-		
-		IMemoryViewTab lastViewTab = getTopMemoryTab();
-		
-		if (viewTab == lastViewTab)
-			return;
-		
-		// otherwise, find the view tab to display
-		TabFolder folder = (TabFolder) stackLayout.topControl;
-		TabItem[] items = folder.getItems();
-
-		for (int i = 0; i < items.length; i++) {
-			IMemoryViewTab tab =
-				(IMemoryViewTab) items[i].getData();
-			if (viewTab == tab) {
-
-				boolean isEnabled = lastViewTab.isEnabled();
-
-				// switch to that viewTab
-				lastViewTab.setEnabled(false);
-				folder.setSelection(i);
-				fSelectionProvider.setSelection(
-						new StructuredSelection(getTopMemoryTab().getMemoryBlock()));
-				getTopMemoryTab().setEnabled(isEnabled);
-				break;
-			}
-		}
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewCellModifier.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewCellModifier.java
deleted file mode 100644
index 733051b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewCellModifier.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * @since 3.0
- */
-public class MemoryViewCellModifier implements ICellModifier
-{
-	private static final String PREFIX = "MemoryViewCellModifier."; //$NON-NLS-1$
-	public static final String TITLE = PREFIX + "failure_title"; //$NON-NLS-1$
-	public static final String FAILED = PREFIX + "failed";  //$NON-NLS-1$
-	public static final String DATA_IS_INVALID = PREFIX + "data_is_invalid";  //$NON-NLS-1$
-	public static final String DATA_IS_TOO_LONG = PREFIX + "data_is_too_long";  //$NON-NLS-1$
-
-	private boolean editActionInvoked = false;
-	private ITableMemoryViewTab fViewTab;
-	
-	public MemoryViewCellModifier(ITableMemoryViewTab viewTab)
-	{
-		fViewTab = viewTab;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object, java.lang.String)
-	 */
-	public boolean canModify(Object element, String property)
-	{	
-		boolean canModify = true;	
-		try
-		{	
-			if (!(element instanceof MemoryViewLine))
-				return false;
-				
-			if (!editActionInvoked)
-				return false;	
-				
-			if (fViewTab == null)
-				return false;	
-				
-			if (fViewTab.getMemoryBlock().supportsValueModification() == false)
-			{
-				return false;	
-			}
-			
-			MemoryViewLine line = (MemoryViewLine)element;
-			if (MemoryViewLine.P_ADDRESS.equals(property))
-			   return false;
-			else
-			{
-				int offset = Integer.valueOf(property, 16).intValue();
-				int end = offset + fViewTab.getColumnSize();
-				
-			
-				for (int i=offset; i<end; i++)
-				{
-					MemoryByte oneByte = line.getByte(i);
-//					if (((oneByte.flags & MemoryByte.VALID) != MemoryByte.VALID) || 
-//						((oneByte.flags & MemoryByte.READONLY) == MemoryByte.READONLY))
-					if ((oneByte.flags & MemoryByte.READONLY) == MemoryByte.READONLY)
-					{
-						canModify = false;
-					}
-				}
-				return canModify;
-			}	
-		}
-		catch (NumberFormatException e)
-		{
-			canModify = false;
-			return canModify;
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object, java.lang.String)
-	 */
-	public Object getValue(Object element, String property)
-	{
-		// give back the value of the column
-		
-		if (!(element instanceof MemoryViewLine))
-			return null;
-			
-		MemoryViewLine line = (MemoryViewLine)element;
-		try
-		{
-			if (MemoryViewLine.P_ADDRESS.equals(property))
-			   return line.getAddress();
-			else
-			{	
-				int offset = Integer.valueOf(property, 16).intValue();
-				int end = offset + fViewTab.getColumnSize();
-				
-
-				//Ask for label provider
-				MemoryByte[] memory = line.getBytes(offset, end);
-
-				IBaseLabelProvider labelProvider = ((MemoryViewTab)fViewTab).getTableViewer().getLabelProvider();
-				if(labelProvider instanceof AbstractTableViewTabLabelProvider)
-				{	
-					
-					if (line.isAvailable(offset, end))
-					{
-						// ask the renderer for a string representation of the bytes
-						offset  = Integer.valueOf(property, 16).intValue();
-						AbstractMemoryRenderer renderer = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer();
-						
-						BigInteger address = new BigInteger(((MemoryViewLine)element).getAddress(), 16);
-						address = address.add(BigInteger.valueOf(offset)); 
-						
-						return renderer.getString(fViewTab.getRenderingId(), address, memory, line.getPaddedString());
-					}
-					else
-					{
-						// if the range is not available, just return padded string
-						return line.getPaddedString(offset, end);
-					}
-				}
-				
-				return ""; //$NON-NLS-1$
-			}
-		}
-		catch (NumberFormatException e)
-		{
-			return "00"; //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object, java.lang.String, java.lang.Object)
-	 */
-	public void modify(Object element, String property, Object value)
-	{
-		MemoryViewLine line = null;
-		if (!(element instanceof MemoryViewLine))
-		{
-			line = (MemoryViewLine)((TableItem)element).getData();
-		}
-		else
-		{
-			line = (MemoryViewLine)element;
-		}
-			
-		// calculate offset to update	
-		IMemoryBlock memory = fViewTab.getMemoryBlock();
-
-		int lineOffset = Integer.valueOf(property, 16).intValue();
-		
-		long offset = getOffset(memory, line.getAddress(), lineOffset);
-		
-		// validate data
-		if (!(value instanceof String))
-			return;
-					
-		if (!(fViewTab instanceof MemoryViewTab))
-			return;	
-		
-		try
-		{
-			byte[] bytes = null;
-			
-			String oldValue = (String)getValue(line, property);		
-			
-			if (!oldValue.equals(value))
-			{	
-				// try label provider
-				IBaseLabelProvider labelProvider = ((MemoryViewTab)fViewTab).getTableViewer().getLabelProvider();
-				if(labelProvider instanceof AbstractTableViewTabLabelProvider)
-				{	
-					int offsetToLine = Integer.valueOf(property, 16).intValue();
-					int end = offsetToLine + fViewTab.getColumnSize();
-					
-					MemoryByte[] oldArray= line.getBytes(offsetToLine, end);
-					
-					BigInteger address = new BigInteger(line.getAddress(), 16);
-					address = address.add(BigInteger.valueOf(offsetToLine)); 
-					
-					bytes = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer().getBytes(fViewTab.getRenderingId(), address, oldArray, (String)value);
-					
-					if (bytes == null)
-						return;
-					
-					if (bytes.length == 0)
-						return;
-				}
-				else
-					return;
-			}
-			else
-			{	
-				// return if value has not changed
-				return;
-			}
-		
-		
-			memory.setValue(offset, bytes);
-		}
-		catch (DebugException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), DebugUIMessages.getString(FAILED), e);
-		}
-		catch(NumberFormatException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.getString(TITLE), 
-					DebugUIMessages.getString(FAILED) + "\n" + DebugUIMessages.getString(DATA_IS_INVALID), null); //$NON-NLS-1$
-		}
-		
-	}
-
-	private long getOffset(IMemoryBlock memory, String lineAddress, int lineOffset) {
-		
-		BigInteger lineAddr = new BigInteger(lineAddress, 16);
-		BigInteger memoryAddr;
-		
-		if (memory instanceof IExtendedMemoryBlock)
-		{
-			memoryAddr = ((IExtendedMemoryBlock)memory).getBigBaseAddress();
-		}
-		else
-		{
-			memoryAddr = BigInteger.valueOf(memory.getStartAddress());
-		}
-		
-		if (memoryAddr == null)
-			memoryAddr = new BigInteger("0"); //$NON-NLS-1$
-		
-		long offset = lineAddr.subtract(memoryAddr).longValue();
-		
-		return offset + lineOffset;
-	}
-	
-
-
-	/**
-	 * @param editActionInvoked The editActionInvoked to set.
-	 */
-	public void setEditActionInvoked(boolean editActionInvoked) {
-		this.editActionInvoked = editActionInvoked;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewContentProvider.java
deleted file mode 100644
index c80e9f0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewContentProvider.java
+++ /dev/null
@@ -1,802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlockRetrieval;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Content provider for MemoryViewTab
- * 
- * @since 3.0
- */
-public class MemoryViewContentProvider extends BasicDebugViewContentProvider {
-	
-	private static final String PREFIX = "MemoryViewContentProvider."; //$NON-NLS-1$
-	private static final String UNABLE_TO_RETRIEVE_CONTENT = PREFIX + "Unable_to_retrieve_content"; //$NON-NLS-1$
-
-	private static final String DEFAULT_PADDED_STR = "--"; //$NON-NLS-1$
-		
-	// cached information
-	protected Vector lineCache;
-	
-	// keeps track of all memory line ever retrieved
-	// allow us to compare and compute deltas
-	protected Hashtable contentCache;
-	
-	private BigInteger fBufferTopAddress;
-	private BigInteger fBaseAddress;
-	
-	private IMemoryBlock fMemoryBlock;
-	private TabItem fTabItem;
-	private MemoryViewTab fViewTab;
-	private boolean fLockRefresh = false;
-	
-	// implementation of MemoryByte for IMemoryBlock Support
-	private class MByte extends MemoryByte
-	{
-		protected MByte(byte value, byte flags)
-		{
-			this.value = value;
-			this.flags = flags;
-		}
-		
-		protected MByte()
-		{
-			
-		}
-	}
-	
-	/**
-	 * @param memoryBlock
-	 * @param newTab
-	 */
-	public MemoryViewContentProvider(IMemoryBlock memoryBlock, TabItem newTab)
-	{
-		fMemoryBlock = memoryBlock;
-		fTabItem = newTab;
-		lineCache = new Vector();
-		contentCache = new Hashtable();
-		
-		fViewTab = (MemoryViewTab)fTabItem.getData();
-			
-		DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/**
-	 * @param viewer
-	 */
-	public void setViewer(StructuredViewer viewer)
-	{
-		fViewer = viewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-	}
-
-	public void dispose() {
-
-		// fTabItem disposed by view tab
-		
-		DebugPlugin.getDefault().removeDebugEventListener(this);		
-		
-		super.dispose();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object parent) {
-
-		// if cache is empty, get memory
-		if (lineCache.isEmpty()) { 
-		
-			try {
-				if (fMemoryBlock instanceof IExtendedMemoryBlock)
-				{
-					// calculate top buffered address
-					BigInteger address = ((IExtendedMemoryBlock)fMemoryBlock).getBigBaseAddress();
-					
-					if (address == null)
-					{
-						address = new BigInteger("0"); //$NON-NLS-1$
-					}
-					
-					MemoryViewTab viewTab = (MemoryViewTab)fTabItem.getData();
-					
-					BigInteger bigInt = address;
-					if (bigInt.compareTo(BigInteger.valueOf(32)) <= 0) {
-						viewTab.TABLE_PREBUFFER = 0;
-					} else {
-						viewTab.TABLE_PREBUFFER = bigInt.divide(BigInteger.valueOf(32)).min(BigInteger.valueOf(viewTab.TABLE_DEFAULTBUFFER)).intValue();
-					}
-				
-					address = bigInt.subtract(BigInteger.valueOf(fViewTab.getBytesPerLine()*viewTab.TABLE_PREBUFFER));
-				
-					// get stoarage to fit the memory view tab size
-					getMemoryToFitTable(address, fViewTab.getNumberOfVisibleLines()+viewTab.TABLE_PREBUFFER+viewTab.TABLE_POSTBUFFER, true);
-				}
-				else
-				{
-					// get as much memory as the memory block can handle
-					MemoryViewTab viewTab = (MemoryViewTab)fTabItem.getData();
-					viewTab.TABLE_PREBUFFER=0;
-					viewTab.TABLE_POSTBUFFER=0;
-					viewTab.TABLE_DEFAULTBUFFER=0;
-					
-					long startAddress = fMemoryBlock.getStartAddress();					
-					BigInteger address = BigInteger.valueOf(startAddress);
-					
-					long length = fMemoryBlock.getLength();
-					long numLines = length / fViewTab.getBytesPerLine();
-					
-					getMemoryToFitTable(address, numLines, true);
-				}
-			} catch (DebugException e) {
-				DebugUIPlugin.log(e.getStatus());
-				((MemoryViewTab)fTabItem.getData()).displayError(e);
-				return lineCache.toArray();
-			}
-		}
-		return lineCache.toArray();
-	}
-	
-	/**
-	 * @return
-	 */
-	public IMemoryBlock getMemoryBlock() {
-		return fMemoryBlock;
-	}
-	
-	/**
-	 * Get memory to fit table
-	 * @param startingAddress
-	 * @param numberOfLines
-	 * @param updateDelta
-	 * @throws DebugException
-	 */
-	public void getMemoryToFitTable(BigInteger startingAddress, long numberOfLines, boolean updateDelta) throws DebugException
-	{
-		boolean error = false;
-		DebugException dbgEvt = null;
-		
-		// calculate address size
-		String adjustedAddress = startingAddress.toString(16);
-		
-		int addressSize = getAddressSize(startingAddress);
-		
-		int addressLength = addressSize * IInternalDebugUIConstants.CHAR_PER_BYTE;
-
-		// align starting address with double word boundary
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			if (!adjustedAddress.endsWith("0")) //$NON-NLS-1$
-			{
-				adjustedAddress = adjustedAddress.substring(0, adjustedAddress.length() - 1);
-				adjustedAddress += "0"; //$NON-NLS-1$
-				startingAddress = new BigInteger(adjustedAddress, 16);
-			}
-		}
-
-		IExtendedMemoryBlock extMemoryBlock = null;
-		MemoryByte[] memoryBuffer = null;
-		
-		// required number of bytes
-		long reqNumBytes = fViewTab.getBytesPerLine() * numberOfLines;
-		String paddedString = DEFAULT_PADDED_STR;
-		
-		try
-		{
-			if (fMemoryBlock instanceof IExtendedMemoryBlock)
-			{
-				// get memory from memory block
-				extMemoryBlock = (IExtendedMemoryBlock) fMemoryBlock;
-				
-				memoryBuffer =	extMemoryBlock.getBytesFromAddress(startingAddress,	reqNumBytes);
-				
-				if(memoryBuffer == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_RETRIEVE_CONTENT), null));
-					throw e;
-				}
-				
-				// get padded string
-				IMemoryBlockRetrieval retrieval = extMemoryBlock.getMemoryBlockRetrieval();
-				if (retrieval != null && retrieval instanceof IExtendedMemoryBlockRetrieval)
-				{
-					paddedString = ((IExtendedMemoryBlockRetrieval)retrieval).getPaddedString();
-					
-					if (paddedString == null)
-					{
-						paddedString = DEFAULT_PADDED_STR;
-					}
-				}
-			}
-			else
-			{
-				// get memory from memory block
-				byte[] memory = fMemoryBlock.getBytes();
-				
-				if (memory == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_RETRIEVE_CONTENT), null));	
-					throw e;					
-				}
-				
-				// create memory byte for IMemoryBlock
-				memoryBuffer = new MemoryByte[memory.length];
-				for (int i=0; i<memory.length; i++)
-				{
-					MByte tmp = new MByte();
-					tmp.value = memory[i];
-					tmp.flags |= MemoryByte.VALID;
-					memoryBuffer[i] = tmp;
-				}
-				
-				paddedString = DEFAULT_PADDED_STR;
-			}
-		}
-		catch (DebugException e)
-		{
-			memoryBuffer = makeDummyContent(numberOfLines);
-			
-			// finish creating the content provider before throwing an event
-			error = true; 
-			dbgEvt = e;
-		}
-		
-		// if debug adapter did not return enough memory, create dummy memory
-		if (memoryBuffer.length < reqNumBytes)
-		{
-			ArrayList newBuffer = new ArrayList();
-			
-			for (int i=0; i<memoryBuffer.length; i++)
-			{
-				newBuffer.add(memoryBuffer[i]);
-			}
-			
-			for (int i=memoryBuffer.length; i<reqNumBytes; i++)
-			{
-				byte value = 0;
-				byte flags = 0;
-				flags |= MemoryByte.READONLY;
-				newBuffer.add(new MByte(value, flags));
-			}
-			
-		}
-		
-		// clear line cacheit'
-		if (!lineCache.isEmpty())
-		{
-			lineCache.clear();
-		}
-		String address = startingAddress.toString(16);
-		// save address of the top of buffer
-		fBufferTopAddress = startingAddress;
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-			fBaseAddress = ((IExtendedMemoryBlock) fMemoryBlock).getBigBaseAddress();
-		else
-			fBaseAddress = BigInteger.valueOf(fMemoryBlock.getStartAddress());
-		
-		if (fBaseAddress == null)
-			fBaseAddress = new BigInteger("0"); //$NON-NLS-1$
-		
-			
-		// update tab name in case base address has changed
-		fViewTab.setTabName(fMemoryBlock, true);
-		
-		boolean manageDelta = true;
-		
-		// If change information is not managed by the memory block
-		// The view tab will manage it and calculate delta information
-		// for its content cache.
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			manageDelta = !((IExtendedMemoryBlock)fMemoryBlock).isMemoryChangesManaged();
-		}
-			
-		// put memory information into MemoryViewLine
-		for (int i = 0; i < numberOfLines; i++)
-		{ //chop the raw memory up 
-			String tmpAddress = address.toUpperCase();
-			if (tmpAddress.length() < addressLength)
-			{
-				for (int j = 0; tmpAddress.length() < addressLength; j++)
-				{
-					tmpAddress = "0" + tmpAddress; //$NON-NLS-1$
-				}
-			}
-			MemoryByte[] memory = new MemoryByte[fViewTab.getBytesPerLine()];
-			boolean isMonitored = true;
-			
-			// counter for memory, starts from 0 to number of bytes per line
-			int k = 0;
-			// j is the counter for memArray, memory returned by debug adapter
-			for (int j = i * fViewTab.getBytesPerLine();
-				j < i * fViewTab.getBytesPerLine() + fViewTab.getBytesPerLine();
-				j++)
-			{
-				
-				byte changeFlag = memoryBuffer[j].flags;
-				if (manageDelta)
-				{
-					// turn off both change and unchanged bits to make sure that
-					// the change bits returned by debug adapters do not take
-					// any effect
-					
-					changeFlag |= MemoryByte.CHANGED;
-					changeFlag ^= MemoryByte.CHANGED;
-					
-					changeFlag |= MemoryByte.UNCHANGED;
-					changeFlag ^= MemoryByte.UNCHANGED;
-				}
-				
-				MByte newByteObj = new MByte(memoryBuffer[j].value, changeFlag);
-				memory[k] =  newByteObj;
-				k++;
-				
-				
-				if (!manageDelta)
-				{
-					// if byte is not changed nor unchanged, we do not currently have 
-					// history for it.
-					if ((memoryBuffer[j].flags & MemoryByte.CHANGED) == 0 &&
-						(memoryBuffer[j].flags & MemoryByte.UNCHANGED) == 0)
-					{
-						isMonitored = false;
-					}
-				}
-			}
-			
-			MemoryViewLine newLine = new MemoryViewLine(tmpAddress, memory, lineCache.size(), paddedString);
-			
-			MemoryViewLine oldLine = (MemoryViewLine)contentCache.get(newLine.getAddress());
-			
-			if (manageDelta)
-			{
-				if (oldLine != null)
-					newLine.isMonitored = true;
-			}
-			else
-			{
-				// check the byte for information
-				newLine.isMonitored = isMonitored;
-			}
-			
-			// calculate delta info for the memory view line
-			if (manageDelta)
-			{
-				if (updateDelta)
-				{
-					if (oldLine != null)
-					{
-						newLine.markDeltas(oldLine);
-					}
-				}
-				else
-				{
-					if (oldLine != null)
-					{
-						// deltas can only be reused if the line has not been changed
-						// otherwise, force a refresh
-						if (newLine.isLineChanged(oldLine))
-						{
-							newLine.markDeltas(oldLine);
-						}
-						else
-						{
-							newLine.copyDeltas(oldLine);
-						}
-					}
-				}
-			}
-			lineCache.add(newLine);
-			
-//			// add to contentCache
-//			contentCache.put(newLine.getAddress(), newLine);
-			
-			// increment row address
-			BigInteger bigInt = new BigInteger(address, 16);
-			address = bigInt.add(BigInteger.valueOf(fViewTab.getBytesPerLine())).toString(16);
-		}
-		
-		if (error){
-			throw dbgEvt;
-		}
-	}
-	
-	/**
-	 * @param numberOfLines
-	 * @return
-	 */
-	private MemoryByte[] makeDummyContent(long numberOfLines) {
-		MemoryByte[] memoryBuffer;
-		// make up dummy memory, needed for recovery in case the debug adapter
-		// is capable of retrieving memory again
-
-		int numBytes = (int)(fViewTab.getBytesPerLine() * numberOfLines);
-		memoryBuffer = new MemoryByte[numBytes];
-		
-		for (int i=0; i<memoryBuffer.length; i++){
-			memoryBuffer[i] = new MByte();
-			memoryBuffer[i].value = 0;
-			memoryBuffer[i].flags |= MemoryByte.READONLY;
-		}
-		return memoryBuffer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.views.BasicDebugViewContentProvider#doHandleDebugEvent(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void doHandleDebugEvent(DebugEvent event) {
-		
-		// do nothing if the debug event did not come from a debug element comes from non-debug element
-		if (!(event.getSource() instanceof IDebugElement))
-			return;
-		
-		IDebugElement src = (IDebugElement)event.getSource();
-		
-		// if a debug event happens from the memory block
-		// invoke contentChanged to get content of the memory block updated
-		if (event.getKind() == DebugEvent.CHANGE && event.getSource() == fMemoryBlock)
-		{
-			if (event.getDetail() == DebugEvent.STATE){
-				fViewTab.updateLabels();
-			}
-			else
-			{	
-				updateContent();
-			}
-		}
-		
-		// if the suspend evnet happens from the debug target that the blocked
-		// memory block belongs to
-		if (event.getKind() == DebugEvent.SUSPEND && src.getDebugTarget() == fMemoryBlock.getDebugTarget())
-		{	
-			updateContent();
-		}
-
-	}
-	
-	/**
-	 * Checks to see if the content needs to be refreshed
-	 * TODO: this methd is never called
-	 * @return
-	 */
-	protected boolean isRefreshNeeded()
-	{	
-		boolean refreshNeeded = false;
-		try
-		{	
-			if (isBaseAddressChanged())
-				return true;
-
-			MemoryViewLine[] cached = (MemoryViewLine[])lineCache.toArray(new MemoryViewLine[lineCache.size()]);
-							
-			// convert IMemory to a flat array of MemoryBlockByte
-			ArrayList newMemory = new ArrayList();
-				
-			if (!(fMemoryBlock instanceof IExtendedMemoryBlock))
-			{
-				byte[] memory = fMemoryBlock.getBytes();
-				
-				if (memory == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_RETRIEVE_CONTENT), null));
-					throw e;					
-				}
-				
-				// create memory byte for IMemoryBlock
-				for (int i=0; i<memory.length; i++)
-				{
-					MByte tmp = new MByte();
-					tmp.value = memory[i];
-					tmp.flags |= MemoryByte.VALID;
-					newMemory.add(tmp);
-				}
-			}
-			else
-			{		
-			
-				IExtendedMemoryBlock extMB = (IExtendedMemoryBlock)fMemoryBlock;
-				
-				MemoryByte[] memory = extMB.getBytesFromAddress(fBufferTopAddress, lineCache.size()*fViewTab.getBytesPerLine());
-				
-				if (memory == null)
-				{
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_RETRIEVE_CONTENT), null));
-					throw e;
-				}
-				
-				for (int i=0; i<memory.length; i++)
-				{
-					newMemory.add(memory[i]);
-				}				
-			}		
-							
-			// compare each byte, if one of the bytes is not the same, refresh view tab
-			for (int i=0; i<newMemory.size(); i++)
-			{
-				MemoryByte newByte = (MemoryByte)newMemory.get(i);
-
-				if (i/fViewTab.getBytesPerLine() >= cached.length)
-				{
-					// if cache cannot be located, need refresh
-					refreshNeeded = true;
-					break;
-				}
-				
-				MemoryViewLine lineToCheck = cached[i/fViewTab.getBytesPerLine()];
-				MemoryByte oldByte = lineToCheck.getByte(i%fViewTab.getBytesPerLine());
-				
-				// if a byte becomes available or unavailable
-				if ((newByte.flags & MemoryByte.VALID)!= (oldByte.flags & MemoryByte.VALID))
-				{
-					refreshNeeded = true;
-					break;
-				}
-				if (((newByte.flags & MemoryByte.VALID) == MemoryByte.VALID) && 
-						((oldByte.flags & MemoryByte.VALID)==MemoryByte.VALID))
-				{
-					// compare value if both bytes are available
-					if (newByte.value != oldByte.value)
-					{
-						refreshNeeded = true;
-						break;
-					}
-				}
-			}
-			
-		}
-		catch (DebugException e)
-		{
-			fViewTab.displayError(e);
-			return false;
-		}
-		return refreshNeeded;
-	}
-	
-	/**
-	 * @return if the base address of the memory block has changed
-	 */
-	private boolean isBaseAddressChanged()
-	{
-		if (!(fMemoryBlock instanceof IExtendedMemoryBlock))
-			return false;
-		
-		IExtendedMemoryBlock extMB = (IExtendedMemoryBlock)fMemoryBlock;
-			
-		// if base address has changed, refresh is needed
-		BigInteger newBaseAddress = extMB.getBigBaseAddress();
-		
-		if (newBaseAddress == null)
-		{	
-			newBaseAddress = new BigInteger("0"); //$NON-NLS-1$
-		}
-		
-		if (newBaseAddress.compareTo(fBaseAddress) != 0)
-			return true;
-		else
-			return false;			
-	}
-	
-	public void forceRefresh()
-	{
-		if (!fLockRefresh) {
-			fLockRefresh = true;
-			refresh();
-			fLockRefresh = false;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.views.BasicDebugViewContentProvider#refresh()
-	 */
-	protected void refresh() {
-		super.refresh();
-	}
-
-	
-	/**
-	 * Update content of the view tab if the content of the memory block has changed
-	 * or if its base address has changed
-	 * Update will not be performed if the memory block has not been changed or
-	 * if the view tab is disabled.
-	 */
-	public void updateContent()
-	{
-		IDebugTarget dt = fMemoryBlock.getDebugTarget();
-		
-		// no need to update if debug target is disconnected or terminated
-		if (dt.isDisconnected() || dt.isTerminated())
-		{
-			return;
-		}
-		
-		// cache content before getting new ones
-		MemoryViewLine[] lines =(MemoryViewLine[]) lineCache.toArray(new MemoryViewLine[lineCache.size()]);
-		if (contentCache != null)
-		{
-			contentCache.clear();
-		}
-		
-		//do not handle event if the tab has been disabled
-		if (!fViewTab.isEnabled())
-			 return;
-		
-		for (int i=0; i<lines.length; i++)
-		{
-			contentCache.put(lines[i].getAddress(), lines[i]);
-			lines[i].isMonitored = true;
-		}
-		
-		// if view tab is enabled but block is disabled, enable the block
-		if (fViewTab.getMemoryBlock() instanceof IExtendedMemoryBlock)
-		{
-			if (!((IExtendedMemoryBlock)fViewTab.getMemoryBlock()).isEnabled())
-			{
-				((IExtendedMemoryBlock)fViewTab.getMemoryBlock()).enable();
-			}
-		}
-		boolean updateTopAddress = false;
-		// if base address has changed, set cursor back to the base address
-		if (isBaseAddressChanged())
-		{
-			updateTopAddress = true;
-			if (fMemoryBlock instanceof IExtendedMemoryBlock)
-			{
-				BigInteger address = ((IExtendedMemoryBlock)fMemoryBlock).getBigBaseAddress();
-				
-				if (address == null)
-					address = new BigInteger("0"); //$NON-NLS-1$
-				
-				fViewTab.setSelectedAddress(address, true);
-			}
-			else
-			{
-				BigInteger address = BigInteger.valueOf(fMemoryBlock.getStartAddress());
-				fViewTab.setSelectedAddress(address, true);
-			}	
-		}			
-		// reset all the deltas currently stored in contentCache
-		// This will ensure that changes will be recomputed when user scrolls
-		// up or down the memory view.		
-		resetDeltas();
-		fViewTab.refresh();
-		
-		if (updateTopAddress)
-		{
-			// top visible address may have been changed if base address has changed
-			fViewTab.updateSyncTopAddress(true);
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	public BigInteger getBufferTopAddress()
-	{
-		return fBufferTopAddress;
-	}
-	
-	/**
-	 * Calculate address size of the given address
-	 * @param address
-	 * @return
-	 */
-	public int getAddressSize(BigInteger address)
-	{
-		// calculate address size
-		 String adjustedAddress = address.toString(16);
-		
-		 int addressSize = 0;
-		 if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		 {
-			 addressSize = ((IExtendedMemoryBlock)fMemoryBlock).getAddressSize();
-		 }
-		
-		 // handle IMemoryBlock and invalid address size returned by IExtendedMemoryBlock
-		 if (addressSize <= 0)
-		 {
-			 if (adjustedAddress.length() > 8)
-			 {
-				 addressSize = 8;
-			 }
-			 else
-			 {
-				 addressSize = 4;
-			 }			
-		 }		
-		 
-		 return addressSize;
-	}
-	
-	/**
-	 * @return base address of memory block
-	 */
-	public BigInteger getContentBaseAddress()
-	{
-		return fBaseAddress; 
-	}
-	
-	/**
-	 * Clear all delta information in the lines
-	 */
-	public void resetDeltas()
-	{
-		Enumeration enum = contentCache.elements();
-		
-		while (enum.hasMoreElements())
-		{
-			MemoryViewLine line = (MemoryViewLine)enum.nextElement();
-			line.unmarkDeltas();
-		}
-	}
-	
-	/**
-	 * Check if address is out of buffered range
-	 * @param address
-	 * @return
-	 */
-	protected boolean isAddressOutOfRange(BigInteger address)
-	{
-		if (lineCache != null)
-		{
-			MemoryViewLine first = (MemoryViewLine)lineCache.firstElement();
-			MemoryViewLine last = (MemoryViewLine) lineCache.lastElement();
-			
-			if (first == null ||last == null)
-				return true;
-			
-			BigInteger startAddress = new BigInteger(first.getAddress(), 16);
-			BigInteger lastAddress = new BigInteger(last.getAddress(), 16);
-			lastAddress = lastAddress.add(BigInteger.valueOf(fViewTab.getBytesPerLine()));
-			
-			if (startAddress.compareTo(address) <= 0 &&
-				lastAddress.compareTo(address) >= 0)
-			{
-				return false;
-			}
-			else
-			{
-				return true;
-			}
-		}
-		else
-		{
-			return true;
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewLine.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewLine.java
deleted file mode 100644
index 2d9ad64..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewLine.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.ArrayList;
-import org.eclipse.debug.internal.core.memory.MemoryByte;
-
-/**
- * @since 3.0
- */
-
-public class MemoryViewLine extends Object {
-	private String fAddress;
-	private String fStrRep;
-	private MemoryByte[] fBytes;
-	private byte[] fByteArray; 
-	private int fTableIndex = -1;
-	private String fPaddedString;
-	public boolean isMonitored;
-
-	public static final String P_ADDRESS = "address"; //$NON-NLS-1$
-
-	// for raw hex data, it's 2 characters per byte
-	private static final int numCharPerByteForHex = 2;
-
-	public MemoryViewLine(String address, MemoryByte[] bytes, int tableIndex, String paddedString) {
-		fAddress = address;
-		fBytes = bytes;
-		fTableIndex = tableIndex;
-		fPaddedString = paddedString;
-	}
-
-	public String getAddress() {
-		return fAddress;
-	}
-
-	public void setAddress(String address) {
-		fAddress = address;
-	}
-	
-	public MemoryByte[] getBytes()
-	{
-		return fBytes;
-	}
-	
-	public MemoryByte getByte(int offset)
-	{
-		if (fBytes == null)
-			return null;
-		
-		if (offset < fBytes.length)
-			return fBytes[offset];
-		else
-			return null;	
-			
-	}
-	
-	public MemoryByte[] getBytes(int start, int end)
-	{
-		ArrayList ret = new ArrayList();
-		
-		for (int i=start; i<end; i++)
-		{
-			ret.add(fBytes[i]);
-		}
-		return (MemoryByte[]) ret.toArray(new MemoryByte[ret.size()]);
-	}
-	
-	public String getRawMemoryString()
-	{
-		if (fStrRep == null)
-		{
-			StringBuffer buffer = new StringBuffer();
-			fStrRep = HexRenderer.convertByteArrayToHexString(getByteArray());
-			fStrRep = fStrRep.toUpperCase();
-			
-			buffer = buffer.append(fStrRep);
-			
-			// pad unavailable bytes with padded string from memory block
-			String paddedString = null;
-			int bufferCounter = 0;
-			for (int i=0; i<fBytes.length; i++)
-			{ 
-				// if byte is valid
-				if ((fBytes[i].flags & MemoryByte.VALID) != MemoryByte.VALID)
-				{
-					if (paddedString == null)
-					{
-						paddedString = fPaddedString;
-						
-						if (paddedString.length() > MemoryViewLine.numCharPerByteForHex)
-							paddedString = paddedString.substring(0, MemoryViewLine.numCharPerByteForHex);
-					}
-					buffer.replace(bufferCounter, bufferCounter+MemoryViewLine.numCharPerByteForHex, paddedString);		
-					bufferCounter += MemoryViewLine.numCharPerByteForHex;
-				}
-			}
-			
-			fStrRep = buffer.toString();
-		}
-		
-		return fStrRep;
-	}
-	
-	/**
-	 * @param start
-	 * @param end
-	 * @return
-	 */
-	public String getPaddedString(int start, int end) {
-		StringBuffer buf = new StringBuffer();
-		
-		for (int i=start; i<end; i++)
-		{	
-			buf.append(fPaddedString);
-		}
-		return buf.toString();
-	}
-	
-	public String getPaddedString()
-	{
-		return fPaddedString;
-	}
-
-	/**
-	 * @param start
-	 * @param end
-	 * @return
-	 */
-	public boolean isAvailable(int start, int end) {
-		boolean available = true;
-		for (int i=start; i<end; i++)
-		{	
-			if ((fBytes[i].flags & MemoryByte.VALID) != MemoryByte.VALID)
-			{	
-				available = false;
-				break;
-			}
-		}
-		return available;
-	}
-
-
-	public byte[] getByteArray()
-	{
-		if (fByteArray == null)
-		{
-			fByteArray = new byte[fBytes.length];
-			for (int i=0; i<fBytes.length; i++)
-			{
-				fByteArray[i] = fBytes[i].value;
-			}			
-		}
-		
-		return fByteArray;
-	}
-	
-	public byte[] getByteArray(int start, int end)
-	{
-		byte[] ret = new byte[end-start];
-		int j=0;
-		
-		for (int i=start; i<end; i++)
-		{
-			ret[j] = fBytes[i].value;
-			j++;
-		}
-		return ret;
-	}
-	
-	public void markDeltas(MemoryViewLine oldData)
-	{
-		if (oldData == null)
-			return;
-		
-		// if address is not the same, no need to compare
-		if (!oldData.getAddress().equals(this.getAddress()))
-			return;
-		
-		// if the string representation is the same, no need to compare
-		if (oldData.getRawMemoryString().equals(getRawMemoryString()))
-			return;
-		
-		MemoryByte[] oldMemory = oldData.getBytes();
-		
-		if (oldMemory.length != fBytes.length)
-			return;
-			
-		for (int i=0; i<fBytes.length; i++)
-		{
-			if ((fBytes[i].flags & MemoryByte.VALID) != (oldMemory[i].flags & MemoryByte.VALID))
-			{
-				fBytes[i].flags |= MemoryByte.CHANGED;
-				continue;
-			}
-				
-			if (((fBytes[i].flags & MemoryByte.VALID) == MemoryByte.VALID) && 
-					((oldMemory[i].flags & MemoryByte.VALID) == MemoryByte.VALID))
-			{
-				if (fBytes[i].value != oldMemory[i].value)
-				{
-					fBytes[i].flags |= MemoryByte.CHANGED;
-				}
-			}
-		}
-	}
-	
-	public void copyDeltas(MemoryViewLine oldData)
-	{
-		if (oldData == null)
-			return;
-		
-		// if address is not the same, do not copy
-		if (!oldData.getAddress().equals(this.getAddress()))
-			return;
-		
-		// reuse delta information from old data
-		MemoryByte[] oldMemory = oldData.getBytes();
-		
-		if (oldMemory.length != fBytes.length)
-			return;
-			
-		for (int i=0; i<fBytes.length; i++)
-		{
-			fBytes[i].flags = oldMemory[i].flags;
-		}		
-	}
-	
-	public boolean isLineChanged(MemoryViewLine oldData)
-	{
-		if (oldData == null)
-			return false;
-		
-		// if address is not the same, no need to compare
-		if (!oldData.getAddress().equals(this.getAddress()))
-			return false;
-		
-		// if the string representation is not the same, this line has changed
-		if (oldData.getRawMemoryString().equals(getRawMemoryString()))
-			return false;
-		else
-			return true;
-	}
-	
-	/**
-	 * @param offset
-	 * @param endOffset
-	 * @return true if the specified range of memory has changed, false otherwise
-	 * */
-	
-	public boolean isRangeChange(int offset, int endOffset)
-	{	
-		byte ret = fBytes[offset].flags;
-		for (int i=offset; i<=endOffset; i++)
-		{
-			ret |= fBytes[i].flags;
-		}
-		
-		if ((ret&MemoryByte.CHANGED) == MemoryByte.CHANGED)
-			return true;
-		else
-			return false;
-	}
-	
-	public void unmarkDeltas()
-	{
-		for (int i=0; i<fBytes.length; i++)
-		{
-			// unset the change bit
-			if ((fBytes[i].flags & MemoryByte.CHANGED) == MemoryByte.CHANGED)
-				fBytes[i].flags ^= MemoryByte.CHANGED;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString()
-	{
-		StringBuffer buf = new StringBuffer();
-		buf.append(getAddress());
-		
-		buf.append(": "); //$NON-NLS-1$
-		
-		buf.append(getRawMemoryString());
-		
-		return buf.toString();
-	}
-	
-	public int getTableIndex()
-	{
-		return fTableIndex;
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
deleted file mode 100644
index 758f1d9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
+++ /dev/null
@@ -1,2491 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IMemoryRendering;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.TableCursor;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @since 3.0
- */
-public class MemoryViewTab extends AbstractMemoryViewTab implements SelectionListener, ControlListener, KeyListener, ITableMemoryViewTab, ISynchronizedMemoryBlockView{	
-	
-	private static final String PREFIX = "MemoryViewTab."; //$NON-NLS-1$
-	private static final String ADDRESS = PREFIX + "Address"; //$NON-NLS-1$
-	private static final String ERROR = PREFIX + "Error"; //$NON-NLS-1$
-	private static final String FORMAT_IS_INVALID = PREFIX + "Format_is_invalid"; //$NON-NLS-1$
-	private static final String ADDRESS_IS_OUT_OF_RANGE = PREFIX + "Address_is_out_of_range"; //$NON-NLS-1$
-	private static final String COLUMN_SIZE = PREFIX + "Column_size"; //$NON-NLS-1$
-	//private static final String ADD_RENDERING = PREFIX + "Add_rendering"; //$NON-NLS-1$
-	private static final String UNABLE_TO_GET_BASE_ADDRESS = PREFIX +"Unable_to_retrieve_base_address"; //$NON-NLS-1$
-	private static final String UNKNOWN = PREFIX + "Unknown"; //$NON-NLS-1$
-	
-	// menu group names
-	private static final String MEMORY_ACTIONS_GROUP = IDebugUIConstants.PLUGIN_ID + ".MemoryViewActionsGroup"; //$NON-NLS-1$
-	private static final String MEMORY_ACTIONS_FORMAT_GROUP = IDebugUIConstants.PLUGIN_ID + ".MemoryViewActionsGroup.format"; //$NON-NLS-1$
-	//private static final String MEMORY_ACTIONS_RENDERING_GROUP = IDebugUIConstants.PLUGIN_ID + ".MemoryViewActionsGroup.rendering"; //$NON-NLS-1$
-	
-	private MemoryViewContentProvider contentProvider;
-	private TableViewer fTableViewer = null;
-	private boolean fEnabled;
-	private ViewTabCursorManager fCursorManager;
-
-	private IMemoryBlockModelPresentation fMemoryBlockPresentation;
-	private boolean fNoPresentation = false;
-	
-	public int TABLE_PREBUFFER = 20;
-	public int TABLE_POSTBUFFER = 20;
-	public int TABLE_DEFAULTBUFFER = 20;
-	
-	private TextViewer fTextViewer = null;
-	private boolean errorOccurred = false;
-	
-	protected  BigInteger fSelectedAddress = null;
-	
-	private boolean fTabCreated = false;
-	
-	private CellEditor fEditors[];
-	private ICellModifier fCellModifier;
-	
-	private CopyViewTabToClipboardAction fCopyToClipboardAction;
-	private GoToAddressAction fGoToAddressAction;
-	private ResetMemoryBlockAction fResetMemoryBlockAction;
-	private PrintViewTabAction fPrintViewTabAction;
-	private Action[] fFormatColumnActions;
-	private ReformatAction fReformatAction;
-	
-	private boolean fIsDisposed = false;
-	
-	private int fBytePerLine;								// number of bytes per line: 16
-	private int fColumnSize;								// number of bytes per column:  1,2,4,8
-	
-	// font change listener
-	private FontChangeListener fFontChangeListener;
-	private TabFolderDisposeListener fTabFolderDisposeListener;
-
-	private static final int[] ignoreEvents =
-	{
-		SWT.ARROW_UP,
-		SWT.ARROW_DOWN,
-		SWT.ARROW_LEFT,
-		SWT.ARROW_RIGHT,
-		SWT.PAGE_UP,
-		SWT.PAGE_DOWN,
-		SWT.HOME,
-		SWT.END,
-		SWT.INSERT,
-		SWT.F1,
-		SWT.F2,
-		SWT.F3,
-		SWT.F4,
-		SWT.F5,
-		SWT.F6,
-		SWT.F7,
-		SWT.F8,
-		SWT.F9,
-		SWT.F10,
-		SWT.F11,
-		SWT.F12,
-		SWT.F13,
-		SWT.F14,
-		SWT.F15,
-		SWT.HELP,
-		SWT.CAPS_LOCK,
-		SWT.NUM_LOCK,
-		SWT.SCROLL_LOCK,
-		SWT.PAUSE,
-		SWT.BREAK,
-		SWT.PRINT_SCREEN,
-		SWT.ESC,
-		SWT.CTRL,
-		SWT.ALT
-	};
-	
-	private final class TabFolderDisposeListener implements DisposeListener
-	{
-		MemoryViewTab fViewTab;
-		TabFolderDisposeListener(MemoryViewTab viewTab)
-		{
-			fViewTab = viewTab;
-		}
-		
-		public void widgetDisposed(DisposeEvent e)
-		{
-			if (!fViewTab.fIsDisposed)
-			{
-				// remove listeners
-				JFaceResources.getFontRegistry().removeListener(fFontChangeListener);
-				removeReferenceFromSynchronizer();
-				getMemoryBlockViewSynchronizer().removeView(fViewTab);				
-			}
-		}
-	}
-
-	class FontChangeListener implements IPropertyChangeListener
-	{
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-		 */
-		public void propertyChange(PropertyChangeEvent event)
-		{
-			// if memory view table font has changed
-			if (event.getProperty().equals(IInternalDebugUIConstants.FONT_NAME))
-			{
-				if (!fIsDisposed)
-				{			
-					Font memoryViewFont = JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME);
-					setFont(memoryViewFont);					
-				}
-			}
-		}	
-	}
-	
-	// **  Referring to internal class:  DelegatingModelPresentation and LazyModelPresentation
-	// **  This should be ok when Memory View is contributed to Eclipse platform?
-	class MemoryViewDelegatingModelPresentation extends DelegatingModelPresentation
-	{
-		
-		MemoryViewDelegatingModelPresentation()
-		{
-			IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);
-			if (point != null) {
-				IExtension[] extensions= point.getExtensions();
-				for (int i= 0; i < extensions.length; i++) {
-					IExtension extension= extensions[i];
-					IConfigurationElement[] configElements= extension.getConfigurationElements();
-					for (int j= 0; j < configElements.length; j++) {
-						IConfigurationElement elt= configElements[j];
-						String id= elt.getAttribute("id"); //$NON-NLS-1$
-						if (id != null) {
-							IDebugModelPresentation lp= new MemoryViewLazyModelPresentation(elt);
-							getLabelProviders().put(id, lp);
-						}
-					}
-				}
-			}			
-		}
-
-	}
-	
-	class MemoryViewLazyModelPresentation extends LazyModelPresentation implements IMemoryBlockModelPresentation
-	{
-
-		MemoryViewLazyModelPresentation(IConfigurationElement element)
-		{
-			super(element);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.IMemoryBlockModelPresentation#getTabLabel(org.eclipse.debug.core.model.IMemoryBlock)
-		 */
-		public String getTabLabel(IMemoryBlock blk, String renderingId)
-		{
-			IDebugModelPresentation presentation = getPresentation();
-			
-			if (presentation instanceof IMemoryBlockModelPresentation)
-			{
-				return ((IMemoryBlockModelPresentation)presentation).getTabLabel(blk, getRenderingId()); 
-			}
-			else
-			{
-				return null;
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.IMemoryBlockModelPresentation#getColumnLabels(org.eclipse.debug.core.model.IMemoryBlock, int, int)
-		 */
-		public String[] getColumnLabels(IMemoryBlock blk, int bytesPerLine, int columnSize)
-		{
-			IDebugModelPresentation presentation = getPresentation();
-			
-			if (presentation instanceof IMemoryBlockModelPresentation)
-			{
-				return ((IMemoryBlockModelPresentation)presentation).getColumnLabels(blk, bytesPerLine, columnSize); 
-			}
-			else
-			{
-				return new String[0];
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.debug.ui.IMemoryBlockModelPresentation#getAddressPresentation(org.eclipse.debug.core.model.IMemoryBlock, java.math.BigInteger)
-		 */
-		public String getAddressPresentation(IMemoryBlock blk, BigInteger address)
-		{
-			IDebugModelPresentation presentation = getPresentation();
-			
-			if (presentation instanceof IMemoryBlockModelPresentation)
-			{
-				return ((IMemoryBlockModelPresentation)presentation).getAddressPresentation(blk, address); 
-			}
-			else
-			{
-				return null;
-			}
-		}
-	}
-
-	public MemoryViewTab(IMemoryBlock newMemory, TabItem newTab, MenuManager menuMgr, IMemoryRendering rendering, AbstractMemoryRenderer renderer) {
-		super(newMemory, newTab, menuMgr, rendering);
-			
-		setTabName(newMemory, true);
-		
-		fTabItem.setControl(createFolderPage(renderer));
-		
-		if (!(newMemory instanceof IExtendedMemoryBlock))
-		{		
-			// If not extended memory block, do not create any buffer
-			// no scrolling
-			TABLE_PREBUFFER=0;
-			TABLE_POSTBUFFER=0;
-			TABLE_DEFAULTBUFFER=0;
-		}
-
-		if (fTableViewer != null)
-		{	
-			fTableViewer.getTable().setTopIndex(TABLE_PREBUFFER);
-		}
-		
-		addViewTabToSynchronizer();
-		
-		// otherwise, this is a totally new synchronize info
-
-		fEnabled = true;
-		fTabCreated = true;
-		
-		//synchronize
-		synchronize();		
-		
-		createActions();
-		
-		// Need to resize column after content is filled in
-		// Pack function does not work unless content is not filled in
-		// since the table is not able to compute the preferred size.
-		packColumns();
-		
-		// add listeners in the end to make sure that the resize event
-		// does not affect synchronization
-		if (fTableViewer != null){
-			fTableViewer.getTable().addSelectionListener(this);
-			fTabFolderDisposeListener = new TabFolderDisposeListener(this);
-			fTabItem.addDisposeListener(fTabFolderDisposeListener);
-		}
-		
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			if(((IExtendedMemoryBlock)fMemoryBlock).getBigBaseAddress() == null)
-			{
-				DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_GET_BASE_ADDRESS), null));
-				displayError(e);				
-			}
-		}
-	}
-	
-	private void addViewTabToSynchronizer()
-	{
-		getMemoryBlockViewSynchronizer().addView(this, null);
-	
-		// check if there is already synchronization info available
-		Object selectedAddress =getSynchronizedProperty( IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS);
-		Object size =getSynchronizedProperty( IMemoryViewConstants.PROPERTY_COL_SIZE);
-		Object topAddress =getSynchronizedProperty( IMemoryViewConstants.PROPERTY_TOP_ADDRESS);
-		
-		// if info is available, some other view tab has already been created
-		// do not overwirte info int he synchronizer if that's the case
-		if (selectedAddress == null)
-		{
-			updateSyncSelectedAddress(true);
-		}	
-		
-		if (size == null)
-		{
-			updateSyncColSize();	
-		}
-		if (topAddress == null)
-		{
-			updateSyncTopAddress(true);
-		}
-		
-	}
-	
-	/**
-	 * update selected address in synchronizer if update is true.
-	 */
-	private void updateSyncSelectedAddress(boolean update) {
-		
-		if (update)
-			getMemoryBlockViewSynchronizer().setSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS, fSelectedAddress);
-	}
-
-	/**
-	 * update column size in synchronizer
-	 */
-	private void updateSyncColSize() {
-		getMemoryBlockViewSynchronizer().setSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_COL_SIZE, new Integer(fColumnSize));
-	}
-	
-	/**
-	 * update top visible address in synchronizer
-	 */
-	protected void updateSyncTopAddress(boolean updateToSynchronizer) {
-		
-		if (updateToSynchronizer)
-		{
-			getMemoryBlockViewSynchronizer().setSynchronizedProperty(getMemoryBlock(), IMemoryViewConstants.PROPERTY_TOP_ADDRESS, getTopVisibleAddress());
-		}
-	}
-
-	protected void setTabName(IMemoryBlock newMemory, boolean showAddress)
-	{
-		String tabName = null;
-		
-		if (getMemoryBlockPresentation() != null)
-			tabName = getMemoryBlockPresentation().getTabLabel(newMemory, getRenderingId());
-		
-		if (tabName == null)
-		{
-		
-			tabName = ""; //$NON-NLS-1$
-			try {			
-				if (newMemory instanceof IExtendedMemoryBlock)
-				{
-					tabName = ((IExtendedMemoryBlock)newMemory).getExpression();
-					
-					if (tabName.startsWith("&")) //$NON-NLS-1$
-						tabName = "&" + tabName; //$NON-NLS-1$
-					
-					if (tabName == null)
-					{
-						tabName = DebugUIMessages.getString(UNKNOWN);
-					}
-					
-					if (showAddress && ((IExtendedMemoryBlock)newMemory).getBigBaseAddress() != null)
-					{	
-						tabName += " : 0x"; //$NON-NLS-1$
-						tabName += ((IExtendedMemoryBlock)newMemory).getBigBaseAddress().toString(16);
-					}
-				}
-				else
-				{
-					long address = newMemory.getStartAddress();
-					tabName = Long.toHexString(address);
-				}
-			} catch (DebugException e) {
-				tabName = DebugUIMessages.getString(UNKNOWN);					
-				DebugUIPlugin.log(e.getStatus());
-			}
-			
-			String preName = MemoryBlockManager.getMemoryRenderingManager().getRenderingInfo(getRenderingId()).getName();
-			
-			if (preName != null)
-				tabName += " <" + preName + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		}
-		fTabItem.setText(tabName);	
-	}
-
-
-	/**
-	 * Create actions for the view tab
-	 */
-	protected void createActions() {
-		fCopyToClipboardAction = new CopyViewTabToClipboardContextAction(this);
-		fGoToAddressAction = new GoToAddressAction(this);
-		fResetMemoryBlockAction = new ResetMemoryBlockContextAction(this);
-		fPrintViewTabAction = new PrintViewTabContextAction(this);
-		
-		fFormatColumnActions = new Action[6];
-		fFormatColumnActions[0] =  new FormatColumnAction(1, this);
-		fFormatColumnActions[1] =  new FormatColumnAction(2, this);
-		fFormatColumnActions[2] =  new FormatColumnAction(4, this);
-		fFormatColumnActions[3] =  new FormatColumnAction(8, this);
-		fFormatColumnActions[4] =  new FormatColumnAction(16, this);
-		fFormatColumnActions[5] =  new SetColumnSizeDefaultAction(this);
-		
-		fReformatAction = new ReformatAction(this);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#fillContextMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void fillContextMenu(IMenuManager menu) {
-	
-		menu.add(new Separator(MEMORY_ACTIONS_GROUP));
-		menu.add(fResetMemoryBlockAction);
-		menu.add(fGoToAddressAction);
-	
-		menu.add(new Separator());
-		
-		if (fFormatColumnActions.length > 0)
-		{
-			// Format view tab actions
-			IMenuManager formatMenu = new MenuManager(DebugUIMessages.getString(COLUMN_SIZE), 
-				MEMORY_ACTIONS_FORMAT_GROUP);
-				
-			menu.appendToGroup(MEMORY_ACTIONS_GROUP, formatMenu);
-		
-			for (int i=0; i<fFormatColumnActions.length; i++)
-			{
-				formatMenu.add(fFormatColumnActions[i]);	
-		
-				// add check mark to the action to reflect current format of the view tab
-				if (fFormatColumnActions[i] instanceof FormatColumnAction)
-				{
-					if (((FormatColumnAction)fFormatColumnActions[i]).getColumnSize() == getColumnSize())
-					{
-						fFormatColumnActions[i].setChecked(true);
-					}
-					else
-					{
-						fFormatColumnActions[i].setChecked(false);
-					}
-				}
-			}
-		}
-		
-		menu.add(new Separator());
-		menu.add(fReformatAction);
-		menu.add(fCopyToClipboardAction);
-		menu.add(fPrintViewTabAction);
-	}
-
-	private Control createFolderPage(AbstractMemoryRenderer renderer) {
-		
-		contentProvider = new MemoryViewContentProvider(fMemoryBlock, fTabItem);
-		fTableViewer= new TableViewer(fTabItem.getParent(),  SWT.FULL_SELECTION | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.HIDE_SELECTION | SWT.BORDER);
-		fTableViewer.setContentProvider(contentProvider);		
-		
-		if (renderer != null)
-		{	
-			renderer.setRenderingId(fRenderingId);
-			MemoryViewTabLabelProvider labelProvider = new MemoryViewTabLabelProvider(this, renderer);
-			fTableViewer.setLabelProvider(labelProvider);
-			((AbstractTableViewTabLabelProvider)labelProvider).setViewTab(this);
-		}
-		else
-		{	
-			renderer = new EmptyRenderer();
-			renderer.setRenderingId(fRenderingId);
-			renderer.setViewTab(this);
-
-			MemoryViewTabLabelProvider labelProvider = new MemoryViewTabLabelProvider(this, renderer);
-			fTableViewer.setLabelProvider(labelProvider);
-
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus("Renderer property is not defined for: " + fRenderingId, null)); //$NON-NLS-1$
-		}
-		
-		contentProvider.setViewer(fTableViewer);
-		
-		ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
-		scroll.addSelectionListener(this);
-		scroll.setMinimum(-100);
-		scroll.setMaximum(200);
-		
-		fTableViewer.getControl().addControlListener(this);
-		fTableViewer.getControl().addKeyListener(this);	
-
-		fTableViewer.getTable().setHeaderVisible(true);
-		fTableViewer.getTable().setLinesVisible(true);
-		
-		int bytePerLine = IInternalDebugUIConstants.BYTES_PER_LINE;
-		
-		// get default column size from preference store
-		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
-		int columnSize = prefStore.getInt(IDebugPreferenceConstants.PREF_COLUMN_SIZE);
-		
-		// check synchronized col size
-		Integer colSize = (Integer)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_COL_SIZE);
-		
-		if (colSize != null)
-		{
-			int syncColSize = colSize.intValue(); 
-			if (syncColSize > 0)
-			{
-				columnSize = syncColSize;
-			}	
-		}
-		
-		// format memory block with specified "bytesPerLine" and "columnSize"	
-		boolean ok = format(bytePerLine, columnSize);
-
-		if (!ok)
-		{
-			DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(FORMAT_IS_INVALID), null));
-			displayError(e);
-			return fTextViewer.getControl();
-		}
-		
-		fTableViewer.setInput(fMemoryBlock);
-		
-		fCellModifier = new MemoryViewCellModifier(this);
-		fTableViewer.setCellModifier(fCellModifier);
-
-		// set to a non-proportional font
-		fTableViewer.getTable().setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		
-		int row = 0;
-		int col = 1;
-		
-		// set up cursor manager
-		// manager sets up initial position of the cursor
-		fCursorManager = new ViewTabCursorManager(this, row, col, fMenuMgr);
-		
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			BigInteger address = ((IExtendedMemoryBlock)fMemoryBlock).getBigBaseAddress();
-			
-			if (address == null)
-			{
-				address = new BigInteger("0"); //$NON-NLS-1$
-			}
-			
-			BigInteger syncAddress = (BigInteger)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS);
-			
-//			set initial selected address
-			if (syncAddress != null)
-			{
-				setSelectedAddress(syncAddress, false);
-			}
-			else
-			{
-				setSelectedAddress(address, true);
-			}
-			updateCursorPosition();
-		}
-		else
-		{
-			long address = fMemoryBlock.getStartAddress();	
-			BigInteger syncAddress = (BigInteger)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS);
-			
-			if (syncAddress != null)
-			{
-//				set initial selected address
-				setSelectedAddress(syncAddress, false);
-			}
-			else
-			{
-				setSelectedAddress(BigInteger.valueOf(address), true);
-			}
-			updateCursorPosition();
-		}
-		
-		// add font change listener and update font when the font has been changed
-		fFontChangeListener = new FontChangeListener();
-		JFaceResources.getFontRegistry().addListener(fFontChangeListener);
-
-		// finish initialization and return text viewer as the control
-		if (errorOccurred)
-		{
-			return fTextViewer.getControl();
-		}
-		
-		return fTableViewer.getControl();
-	}
-	
-
-	/**
-	 * Format view tab based on parameters.
-	 * @param bytesPerLine - number of bytes per line, possible values: 16
-	 * @param columnSize - number of bytes per column, possible values: 1, 2, 4, 8
-	 * @return true if format is successful, false, otherwise
-	 */
-	public boolean format(int bytesPerLine, int columnSize)
-	{			
-		// check parameter, bytesPerLine be 16
-		if (bytesPerLine != IInternalDebugUIConstants.BYTES_PER_LINE)
-		{
-			return false;
-		}
-		// bytes per cell must be divisible to bytesPerLine
-		if (bytesPerLine % columnSize != 0)
-		{
-			return false;
-		}
-		
-		// do not format if the view tab is already in that format
-		if(fBytePerLine == bytesPerLine && fColumnSize == columnSize){
-			return false;
-		}
-		
-		fBytePerLine = bytesPerLine;
-		fColumnSize = columnSize;
-		
-		// if the tab is already created and is being reformated
-		if (fTabCreated)
-		{
-			getTopVisibleAddress();
-			
-			if (fTableViewer == null)
-				return false;
-			
-			if (fTableViewer.getTable() == null)
-				return false;
-			
-			// clean up old columns
-			TableColumn[] oldColumns = fTableViewer.getTable().getColumns();
-			
-			for (int i=0; i<oldColumns.length; i++)
-			{
-				oldColumns[i].dispose();
-			}
-			
-			// clean up old cell editors
-			CellEditor[] oldCellEditors = fTableViewer.getCellEditors();
-			
-			for (int i=0; i<oldCellEditors.length; i++)
-			{
-				oldCellEditors[i].dispose();
-			}
-		}
-		
-		TableColumn column0 = new TableColumn(fTableViewer.getTable(),SWT.LEFT,0);
-		column0.setText(DebugUIMessages.getString(ADDRESS));
-		
-		// create new byte columns
-		TableColumn [] byteColumns = new TableColumn[bytesPerLine/columnSize];		
-		
-		String[] columnLabels = new String[0];
-		if (getMemoryBlockPresentation() != null)
-			columnLabels = getMemoryBlockPresentation().getColumnLabels(getMemoryBlock(), bytesPerLine, columnSize);
-		
-		for (int i=0;i<byteColumns.length; i++)
-		{
-			TableColumn column = new TableColumn(fTableViewer.getTable(), SWT.LEFT, i+1);
-			
-			// if the number of column labels returned is correct
-			// use supplied column labels
-			if (columnLabels.length == byteColumns.length)
-			{
-				column.setText(columnLabels[i]);
-			}
-			else
-			{
-				// otherwise, use default
-				if (getColumnSize() >= 4)
-				{
-					column.setText(Integer.toHexString(i*columnSize).toUpperCase() + 
-						" - " + Integer.toHexString(i*columnSize+columnSize-1).toUpperCase()); //$NON-NLS-1$
-				}
-				else
-				{
-					column.setText(Integer.toHexString(i*columnSize).toUpperCase());
-				}
-			}
-		}
-		
-		//Empty column for cursor navigation
-		TableColumn emptyCol = new TableColumn(fTableViewer.getTable(),SWT.LEFT,byteColumns.length+1);
-		emptyCol.setText(" "); //$NON-NLS-1$
-		emptyCol.setWidth(1);
-		emptyCol.setResizable(false);
-
-		// +2 to include properties for address and navigation column
-		String[] columnProperties = new String[byteColumns.length+2];
-		columnProperties[0] = MemoryViewLine.P_ADDRESS;
-
-		// use column beginning offset to the row address as properties
-		for (int i=1; i<columnProperties.length-1; i++)
-		{
-			columnProperties[i] = Integer.toHexString((i-1)*columnSize);
-		}
-		
-		// Empty column for cursor navigation
-		columnProperties[columnProperties.length-1] = " "; //$NON-NLS-1$
-		
-		fTableViewer.setColumnProperties(columnProperties);		
-		
-		// create and set cell editors
-		fTableViewer.setCellEditors(getCellEditors());	
-		
-		if (fTabCreated)
-		{
-			refreshTableViewer();	
-
-			// after refresh, make sure cursor position is up-to-date
-			if (isAddressVisible(fSelectedAddress))
-				updateCursorPosition();
-		}
-		
-		packColumns();
-		
-		updateSyncColSize();
-		
-		return true;
-	}
-	
-	/**
-	 * 
-	 */
-	private void refreshTableViewer() {
-		
-		int i = fTableViewer.getTable().getTopIndex();
-		
-		// refresh if the view is already created
-		fTableViewer.refresh();
-		
-		// if top index has changed, restore it
-		if (i != fTableViewer.getTable().getTopIndex())
-			fTableViewer.getTable().setTopIndex(i);
-	}
-
-	private void setColumnHeadings()
-	{
-		String[] columnLabels = new String[0];
-
-		if (getMemoryBlockPresentation() != null)
-			columnLabels = getMemoryBlockPresentation().getColumnLabels(getMemoryBlock(), fBytePerLine, fColumnSize);		
-		
-		int numByteColumns = fBytePerLine/fColumnSize;
-		
-		TableColumn[] columns = fTableViewer.getTable().getColumns();
-		
-		int j=0;
-		for (int i=1; i<columns.length-1; i++)
-		{	
-			// if the number of column labels returned is correct
-			// use supplied column labels
-			if (columnLabels.length == numByteColumns)
-			{
-				columns[i].setText(columnLabels[j]);
-				j++;
-			}
-			else
-			{
-				// otherwise, use default
-				if (fColumnSize >= 4)
-				{
-					columns[i].setText(Integer.toHexString(i*fColumnSize).toUpperCase() + 
-							" - " + Integer.toHexString(i*fColumnSize+fColumnSize-1).toUpperCase()); //$NON-NLS-1$
-				}
-				else
-				{
-					columns[i].setText(Integer.toHexString(i*fColumnSize).toUpperCase());
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Resize column to the preferred size
-	 */
-	public void packColumns() {
-		// pack columns
-		Table table = fTableViewer.getTable();
-		TableColumn[] columns = table.getColumns();
-		
-		for (int i=0 ;i<columns.length-1; i++)
-		{	
-			columns[i].pack();
-		}
-		
-		if (fCursorManager != null)
-		{
-			if (isAddressVisible(fSelectedAddress))
-				fCursorManager.redrawCursors();
-		}
-	}
-
-	/**
-	 * @return tab item for the view tab
-	 */
-	protected TabItem getTab()
-	{
-		return fTabItem;
-	}
-	
-	/**
-	 * Force focus on th ecursor if the selected address is not out of range
-	 * Cursor cannot be shown if it's out of range.  Otherwise, it messes up
-	 * the top index of the table and affects scrolling.
-	 */
-	protected void setCursorFocus()
-	{
-		if (!isAddressOutOfRange(fSelectedAddress) && fCursorManager != null)
-			fCursorManager.setCursorFocus();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getMemoryBlock()
-	 */
-	public IMemoryBlock getMemoryBlock()
-	{
-		IMemoryBlock mem = fMemoryBlock;
-		return mem;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		try {
-			fIsDisposed = true;
-			
-			// clean up listeners
-			if (fTableViewer != null)
-			{
-				fTableViewer.getControl().removeControlListener(this);
-				fTableViewer.getControl().removeKeyListener(this);
-				fTableViewer.getTable().removeSelectionListener(this);
-			}
-			
-			if (contentProvider != null)
-				contentProvider.dispose();
-			
-			ScrollBar scroll = ((Table)fTableViewer.getControl()).getVerticalBar();
-			
-			if (scroll != null)
-				scroll.removeSelectionListener(this);
-			
-			// dispose cursor
-			if (fCursorManager != null)
-				fCursorManager.dispose();
-
-			// remove selection listener for tab folder
-			fTabItem.removeDisposeListener(fTabFolderDisposeListener);
-			fTabItem.dispose();
-			
-			fTextViewer = null;
-			fTableViewer = null;
-			
-			// clean up cell editors
-			for (int i=0; i<fEditors.length; i++)
-			{
-				fEditors[i].dispose();
-			}
-			
-			// remove font change listener when the view tab is disposed
-			JFaceResources.getFontRegistry().removeListener(fFontChangeListener);
-			
-			// remove the view tab from the synchronizer
-			getMemoryBlockViewSynchronizer().removeView(this);
-			
-			super.dispose();
-
-		} catch (Exception e) {}
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetSelected(SelectionEvent event) {
-
-		if (event.getSource() instanceof ScrollBar)
-		{
-			handleScrollBarSelection(event);
-		}
-	}
-	
-	/**
-	 * Based on cursor position, update table selection.
-	 * If a lead cursor is not available, the cursor is not visible.
-	 * Update will not be performed if the cursor is not visible.
-	 */
-	protected void updateTableSelection()
-	{
-		// do not update selection if address is out of range
-		// otherwise, screws up top index
-		if (isAddressOutOfRange(fSelectedAddress))
-			return;
-		
-		int index = findAddressIndex(getTopVisibleAddress());
-
-		// update table selection
-		fTableViewer.getTable().setSelection(fCursorManager.fRow);
-		
-		// if top index has changed, restore
-		if (fTableViewer.getTable().getTopIndex() != index)
-			fTableViewer.getTable().setTopIndex(index);
-	}
-	
-	/**
-	 * Calculate and set selected address based on provided row and column
-	 */
-	protected void updateSelectedAddress(TableItem row, int col)
-	{
-	
-		// get row address
-		String temp = ((MemoryViewLine)row.getData()).getAddress();
-		BigInteger rowAddress = new BigInteger(temp, 16);
-		
-		int offset;
-		if (col > 0)
-		{	
-			// 	get address offset
-			offset = (col-1) * getColumnSize();
-		}
-		else
-		{
-			offset = 0;
-		}
-		
-		// update selected address
-		setSelectedAddress(rowAddress.add(BigInteger.valueOf(offset)), true);		
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetDefaultSelected(SelectionEvent e) {
-		 
-		
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.ControlListener#controlMoved(org.eclipse.swt.events.ControlEvent)
-	 */
-	public void controlMoved(ControlEvent e) {
-		 
-		
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.ControlListener#controlResized(org.eclipse.swt.events.ControlEvent)
-	 */
-	public void controlResized(ControlEvent e) {
-		//this method gets called many times as the user drags the window to a new size
-		//TODO: only refresh the data at the end of the resize, if possible
-		
-		// do not handle resize if the tab is not yet created completely
-		if (fTabCreated)		
-			resizeTable();
-		
-	}
-	
-	/**
-	 * Handles key events in viewer.
-	 */
-	protected void handleKeyPressed(KeyEvent evt) {
-
-		final KeyEvent event = evt;
-		
-		// Must run on UI Thread asynchronously
-		// Otherwise, another event could have been recevied before the reload is completed
-		Display.getDefault().syncExec(new Runnable()
-		{			
-			public void run()
-			{
-				if (event.stateMask != 0)
-				{
-					return;
-				}
-				
-				if (event.getSource() instanceof Text)
-						return;
-				
-				// allow edit if user hits return
-				if (event.character == '\r' && event.getSource() instanceof TableCursor)
-				{
-					fCursorManager.activateCellEditor(null);
-					return;
-				}
-				
-				try
-				{	
-					switch (event.keyCode)
-					{	
-						case SWT.HOME :
-						case SWT.PAGE_UP :
-						case SWT.ARROW_UP :
-						case SWT.ARROW_LEFT:
-						case SWT.END :
-						case SWT.PAGE_DOWN :
-						case SWT.ARROW_DOWN :
-						case SWT.ARROW_RIGHT:
-							// If blocking an extended memory block,
-							// check to see if additional memory needs to be obtained.
-							if (fMemoryBlock instanceof IExtendedMemoryBlock)
-							{
-								// User could have used scroll bar to scroll away
-								// from the highlighted address.
-								// When user hits arrow keys or page up/down keys
-								// we should go back to the selected address and moves the cursor
-								// based on the key pressed.
-								if (isAddressOutOfRange(fSelectedAddress))
-								{
-									reloadTable(fSelectedAddress, false);
-									
-									updateSyncTopAddress(true);
-									updateSyncSelectedAddress(true);
-									
-									fCursorManager.setCursorFocus();
-									break;
-								}
-								//if we are approaching the limits of the currently loaded memory, reload the table
-								if (needMoreLines())
-								{
-									BigInteger topAddress = getTopVisibleAddress();
-									//if we're near 0, just go there immediately (hard stop at 0, don't try to scroll/wrap)
-									if (topAddress.compareTo(BigInteger.valueOf(96)) <= 0)
-									{
-										if (topAddress.equals(BigInteger.valueOf(0)))
-										{
-											// do not reload if we are already at zero
-											break;
-										}
-										reloadTable(BigInteger.valueOf(0), false);
-										fCursorManager.setCursorFocus();
-									}
-									else
-									{
-										//otherwise, just load the next portion of the memory
-										reloadTable(topAddress, false);
-										fCursorManager.setCursorFocus();
-									}
-								}
-								else if (!isAddressVisible(fSelectedAddress))
-								{
-									// address is in range, but not visible
-									// just go to the address and make sure
-									// that the cursor is in focus
-									
-									goToAddress(fSelectedAddress);
-									fCursorManager.setCursorFocus();
-									updateSyncTopAddress(true);
-									
-								}
-								else
-								{
-									// in place of the commented lines
-									updateCursorPosition();
-									fCursorManager.setCursorFocus();
-									// since cursor is going to be visible
-									// synchronization event will be fired by the cursor
-									// when it is selected
-								}
-						}
-
-							break;
-						default :
-							
-							// if it's a valid key for edit
-							if (isValidEditEvent(event.keyCode))
-							{	
-								// activate edit as soon as user types something at the cursor
-								if (event.getSource() instanceof TableCursor)
-								{
-									String initialValue = String.valueOf(event.character);
-									fCursorManager.activateCellEditor(initialValue);
-								}
-							}
-							break;									
-					}
-				}
-				catch (DebugException e)
-				{
-					displayError(e);
-					DebugUIPlugin.log(e.getStatus());
-				}
-			}
-		});
-	}
-		
-	/**
-	 * @return top visible address of this view tab
-	 */
-	public BigInteger getTopVisibleAddress() {
-		
-		if (fTableViewer == null)
-			return BigInteger.valueOf(0);
-
-		Table table = fTableViewer.getTable();
-		int topIndex = table.getTopIndex();
-
-		if (topIndex < 1) { topIndex = 0; }
-
-		if (table.getItemCount() > topIndex) 
-		{
-			MemoryViewLine topItem = (MemoryViewLine)table.getItem(topIndex).getData();
-			
-			String calculatedAddress = null;
-			if (topItem == null)
-			{
-				calculatedAddress = table.getItem(topIndex).getText();
-			}
-			else
-			{
-				calculatedAddress = topItem.getAddress();				
-			}
-			
-			BigInteger bigInt = new BigInteger(calculatedAddress, 16);
-			
-			return bigInt;
-		}
-		else
-		{
-			return BigInteger.valueOf(0);
-		}
-	}
-
-	/**
-	 * Reload table at the topAddress.
-	 * Delta will be re-computed if updateDelta is true.
-	 * @param topAddress
-	 * @param updateDelta
-	 * @throws DebugException
-	 */
-	synchronized protected void reloadTable(BigInteger topAddress, boolean updateDelta) throws DebugException{
-		
-		if (fTableViewer == null)
-			return;
-			
-		Table table = (Table)fTableViewer.getControl();	
-
-		// Calculate top buffer address
-		// This is where we will start asking for memory from debug adapter.
-		BigInteger topBufferAddress = topAddress;
-		if (topBufferAddress.compareTo(BigInteger.valueOf(32)) <= 0) {
-			TABLE_PREBUFFER = 0;
-		} else {
-			TABLE_PREBUFFER = topBufferAddress.divide(BigInteger.valueOf(32)).min(BigInteger.valueOf(TABLE_DEFAULTBUFFER)).intValue();
-		}
-
-		topBufferAddress = topAddress.subtract(BigInteger.valueOf(getBytesPerLine()*TABLE_PREBUFFER));
-
-		// calculate number of lines needed
-		long numLines = 0;
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			// number of lines is number of visible lines + buffered lines
-			numLines = getNumberOfVisibleLines()+TABLE_PREBUFFER+TABLE_POSTBUFFER;
-		}
-
-
-		// tell content provider to get memory and refresh
-		contentProvider.getMemoryToFitTable(topBufferAddress, numLines, updateDelta);
-		contentProvider.forceRefresh();
-		
-
-		if (fMemoryBlock instanceof IExtendedMemoryBlock)
-		{
-			int topIdx = findAddressIndex(topAddress);
-			
-			if (topIdx != -1)
-			{
-				table.setTopIndex(topIdx);
-			}
-			
-			// TODO:  Revisit this part again
-			// if allow cursor update when the cursor is
-			// not visible, causes flashing on the screen
-			// if not updated... then cursor may not
-			// show properly (table selection not hidden)
-			// if selected address is not out of range
-			// restore cursor
-			if (isAddressVisible(fSelectedAddress) && findAddressIndex(fSelectedAddress) != -1)
-			{
-				getTopVisibleAddress();
-				getTopVisibleAddress().add(BigInteger.valueOf(getBytesPerLine()*getNumberOfVisibleLines()));
-
-				// if the cursor is not visible but in buffered range
-				// updating and showing the cursor will move the top index of the table
-				updateCursorPosition();
-				
-				int newIdx = findAddressIndex(getTopVisibleAddress());
-				
-				if (newIdx != topIdx  && topIdx != -1)
-				{	
-					table.setTopIndex(topIdx);
-				}
-							
-				if (isAddressVisible(fSelectedAddress))
-				{
-					fCursorManager.showCursor();	
-				}
-				else
-				{
-					fCursorManager.hideCursor();
-				}
-			}
-			else
-			{
-				fCursorManager.hideCursor();
-			}
-		}		
-		
-		// try to display the table every time it's reloaded
-		displayTable();
-	}
-	
-	private int findAddressIndex(BigInteger address)
-	{
-		TableItem items[] = fTableViewer.getTable().getItems();
-	
-		for (int i=0; i<items.length; i++){
-			
-			// Again, when the table resizes, the table may have a null item
-			// at then end.  This is to handle that.
-			if (items[i] != null)
-			{	
-				MemoryViewLine line = (MemoryViewLine)items[i].getData();
-				BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
-				BigInteger endLineAddress = lineAddress.add(BigInteger.valueOf(getBytesPerLine()));
-				
-				if (lineAddress.compareTo(address) <= 0 && endLineAddress.compareTo(address) > 0)
-				{	
-					return i;
-				}
-			}
-		}
-		
-		return -1;
-	}
-	
-	/**
-	 * Update cursor position based on selected address.
-	 * @return true if cursor is visible, false otherwise
-	 */
-	private boolean updateCursorPosition()
-	{			
-		// selected address is out of range, simply return false
-		if (fSelectedAddress.compareTo(contentProvider.getBufferTopAddress()) < 0)
-			return false;
-		
-		// calculate selected row address
-		int numOfRows = fSelectedAddress.subtract(contentProvider.getBufferTopAddress()).intValue()/getBytesPerLine();
-		BigInteger rowAddress = contentProvider.getBufferTopAddress().add(BigInteger.valueOf(numOfRows * getBytesPerLine()));
-
-		// try to find the row of the selected address
-		int row = findAddressIndex(fSelectedAddress);
-			
-		if (row == -1)
-		{
-			return false;
-		}
-		
-		// calculate offset to the row address
-		BigInteger offset = fSelectedAddress.subtract(rowAddress);
-		
-		// locate column
-		int col = ((offset.intValue()/getColumnSize())+1);
-		
-		// setting cursor selection or table selection changes
-		// the top index of the table... and may mess up top index in the talbe
-		// save up old top index
-		int oldTop = fTableViewer.getTable().getTopIndex();
-		
-		// update cursor position and table selection
-		fCursorManager.updateCursorPosition(row, col, isAddressVisible(fSelectedAddress));
-		updateTableSelection();
-
-		// reset top index to make sure the table is not moved
-		fTableViewer.getTable().setTopIndex(oldTop);
-		
-		if (isAddressVisible(fSelectedAddress))
-		{	
-			fCursorManager.showCursor();
-			fTableViewer.getTable().deselectAll();
-		}
-		else
-			fCursorManager.hideCursor();
-		
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ITableMemoryViewTab#getNumberOfVisibleLines()
-	 */
-	public int getNumberOfVisibleLines()
-	{
-		if(fTableViewer == null)
-			return -1;
-		
-		Table table = fTableViewer.getTable();
-		int height = fTableViewer.getTable().getSize().y;
-		
-		// when table is not yet created, height is zero
-		if (height == 0)
-		{
-			// make use of the table viewer to estimate table size
-			height = fTableViewer.getTable().getParent().getSize().y;
-		}
-		
-		// height of border
-		int border = fTableViewer.getTable().getHeaderHeight();
-		
-		// height of scroll bar
-		int scroll = fTableViewer.getTable().getHorizontalBar().getSize().y;
-
-		// height of table is table's area minus border and scroll bar height		
-		height = height-border-scroll;
-
-		// calculate number of visible lines
-		int lineHeight = table.getItemHeight();
-		
-		int numberOfLines = height/lineHeight;
-	
-		return numberOfLines;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#refresh()
-	 */
-	public void refresh()
-	{
-		try {
-			
-			// refresh at start address of this memory block
-			// address may change if expression is evaluated to a different value
-			IMemoryBlock mem = fMemoryBlock;
-			BigInteger address;
-			
-			if (mem instanceof IExtendedMemoryBlock)
-			{
-				address = ((IExtendedMemoryBlock)mem).getBigBaseAddress();
-				
-				if (address == null)
-				{	
-					DebugException e = new DebugException(DebugUIPlugin.newErrorStatus(DebugUIMessages.getString(UNABLE_TO_GET_BASE_ADDRESS), null));
-					displayError(e);
-					return;
-				}
-				
-				setTabName(mem, true);
-				
-				// base address has changed
-				if (address.compareTo(contentProvider.getContentBaseAddress()) != 0)
-				{
-					// get to new address
-					reloadTable(address, true);
-				}
-				else
-				{
-					// reload at top of table
-//					address = contentProvider.getBufferTopAddress().add(BigInteger.valueOf(getBytesPerLine()*TABLE_PREBUFFER));
-					address = getTopVisibleAddress();
-					reloadTable(address, true);
-				}				
-			}
-			else
-			{
-				address = BigInteger.valueOf(mem.getStartAddress());
-				reloadTable(address, true);
-			}
-			
-			if (isAddressVisible(fSelectedAddress))
-			{	
-				// redraw cursors if cursor is visible					
-				getCursorManager().redrawCursors();
-			}
-					
-		} catch (DebugException e) {
-			displayError(e);
-			DebugUIPlugin.log(e.getStatus());
-		}
-	}
-	
-	/**
-	 * Handle resize of the table.
-	 */
-	private void resizeTable() {
-		
-		if (!(fMemoryBlock instanceof IExtendedMemoryBlock))
-			return;
-		
-		if (!isEnabled())
-			return;
-			
-		Display.getDefault().syncExec(new Runnable()
-		{
-			public void run()
-			{
-				boolean reloaded = false;
-				
-				// this code is is running on the UI thread with a delay
-				// The view tab may have been disposed when this actually gets executed.
-				if (fTableViewer == null)
-					return;
-				
-				Table table = fTableViewer.getTable();
-				
-				// make sure table is still valid
-				if (table.isDisposed())
-					return;
-				
-				int topIndex = table.getTopIndex();
-				if (topIndex < 0)
-				{
-					return;
-				}
-				BigInteger oldTopAddress = getTopVisibleAddress();
-				if (oldTopAddress.compareTo(BigInteger.valueOf(32)) <= 0)
-				{
-					TABLE_PREBUFFER = 0;
-				}
-				else
-				{
-					TABLE_PREBUFFER =
-						oldTopAddress.divide(BigInteger.valueOf(32)).min(BigInteger.valueOf(TABLE_DEFAULTBUFFER)).intValue();
-				}
-				
-				// check pre-condition before we can check on number of lines left in the table
-				if (table.getItemCount() > topIndex)
-				{
-					try
-					{
-						//if new window size exceeds the number of lines available in the table, reload the table
-						if (needMoreLines())
-						{
-							reloadTable(oldTopAddress, false);
-							reloaded = true;
-						}
-						if (oldTopAddress.compareTo(BigInteger.valueOf(96)) <= 0)
-						{
-							reloadTable(BigInteger.valueOf(0), false);
-							reloaded = true;
-						}
-					}
-					catch (DebugException e)
-					{
-						displayError(e);
-						DebugUIPlugin.log(e.getStatus());
-					}
-				}
-				
-				if (!reloaded){
-					// if not reload, still need to update the cursor position
-					// since the position may change
-					
-					updateCursorPosition();
-					fTableViewer.getTable().deselectAll();
-					
-					if (!getTopVisibleAddress().equals(oldTopAddress))
-					{	
-						int i = findAddressIndex(oldTopAddress);
-						
-						if (i != -1)
-							fTableViewer.getTable().setTopIndex(i);
-					}
-				}
-				
-				updateSyncTopAddress(true);
-			}
-		});
-	}
-	
-	/**
-	 * Handle scrollling and reload table if necessary
-	 * @param event
-	 */
-	private void handleScrollBarSelection(SelectionEvent event)
-	{	
-		if (!(fMemoryBlock instanceof IExtendedMemoryBlock))
-		{
-			// if not instance of extended memory block
-			// just get current top visible address and fire event
-			
-			updateSyncTopAddress(true);
-	
-		}			
-		
-		final SelectionEvent evt = event;
-		
-		// Must run on UI Thread asynchronously
-		// Otherwise, another event could have been recevied before the reload is completed
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				try
-				{	
-					switch (evt.detail)
-					{
-						case 0 : //the end of a drag
-						case SWT.END :
-						case SWT.PAGE_DOWN :
-						case SWT.ARROW_DOWN :
-						case SWT.HOME :
-						case SWT.PAGE_UP :
-						case SWT.ARROW_UP :
-							if (fMemoryBlock instanceof IExtendedMemoryBlock)
-							{
-								updateSyncTopAddress(true);
-								//if we are approaching the limits of the currently loaded memory, reload the table
-								if (needMoreLines())
-								{
-									BigInteger topAddress = getTopVisibleAddress();
-									//if we're near 0, just go there immediately (hard stop at 0, don't try to scroll/wrap)
-									if (topAddress.compareTo(BigInteger.valueOf(96)) <= 0)
-									{
-										if (topAddress.equals(BigInteger.valueOf(0)))
-										{
-											// do not reload if we are already at zero
-											break;
-										}
-										reloadTable(BigInteger.valueOf(0), false);
-									}
-									else
-									{
-
-										//otherwise, just load the next portion of the memory
-										reloadTable(topAddress, false);
-									}
-								}
-							}
-							if (isAddressVisible(fSelectedAddress))
-							{
-								updateCursorPosition();
-								fCursorManager.setCursorFocus();
-							}
-							break;
-						default:
-							break;
-					}
-				}
-				catch (DebugException e)
-				{
-					displayError(e);
-					DebugUIPlugin.log(e.getStatus());
-				}
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enable)
-	{	
-		super.setEnabled(enable);
-		
-		fEnabled = enable;
-		IMemoryBlock mem = fMemoryBlock;
-		
-		if (fEnabled)
-		{
-			BigInteger oldBase = contentProvider.getContentBaseAddress();
-
-			// debug adapter may ignore the enable request
-			// some adapter does not block memory and may not do anything
-			// with the enable/disable request
-			// As a result, we need to force a refresh
-			// and to make sure content is updated
-			refresh();
-			
-			if (mem instanceof IExtendedMemoryBlock)
-			{
-				BigInteger baseAddress = ((IExtendedMemoryBlock)mem).getBigBaseAddress();
-				
-				if (baseAddress == null)
-				{
-					baseAddress = new BigInteger("0"); //$NON-NLS-1$
-				}
-				
-				ArrayList references = (ArrayList)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_ENABLED_REFERENCES);				
-				
-				// if the base address has changed, update cursor
-				// and this is the first time this memory block is enabled
-				if (!baseAddress.equals(oldBase) && references.size() == 1)
-				{
-					setSelectedAddress(baseAddress, true);
-					updateCursorPosition();
-					
-					updateSyncTopAddress(true);
-					updateSyncSelectedAddress(true);
-				}
-				else
-				{
-					// otherwise, take synchronized settings
-					synchronize();
-				}
-			}
-			else
-			{
-				synchronize();
-			}
-		}
-		else
-		{
-			if (mem instanceof IExtendedMemoryBlock)
-			{	
-				setTabName(mem, false);
-			}
-				
-			// once the view tab is disabled, all deltas information becomes invalid.
-			// reset changed information and recompute if data has really changed when
-			// user revisits the same tab.	
-			contentProvider.resetDeltas();
-		}
-	}
-	public boolean isEnabled()
-	{
-		return fEnabled;
-	}
-	
-	/**
-	 * Display an error in the view tab.
-	 * Make use of the text viewer instead of the table viewer.
-	 * @param e
-	 */
-	protected void displayError(DebugException e)
-	{
-		StyledText styleText = null;
-		errorOccurred = true;
-
-		if (fTextViewer == null)
-		{
-			// create text viewer
-			fTextViewer = new TextViewer(fTabItem.getParent(), SWT.NONE);	
-			fTabItem.setControl(fTextViewer.getControl());
-			fTextViewer.setDocument(new Document());
-			styleText = fTextViewer.getTextWidget();
-			styleText.setEditable(false);
-			styleText.setEnabled(false);
-		}
-		else if (fTextViewer.getControl() != fTabItem.getControl())
-		{	
-			// switch to text viewer
-			fTabItem.setControl(fTextViewer.getControl());
-		}
-		
-		styleText = fTextViewer.getTextWidget();
-		
-		if (styleText != null)
-			styleText.setText(DebugUIMessages.getString(ERROR) + e);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#isDisplayingError()
-	 */
-	public boolean isDisplayingError()
-	{	
-		if(fTextViewer == null)
-			return false;
-		
-		if (fTabItem.getControl() == fTextViewer.getControl())
-			return true;
-		else
-			return false;
-	}
-	
-	public void displayTable()
-	{
-		
-		if (fTableViewer!= null && fTabItem.getControl() != fTableViewer.getControl())
-		{	
-			errorOccurred = false;
-			fTabItem.setControl(fTableViewer.getControl());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.KeyListener#keyPressed(org.eclipse.swt.events.KeyEvent)
-	 */
-	public void keyPressed(KeyEvent e)
-	{
-		handleKeyPressed(e);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.KeyListener#keyReleased(org.eclipse.swt.events.KeyEvent)
-	 */
-	public void keyReleased(KeyEvent e)
-	{	
-	}
-
-	/**
-	 * @return cell editors for the table
-	 */
-	private CellEditor[] getCellEditors() {
-		Table table = fTableViewer.getTable();
-		fEditors = new CellEditor[table.getColumnCount()];
-		
-		for (int i=0; i<fEditors.length; i++)
-		{
-			fEditors[i] = new TextCellEditor(table);
-		}
-		
-		// combine the listener/validator interfaces so we can handle
-		// "editing" an address, which really skips the table to that address
-//		class CellValidatorListener implements  ICellEditorValidator {
-//			TextCellEditor textEditor;
-//			boolean isAddressValidator;
-//
-//			public CellValidatorListener(CellEditor cellEditor, boolean isAddress) {
-//				textEditor = (TextCellEditor)cellEditor;
-//				isAddressValidator = isAddress;
-//			}
-//
-//			public String isValid(Object value) {
-//				if ((value instanceof String)) {
-//					if (((String)value).length() == 0)
-//						return null;  //allow empty strings so hitting "delete" doesn't immediately pop up an error
-//
-//					// make sure the character is 0-9ABCDEF only
-//					try {
-//						if (!isAddressValidator) {	// don't validate address to allow input of variable in the address field
-//							BigInteger bigInt = new BigInteger((String)value, 16);
-//						}
-//					} catch (NumberFormatException ne) {
-//						return "not valid";
-//					}
-//				}
-//				return null;
-//			}
-//
-//		}
-//
-//		//"editing" an address skips the table to that address
-//		
-//		for (int i=0; i<fEditors.length; i++)
-//		{
-//			fEditors[i].setValidator(new CellValidatorListener(fEditors[i], true));
-//		}
-		
-		return fEditors;
-	}	
-
-	public TableViewer getTableViewer()
-	{
-		return fTableViewer;
-	}
-	
-	protected ViewTabCursorManager getCursorManager()
-	{
-		return fCursorManager; 
-	}
-	
-	/**
-	 * This function must be made synchronized.
-	 * Otherwise, another thread could modify the selected address while it is being updated.
-	 * It is the case when user scrolls up/down the table using arrow key.
-	 * When the table reaches its limit, it is being reloaded.  However, cursor receives a selection
-	 * event and update the selected address at the same time.  It messes up the selected address
-	 * and causes cursor selection to behave unexpectedly.
-	 * @param address
-	 */
-	synchronized protected void setSelectedAddress(BigInteger address, boolean updateSynchronizer)
-	{
-		fSelectedAddress = address;
-		
-		updateSyncSelectedAddress(updateSynchronizer);
-	}
-
-	/**
-	 * Return the offset from the base address of the memory block.
-	 * @param memory
-	 * @param lineAddress
-	 * @param lineOffset
-	 * @return
-	 * TODO: this method is never called
-	 */
-	protected long getOffset(IMemoryBlock memory, String lineAddress, int lineOffset) {
-		
-		BigInteger lineAddr = new BigInteger(lineAddress, 16);
-		BigInteger memoryAddr;
-		
-		if (memory instanceof IExtendedMemoryBlock)
-		{
-			memoryAddr = ((IExtendedMemoryBlock)memory).getBigBaseAddress();
-		}
-		else
-		{
-			memoryAddr = BigInteger.valueOf(memory.getStartAddress());
-		}
-		
-		if (memoryAddr == null)
-			memoryAddr = new BigInteger("0"); //$NON-NLS-1$
-		
-		long offset = lineAddr.subtract(memoryAddr).longValue();
-		
-		return offset + lineOffset;
-	}
-	
-	/**
-	 * Reset this view tab to the base address of the memory block
-	 */
-	public void resetAtBaseAddress() throws DebugException
-	{
-		try
-		{	
-			IMemoryBlock mem = getMemoryBlock();
-			if (mem instanceof IExtendedMemoryBlock)
-			{
-				// if text editor is activated, removes its focus and commit
-				// any changes made
-				setCursorFocus();
-					
-				// reload table at base address	
-				BigInteger address = ((IExtendedMemoryBlock)mem).getBigBaseAddress();
-				
-				if (address == null)
-				{
-					address = new BigInteger("0"); //$NON-NLS-1$
-				}
-				
-				setSelectedAddress(address, true);
-				reloadTable(address, false);		
-				
-				// make sure cursor has focus when the user chooses to reset
-				setCursorFocus();
-			}
-			else
-			{
-				// go to top of the table 
-				BigInteger address = BigInteger.valueOf(mem.getStartAddress());
-				setSelectedAddress(address, true);
-				getTableViewer().getTable().setTopIndex(0);
-				updateCursorPosition();
-				updateTableSelection();
-				setCursorFocus();
-			}
-			
-			updateSyncTopAddress(true);
-		}
-		catch (DebugException e)
-		{
-			throw e;
-		}		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#goToAddress(java.math.BigInteger)
-	 */
-	public void goToAddress(BigInteger address) throws DebugException
-	{
-		goToAddress(address, true);
-		fCursorManager.setCursorFocus();
-	}
-
-	/**
-	 * @param address
-	 * @throws DebugException
-	 */
-	private void goToAddress(BigInteger address, boolean updateSynchronizer) throws DebugException {
-		try
-		{	
-			// if address is within the range, highlight			
-			if (!isAddressOutOfRange(address))
-			{
-				// Defer update so that top visible address is updated before
-				// the selected address
-				// This is to ensure that the other view tabs get the top
-				// visible address change events first in case the selected
-				// address is not already visible.
-				// If this is not done, the other view tab may not show selected address.
-				setSelectedAddress(address, false);
-				updateCursorPosition();				
-				updateTableSelection();
-				
-				// force the cursor to be shown
-				if (!isAddressVisible(fSelectedAddress))
-				{	
-					int i = findAddressIndex(fSelectedAddress);
-					
-					fTableViewer.getTable().showItem(fTableViewer.getTable().getItem(i));
-					getCursorManager().showCursor();
-					
-					updateSyncTopAddress(updateSynchronizer);
-				}
-				
-				// update selected address in synchronizer
-				updateSyncSelectedAddress(updateSynchronizer);
-			}
-			else
-			{
-				// if not extended memory block
-				// do not allow user to go to an address that's out of range
-				if (!(fMemoryBlock instanceof IExtendedMemoryBlock))
-				{
-					Status stat = new Status(
-					 IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(),
-					 DebugException.NOT_SUPPORTED, DebugUIMessages.getString(ADDRESS_IS_OUT_OF_RANGE), null 
-					);
-					DebugException e = new DebugException(stat);
-					throw e;
-				}
-				
-				setSelectedAddress(address, updateSynchronizer);
-				
-				//otherwise, reload at the address
-				reloadTable(address, false);
-				updateSyncTopAddress(updateSynchronizer);
-			}
-		}
-		catch (DebugException e)
-		{
-			throw e;
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	public int getColumnSize()
-	{
-		return fColumnSize;
-	}
-
-	/**
-	 * @return
-	 */
-	public int getBytesPerLine()
-	{
-		return fBytePerLine;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#setFont(org.eclipse.swt.graphics.Font)
-	 */
-	public void setFont(Font font)
-	{	
-		int oldIdx = fTableViewer.getTable().getTopIndex();
-		
-		// BUG in table, if font is changed when table is not starting
-		// from the top, causes table gridline to be misaligned.
-		fTableViewer.getTable().setTopIndex(0);
-		
-		// set font
-		fTableViewer.getTable().setFont(font);
-		fCursorManager.setFont(font);
-		
-		fTableViewer.getTable().setTopIndex(oldIdx);
-		
-		packColumns();
-		
-		// update table cursor and force redraw
-		updateCursorPosition();
-	}
-	
-	/**
-	 * @return memory block presentation to allow for customization
-	 */
-	protected IMemoryBlockModelPresentation getMemoryBlockPresentation()
-	{
-		// only try to create a model presentation once
-		if (fMemoryBlockPresentation == null && !fNoPresentation)
-		{
-			//	create model presentation for memory block
-			 DelegatingModelPresentation presentation = new MemoryViewDelegatingModelPresentation();
-			 String id = fMemoryBlock.getModelIdentifier();
-			 fMemoryBlockPresentation = (MemoryViewLazyModelPresentation)presentation.getPresentation(id);
-			 
-			 // if a memory block presentation cannot be retrieved
-			 if (fMemoryBlockPresentation == null)
-			 	fNoPresentation = true;
-		}
-		return fMemoryBlockPresentation; 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#setTabLabel(java.lang.String)
-	 */
-	public void setTabLabel(String label)
-	{
-		if (label != null)
-			fTabItem.setText(label);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getTabLabel()
-	 */
-	public String getTabLabel()
-	{
-		if (fTabItem != null)
-			return fTabItem.getText();
-		else
-			return null;	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getRenderingId()
-	 */
-	public String getRenderingId()
-	{
-		return fRenderingId;
-	}
-
-	/**
-	 * Handle column size changed event from synchronizer
-	 * @param newColumnSize
-	 */
-	private void columnSizeChanged(final int newColumnSize)
-	{	
-//		ignore event if view tab is disabled	
-		if (!isEnabled())
-			return;
-		
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				format(16, newColumnSize);				
-			}
-		});
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISynchronizedMemoryBlockView#scrollBarSelectionChanged(int)
-	 */
-	public void scrollBarSelectionChanged(int newSelection)
-	{
-		 
-		
-	}
-
-	/**
-	 * Handle selected address change event from synchronizer
-	 * @param address
-	 */
-	private void selectedAddressChanged(final BigInteger address)
-	{
-		// ignore event if view tab is disabled
-		if (!isEnabled())
-		{
-			return;
-		}
-		
-		try
-		{
-			if (!fSelectedAddress.equals(address))
-			{	
-				if (getMemoryBlock() instanceof IExtendedMemoryBlock)
-				{
-					goToAddress(address, false);
-				}
-				else
-				{
-					if (!isAddressOutOfRange(address))
-					{
-						goToAddress(address, false);
-					}
-				}
-			} 	
-	
-		}
-		catch (DebugException e)
-		{
-			displayError(e);
-		}
-	}
-	
-	/**
-	 * Handle top visible address change event from synchronizer
-	 * @param address
-	 */
-	private void topVisibleAddressChanged(final BigInteger address)
-	{
-		try
-		{
-			// do not handle event if view tab is disabled
-			if (!isEnabled())
-				return;
-			
-			if (!address.equals(getTopVisibleAddress()))
-			{
-				if (getMemoryBlock() instanceof IExtendedMemoryBlock)
-				{
-				
-					if (!isAddressOutOfRange(address))
-					{
-						int index = -1;
-						// within buffer range, just set top index
-						Table table = getTableViewer().getTable();
-						for (int i = 0; i < table.getItemCount(); i++)
-						{
-							MemoryViewLine line = (MemoryViewLine) table.getItem(i).getData();
-							if (line != null)
-							{
-								BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
-								if (lineAddress.equals(address))
-								{
-									index = i;
-									break;
-								}
-							}
-						}
-						if (index >= 3 && table.getItemCount() - (index+getNumberOfVisibleLines()) >= 3)
-						{
-							// update cursor position
-							table.setTopIndex(index);
-							
-							if (!isAddressVisible(fSelectedAddress))
-							{
-								fCursorManager.hideCursor();
-							}
-							else
-							{
-								updateCursorPosition();
-								updateTableSelection();
-								table.setTopIndex(index);
-							}
-						}
-						else
-						{	
-							// approaching limit, reload table
-							reloadTable(address, false);	
-						}
-					}
-					else
-					{	
-						// approaching limit, reload table
-						reloadTable(address, false);
-					}
-				}
-				else
-				{
-					// IMemoryBlock support
-					int index = -1;
-					// within buffer range, just set top index
-					Table table = getTableViewer().getTable();
-					for (int i = 0; i < table.getItemCount(); i++)
-					{
-						MemoryViewLine line = (MemoryViewLine) table.getItem(i).getData();
-						if (line != null)
-						{
-							BigInteger lineAddress = new BigInteger(line.getAddress(), 16);
-							if (lineAddress.equals(address))
-							{
-								index = i;
-								break;
-							}
-						}
-					}
-					
-					if (index >= 0)
-					{
-						table.setTopIndex(index);
-								
-						if (!isAddressVisible(fSelectedAddress))
-						{
-							fCursorManager.hideCursor();
-						}
-						else
-						{
-							updateCursorPosition();
-							updateTableSelection();
-							table.setTopIndex(index);
-						}
-					}
-				}
-			}
-		}
-		catch (DebugException e)
-		{
-			displayError(e);
-		}
-	}
-	
-	/**
-	 * Check if address provided is out of buffered range
-	 * @param address
-	 * @return
-	 */
-	private boolean isAddressOutOfRange(BigInteger address)
-	{
-		return contentProvider.isAddressOutOfRange(address);
-	}
-	
-	/**
-	 * Check if address is visible
-	 * @param address
-	 * @return
-	 */
-	protected boolean isAddressVisible(BigInteger address)
-	{
-		// if view tab is not yet created 
-		// cursor should always be visible
-		if (!fTabCreated)
-			return true;
-		
-		BigInteger topVisible = getTopVisibleAddress();
-		BigInteger lastVisible = getTopVisibleAddress().add(BigInteger.valueOf((getNumberOfVisibleLines()) * getBytesPerLine() + getBytesPerLine()));
-		
-		if (topVisible.compareTo(address) <= 0 && lastVisible.compareTo(address) > 0)
-		{
-			return true;
-		}
-		else
-		{
-			return false;
-		}
-	}
-
-	/**
-	 * Get properties from synchronizer and synchronize settings
-	 */
-	private void synchronize()
-	{
-		Integer columnSize = (Integer) getSynchronizedProperty(IMemoryViewConstants.PROPERTY_COL_SIZE);
-		BigInteger selectedAddress = (BigInteger)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS);
-		BigInteger topAddress = (BigInteger)getSynchronizedProperty(IMemoryViewConstants.PROPERTY_TOP_ADDRESS);
-		
-		if (columnSize != null)
-		{
-			int colSize = columnSize.intValue();	
-			
-			if (colSize > 0 && colSize != fColumnSize)
-			{
-				columnSizeChanged(colSize);
-			}
-		}
-		
-		if (topAddress != null)
-		{
-			if (!topAddress.equals(getTopVisibleAddress()))
-			{
-				if (!fSelectedAddress.equals(selectedAddress))
-				{
-					setSelectedAddress(selectedAddress, true);
-				}
-				
-				topVisibleAddressChanged(topAddress);
-			}
-		}		
-		
-		if (selectedAddress != null)
-		{
-			if (selectedAddress.compareTo(fSelectedAddress) != 0)
-			{
-				selectedAddressChanged(selectedAddress);
-			}
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISynchronizedMemoryBlockView#propertyChanged(java.lang.String, java.lang.Object)
-	 */
-	public void propertyChanged(String propertyName, Object value)
-	{	
-		if (isDisplayingError())
-			return;
-		
-		if (propertyName.equals(IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger)
-		{
-			try {
-				if (needMoreLines())
-				{
-					reloadTable(getTopVisibleAddress(), false);
-				}
-			} catch (DebugException e) {
-				displayError(e);
-			}
-			
-			selectedAddressChanged((BigInteger)value);
-		}
-		else if (propertyName.equals(IMemoryViewConstants.PROPERTY_COL_SIZE) && value instanceof Integer)
-		{
-			columnSizeChanged(((Integer)value).intValue());
-		}
-		else if (propertyName.equals(IMemoryViewConstants.PROPERTY_TOP_ADDRESS) && value instanceof BigInteger)
-		{
-			try {
-				if (needMoreLines())
-				{
-					reloadTable(getTopVisibleAddress(), false);
-				}
-			} catch (DebugException e) {
-				displayError(e);
-			}
-			topVisibleAddressChanged((BigInteger)value);
-			return;
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISynchronizedMemoryBlockView#getProperty(java.lang.String)
-	 */
-	public Object getProperty(String propertyId)
-	{
-		if (propertyId.equals(IMemoryViewConstants.PROPERTY_SELECTED_ADDRESS))
-		{
-			return fSelectedAddress;
-		}
-		else if (propertyId.equals(IMemoryViewConstants.PROPERTY_COL_SIZE))
-		{
-			return new Integer(fColumnSize);
-		}
-		else if (propertyId.equals(IMemoryViewConstants.PROPERTY_TOP_ADDRESS))
-		{
-			return getTopVisibleAddress();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getSelectedAddress()
-	 */
-	public BigInteger getSelectedAddress() {
-		return fSelectedAddress;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IMemoryViewTab#getSelectedContent()
-	 */
-	public String getSelectedContent() {
-
-		// check precondition
-		if (fCursorManager.fCol == 0 || fCursorManager.fCol > getBytesPerLine()/getColumnSize())
-		{
-			return ""; //$NON-NLS-1$
-		}
-				
-		TableItem tableItem = getTableViewer().getTable().getItem(fCursorManager.fRow);
-		
-		return tableItem.getText(fCursorManager.fCol);	
-	}
-	
-	/**
-	 * Update labels in the view tab
-	 */
-	protected void updateLabels()
-	{
-		// update tab labels
-		setTabName(getMemoryBlock(), true);
-		
-		if (fTableViewer != null)
-		{
-			// update column labels
-			setColumnHeadings();
-			
-			refreshTableViewer();
-		}
-	}
-
-	protected boolean needMoreLines()
-	{
-		if (getMemoryBlock() instanceof IExtendedMemoryBlock)
-		{		
-			Table table = fTableViewer.getTable();
-			TableItem firstItem = table.getItem(0);
-			TableItem lastItem = table.getItem(table.getItemCount()-1);
-			
-			if (firstItem == null || lastItem == null)
-				return true;
-			
-			MemoryViewLine first = (MemoryViewLine)firstItem.getData();
-			MemoryViewLine last = (MemoryViewLine) lastItem.getData();
-			
-			if (first == null ||last == null)
-			{
-				// For some reason, the table does not return the correct number
-				// of table items in table.getItemCount(), causing last to be null.
-				// This check is to ensure that we don't get a null pointer exception.
-				return true;
-			}
-			
-			BigInteger startAddress = new BigInteger(first.getAddress(), 16);
-			BigInteger lastAddress = new BigInteger(last.getAddress(), 16);
-			lastAddress = lastAddress.add(BigInteger.valueOf(getBytesPerLine()));
-			
-			BigInteger topVisibleAddress = getTopVisibleAddress();
-			long numVisibleLines = getNumberOfVisibleLines();
-			long numOfBytes = numVisibleLines * getBytesPerLine();
-			
-			BigInteger lastVisibleAddrss = topVisibleAddress.add(BigInteger.valueOf(numOfBytes));
-			
-			// if there are only 3 lines left at the top, refresh
-			BigInteger numTopLine = topVisibleAddress.subtract(startAddress).divide(BigInteger.valueOf(getBytesPerLine()));
-			if (numTopLine.compareTo(BigInteger.valueOf(3)) <= 0)
-				return true;
-			
-			// if there are only 3 lines left at the bottom, refresh
-			BigInteger numBottomLine = lastAddress.subtract(lastVisibleAddrss).divide(BigInteger.valueOf(getBytesPerLine()));
-			if (numBottomLine.compareTo(BigInteger.valueOf(3)) <= 0)
-			{
-				return true;
-			}
-			
-			return false;
-		}
-		else
-		{
-			return false;
-		}
-	}
-	
-	private Object getSynchronizedProperty(String propertyId)
-	{
-		return getMemoryBlockViewSynchronizer().getSynchronizedProperty(getMemoryBlock(), propertyId);	
-	}
-	
-	/**
-	 * Checks to see if the event is valid for activating
-	 * cell editing in a view tab
-	 * @param event
-	 * @return
-	 */
-	public boolean isValidEditEvent(int event) {
-		for (int i = 0; i < MemoryViewTab.ignoreEvents.length; i++) {
-			if (event == MemoryViewTab.ignoreEvents[i])
-				return false;
-		}
-		return true;
-	}
-	
-	private IMemoryBlockViewSynchronizer getMemoryBlockViewSynchronizer() {
-		return DebugUIPlugin.getDefault().getMemoryBlockViewSynchronizer();
-	}
-}	
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTabLabelProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTabLabelProvider.java
deleted file mode 100644
index 608a3cb..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTabLabelProvider.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @since 3.0
- */
-public class MemoryViewTabLabelProvider
-	extends AbstractTableViewTabLabelProvider implements IColorProvider{
-	
-	/**
-	 * Constructor for MemoryViewLabelProvider
-	 */
-	public MemoryViewTabLabelProvider() {
-		super();
-	}
-	
-	public MemoryViewTabLabelProvider(ITableMemoryViewTab viewTab, AbstractMemoryRenderer renderer){
-		super(viewTab, renderer);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		
-		String label = super.getColumnText(element, columnIndex);
-		
-		// consult model presentation for address presentation
-		if (columnIndex == 0)
-		{	
-			if (fViewTab instanceof MemoryViewTab)
-			{	
-				// get model presentation
-				IDebugModelPresentation presentation = ((MemoryViewTab)fViewTab).getMemoryBlockPresentation();
-				
-				if (presentation instanceof IMemoryBlockModelPresentation)
-				{	
-					IMemoryBlockModelPresentation memPresentation = (IMemoryBlockModelPresentation)presentation;
-					String address = ((MemoryViewLine)element).getAddress();
-					
-					// get address presentation
-					String tempLabel = memPresentation.getAddressPresentation(fViewTab.getMemoryBlock(), new BigInteger(address, 16));
-					
-					if (tempLabel != null)
-						return tempLabel;
-				}
-			}
-			return label;
-		}
-		return label;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-	 */
-	public Color getForeground(Object element) {
-		if (element instanceof MemoryViewLine)
-		{
-			MemoryViewLine line = (MemoryViewLine)element;
-			
-			if (line.isMonitored) {
-				return null;
-			}
-			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.MEMORY_VIEW_UNBUFFERED_LINE_COLOR);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-	 */
-	public Color getBackground(Object element) {
-		
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
deleted file mode 100644
index 04bccfa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewUtil.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Util class for Memory View
- * 
- * @since 3.0
- */
-public class MemoryViewUtil {
-	/**
-	 * Helper function to check if a given selection is valid for
-	 * creating a memory block.
-	 * @param selection
-	 * @return
-	 */
-	static public boolean isValidSelection(ISelection selection) {
-	
-		if (!(selection instanceof IStructuredSelection))
-			return false;
-	
-		//only single selection is allowed for this action
-		if (selection == null || selection.isEmpty() || ((IStructuredSelection)selection).size() > 1)
-		{
-			return false;
-		}
-	
-		Object elem = ((IStructuredSelection)selection).getFirstElement();
-	
-		// if not debug element
-		if (!(elem instanceof IDebugElement))
-			return false;
-	
-		IDebugTarget debugTarget = ((IDebugElement)elem).getDebugTarget();
-		IMemoryBlockRetrieval memRetrieval =(IMemoryBlockRetrieval) ((IDebugElement)elem).getAdapter(IMemoryBlockRetrieval.class);
-		
-		if (memRetrieval == null)
-		{
-			// if debug element returns null from getAdapter, assume its debug target is going to retrieve memory blocks
-			memRetrieval = debugTarget;
-		}
-		
-		// not valid if the debug target is already terminated
-		if (debugTarget.isTerminated() && debugTarget.isDisconnected())
-			return false;
-		
-		if (memRetrieval.supportsStorageRetrieval())
-			return true;
-		else
-			return false;
-	}	
-
-	
-	/**
-	 * Helper function to open an error dialog.
-	 * @param title
-	 * @param message
-	 * @param e
-	 */
-	static public void openError (String title, String message, Exception e)
-	{
-		// open error for the exception
-		String detail = ""; //$NON-NLS-1$
-		if (e != null)
-			detail = e.getMessage();
-		
-		Shell shell = DebugUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-		
-		MessageDialog.openError(
-			shell,
-			title,
-			message + "\n" + detail); //$NON-NLS-1$
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
deleted file mode 100644
index fef4b11..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MonitorMemoryBlockDialog.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.Vector;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlockRetrieval;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * @since 3.0
- */
-public class MonitorMemoryBlockDialog extends Dialog implements ModifyListener{
-
-	private static Vector history = new Vector();
-	private Combo expressionInput;
-	private Text lengthInput;
-	private String expression;
-	private String length;
-	private boolean needLength = true;
-	
-	private static final String PREFIX = "MonitorMemoryBlockDialog."; //$NON-NLS-1$
-	private static final String ENTER_EXPRESSION = PREFIX + "EnterExpressionToMonitor"; //$NON-NLS-1$
-	private static final String MONITOR_MEMORY = PREFIX + "MonitorMemory"; //$NON-NLS-1$
-	private static final String NUMBER_OF_BYTES = PREFIX + "NumberOfBytes"; //$NON-NLS-1$
-	
-
-	/**
-	 * @param parentShell
-	 */
-	public MonitorMemoryBlockDialog(Shell parentShell, IMemoryBlockRetrieval memRetrieval) {
-		super(parentShell);
-		
-		if (memRetrieval instanceof IExtendedMemoryBlockRetrieval)
-			needLength = false;
-		
-		WorkbenchHelp.setHelp(parentShell, IDebugUIConstants.PLUGIN_ID + ".MonitorMemoryBlockDialog_context"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-	
-		parent.setLayout(new GridLayout());
-		GridData spec2= new GridData();
-		spec2.grabExcessVerticalSpace= true;
-		spec2.grabExcessHorizontalSpace= true;
-		spec2.horizontalAlignment= GridData.FILL;
-		spec2.verticalAlignment= GridData.CENTER;
-		parent.setLayoutData(spec2);
-
-		Label textLabel = new Label(parent, SWT.NONE);
-		textLabel.setText(DebugUIMessages.getString(ENTER_EXPRESSION));
-		GridData textLayout = new GridData();
-		textLayout.widthHint = 280;
-		textLabel.setLayoutData(textLayout);
-		
-		expressionInput = new Combo(parent, SWT.BORDER);
-		GridData spec= new GridData();
-		spec.grabExcessVerticalSpace= false;
-		spec.grabExcessHorizontalSpace= true;
-		spec.horizontalAlignment= GridData.FILL;
-		spec.verticalAlignment= GridData.BEGINNING;
-		spec.heightHint = 50;
-		expressionInput.setLayoutData(spec);
-		
-		// add history
-		String[] historyExpression = (String[])history.toArray(new String[history.size()]);
-		for (int i=0; i<historyExpression.length; i++)
-		{
-			expressionInput.add(historyExpression[i]);
-		}
-		
-		expressionInput.addModifyListener(this);
-		
-		if (needLength)
-		{
-			Label lengthLabel = new Label(parent, SWT.NONE);
-			lengthLabel.setText(DebugUIMessages.getString(NUMBER_OF_BYTES));
-			GridData lengthLayout = new GridData();
-			lengthLayout.widthHint = 280;
-			lengthLabel.setLayoutData(lengthLayout);
-			
-			lengthInput = new Text(parent, SWT.BORDER);
-			GridData lengthSpec= new GridData();
-			lengthSpec.grabExcessVerticalSpace= false;
-			lengthSpec.grabExcessHorizontalSpace= true;
-			lengthSpec.horizontalAlignment= GridData.FILL;
-			lengthInput.setLayoutData(lengthSpec);
-			lengthInput.addModifyListener(this);
-		}
-		return parent;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		
-		newShell.setText(DebugUIMessages.getString(MONITOR_MEMORY));
-	}
-	
-	public String getExpression()
-	{
-		return expression;
-	}
-	
-	public String getLength()
-	{
-		return length;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-
-		expression = expressionInput.getText();
-
-		// add to history list
-		if (!history.contains(expression))
-			history.insertElementAt(expression, 0);
-
-		if (needLength)
-			length = lengthInput.getText();
-
-		super.okPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
-	 */
-	public void modifyText(ModifyEvent e) {
-
-		if (needLength)
-		{
-			String lengthText = lengthInput.getText();
-			String input = expressionInput.getText();
-			
-			if (input == null || input.equals("") || lengthText == null || lengthText.equals("")) //$NON-NLS-1$ //$NON-NLS-2$
-			{
-				getButton(IDialogConstants.OK_ID).setEnabled(false);	
-			}
-			else
-			{
-				getButton(IDialogConstants.OK_ID).setEnabled(true);
-			}			
-		}
-		else
-		{
-			String input = expressionInput.getText();
-		
-			if (input == null || input.equals("")) //$NON-NLS-1$
-			{
-				getButton(IDialogConstants.OK_ID).setEnabled(false);	
-			}
-			else
-			{
-				getButton(IDialogConstants.OK_ID).setEnabled(true);
-			}			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		
-		Control ret =  super.createButtonBar(parent);
-		getButton(IDialogConstants.OK_ID).setEnabled(false);
-		
-		return ret;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabAction.java
deleted file mode 100644
index 6b573a3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabAction.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.printing.PrintDialog;
-import org.eclipse.swt.printing.Printer;
-import org.eclipse.swt.printing.PrinterData;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-
-/**
- * Print view tab toolbar action
- * 
- * @since 3.0
- */
-public class PrintViewTabAction extends AbstractMemoryAction
-{
-	TableViewer fViewer;
-	
-	private static final String PREFIX = "PrintViewTabAction."; //$NON-NLS-1$
-	private static final String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	private static final String TOOLTIP = PREFIX + "tooltip"; //$NON-NLS-1$
-	private static final String JOB_TITLE = PREFIX + "jobtitle"; //$NON-NLS-1$
-	
-	private static final String COLUMN_SEPERATOR = "  "; //$NON-NLS-1$
-	
-	public PrintViewTabAction()
-	{
-		super(DebugUIMessages.getString(TITLE));
-		
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_PRINT_TOP_VIEW_TAB));
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_PRINT_TOP_VIEW_TAB));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_PRINT_TOP_VIEW_TAB));		
-	}
-
-	/*
-	 * draws a Table to a GC which has been initialized with a Printer.
-	 * startJob() and startPage() must be called before printTable(...),
-	 * and endPage() and endJob() must be called after printTable(...).
-	 */
-	private void printTable(TableItem[] itemList, GC printGC, Printer printer) {
-
-		if (!(getViewTab() instanceof ITableMemoryViewTab))
-			return;
-		
-		String tableContents = new String();
-		int numColumns = ((Table)fViewer.getControl()).getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
-		int lineNum = 1;
-
-		int charPerByte = 4;
-		if (labelProvider instanceof AbstractTableViewTabLabelProvider)
-		{
-			AbstractMemoryRenderer renderer = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer();
-			if (renderer instanceof IFixedLengthOutputRenderer)
-			{
-				charPerByte = ((IFixedLengthOutputRenderer)renderer).getNumCharPerByte();
-			}
-		}
-		
-		// return line number after column labels are printed
-		lineNum = printColumnLabels(printGC, lineNum);
-
-		//for all items in the table
-		for (int i=0; i < itemList.length; i++) {
-			tableContents = ""; //$NON-NLS-1$
-			//print all columns for this row
-			for (int j=0; j < numColumns; j++) {
-				String columnText = labelProvider.getColumnText(itemList[i].getData(), j);
-				
-				while (columnText.length() < ((ITableMemoryViewTab)getViewTab()).getColumnSize() * charPerByte)
-				{
-					 columnText += " "; //$NON-NLS-1$
-				}
-				tableContents += COLUMN_SEPERATOR + columnText;							 
-			}
-			printGC.drawString(tableContents, 10, 10+(lineNum*printGC.getFontMetrics().getHeight()));
-			lineNum++;
-
-			// if we've run over the end of a page, start a new one
-			if (20+lineNum*printGC.getFontMetrics().getHeight() > printer.getClientArea().height) {
-				lineNum=1;
-				printer.endPage();
-				printer.startPage();
-				lineNum = printColumnLabels(printGC, lineNum);
-			}
-		}
-	}
-	
-	private int printColumnLabels(GC printGC, int lineNum)
-	{
-		if (!(getViewTab() instanceof ITableMemoryViewTab))
-			return lineNum;
-		
-		String tableContents = ""; //$NON-NLS-1$
-		int numColumns = ((Table)fViewer.getControl()).getColumnCount();
-		ITableLabelProvider labelProvider = (ITableLabelProvider)fViewer.getLabelProvider();		
-		TableColumn columns[] = ((Table)fViewer.getControl()).getColumns();
-		
-		int charPerByte = 4;
-		if (labelProvider instanceof AbstractTableViewTabLabelProvider)
-		{
-			AbstractMemoryRenderer renderer = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer();
-			if (renderer instanceof IFixedLengthOutputRenderer)
-			{
-				charPerByte = ((IFixedLengthOutputRenderer)renderer).getNumCharPerByte();
-			}
-		}
-	
-		//get the column headers
-		for (int k=0; k < numColumns; k++) {
-	
-			StringBuffer columnLabel = new StringBuffer(columns[k].getText());
-			int numBytes = 0;
-	
-			if (k > 0)
-			{
-				numBytes = ((ITableMemoryViewTab)getViewTab()).getColumnSize();
-			}
-			else
-			{
-				// special for address column
-				IMemoryBlock memBlock = getViewTab().getMemoryBlock();
-		
-		
-				if (memBlock instanceof IExtendedMemoryBlock)
-				{
-					numBytes = ((IExtendedMemoryBlock)memBlock).getAddressSize();
-					
-					if (numBytes <= 0)
-						numBytes = 4;
-				}
-				else
-				{
-					numBytes = 4;
-				}
-		
-			}
-	
-			 while (columnLabel.length() < numBytes * charPerByte)
-			 {
-				 columnLabel.append(" "); //$NON-NLS-1$
-			 }
-	 
-			tableContents += COLUMN_SEPERATOR + columnLabel;
-		}
-		printGC.drawString(tableContents, 10, 10+(lineNum*printGC.getFontMetrics().getHeight()));
-		lineNum++;		
-		
-		return lineNum;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		fViewer = ((MemoryViewTab)getViewTab()).getTableViewer();
-		
-		if(fViewer == null)
-			return;
-		
-		if (fViewer.getControl() == null)
-			return;
-		
-		PrintDialog printDialog = new PrintDialog(fViewer.getControl().getDisplay().getActiveShell());
-		PrinterData printerData = printDialog.open();	// pop up a system print dialog
-		if (printerData == null) {setChecked(false); return;}
-		Printer printer = new Printer(printerData);
-		GC gc = new GC(printer);
-		TableItem[] tableItems = ((Table)fViewer.getControl()).getItems();
-		
-		// start the print job and assign it a title
-		printer.startJob(DebugUIMessages.getString(JOB_TITLE) + getViewTab().getTabLabel());
-		printer.startPage();					// start the first page
-		printTable(tableItems, gc, printer);	// print all rows of the table
-		printer.endPage();						// end the last page
-		printer.endJob();						// end the print job
-		gc.dispose();
-		printer.dispose();
-		setChecked(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return getTopViewTabFromView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabContextAction.java
deleted file mode 100644
index 0bc50e5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/PrintViewTabContextAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Context menu actin for Print View Tab
- * 
- * @since 3.0
- */
-public class PrintViewTabContextAction extends PrintViewTabAction
-{
-	IMemoryViewTab fViewTab;
-	
-	public PrintViewTabContextAction(IMemoryViewTab viewTab)
-	{
-		super();
-		fViewTab = viewTab;
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".PrintViewTabContextAction_context"); //$NON-NLS-1$
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return fViewTab;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ReformatAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ReformatAction.java
deleted file mode 100644
index 925419d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ReformatAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.jface.action.Action;
-
-/**
- * Resize all columns
- * 
- * @since 3.0
- */
-public class ReformatAction extends Action {
-	
-	ITableMemoryViewTab fViewTab;
-	
-	private static final String PREFIX = "ReformatAction."; //$NON-NLS-1$
-	private static final String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	
-	public ReformatAction(ITableMemoryViewTab viewTab)
-	{
-		super(DebugUIMessages.getString(TITLE));
-		fViewTab = viewTab;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-
-		if (fViewTab instanceof MemoryViewTab)
-		{	
-			((MemoryViewTab)fViewTab).packColumns();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryBlockAction.java
deleted file mode 100644
index fbd8972..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/RemoveMemoryBlockAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.core.memory.MemoryBlockManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Remove Memory Block Action from Memory View
- * 
- * @since 3.0
- */
-public class RemoveMemoryBlockAction extends AbstractMemoryAction {
-	
-	
-	public RemoveMemoryBlockAction()
-	{
-		setText(DebugUIMessages.getString("RemoveMemoryBlockAction.title")); //$NON-NLS-1$
-
-		setToolTipText(DebugUIMessages.getString("RemoveMemoryBlockAction.tooltip")); //$NON-NLS-1$
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_REMOVE_MEMORY));	
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_REMOVE_MEMORY));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_REMOVE_MEMORY));
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".RemoveMemoryBlockAction_context"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		if (getViewTab() == null)
-			return;
-		
-		// get top view tab
-		IMemoryViewTab topTab = getViewTab();
-		
-		// remove memory block from memory block manager
-		if (topTab != null)
-		{
-			IMemoryBlock mem = topTab.getMemoryBlock();
-			MemoryBlockManager.getMemoryBlockManager().removeMemoryBlock(mem);
-		}
-	}	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab() {
-		return getTopViewTabFromView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
deleted file mode 100644
index 6f01e44..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-
-
-/**
- * Reest MemoryViewTab to the base address of a memory block
- * 
- * @since 3.0
- */
-public class ResetMemoryBlockAction extends AbstractMemoryAction
-{
-	private static final String PREFIX = "ResetMemoryBlockAction."; //$NON-NLS-1$
-	private static final String TITLE = PREFIX + "title"; //$NON-NLS-1$
-	private static final String TOOLTIP = PREFIX + "tootip"; //$NON-NLS-1$
-	private static final String FAILED_TO_RESET = PREFIX + "Failed_to_Reset"; //$NON-NLS-1$
-	private static final String FAILED_TO_RESET_TO_BASE_ADD = PREFIX + "Failed_to_reset_to_base_address"; //$NON-NLS-1$
-
-
-	public ResetMemoryBlockAction()
-	{
-		setText(DebugUIMessages.getString(TITLE));
-		setToolTipText(DebugUIMessages.getString(TOOLTIP));
-		
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_RESET_MEMORY));	
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_RESET_MEMORY));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RESET_MEMORY));	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run()
-	{
-		try
-		{
-			IMemoryViewTab top = getViewTab();
-			
-			if (top != null)
-			{
-				top.resetAtBaseAddress();
-			}
-		}
-		catch (DebugException e)
-		{
-			MemoryViewUtil.openError(DebugUIMessages.getString(FAILED_TO_RESET), 
-					DebugUIMessages.getString(FAILED_TO_RESET_TO_BASE_ADD), e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return getTopViewTabFromView(IInternalDebugUIConstants.ID_MEMORY_VIEW);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockContextAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockContextAction.java
deleted file mode 100644
index dadd83f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ResetMemoryBlockContextAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Context menu action
- * 
- * @since 3.0
- */
-public class ResetMemoryBlockContextAction extends ResetMemoryBlockAction
-{
-	private IMemoryViewTab fViewTab;
-	
-	public ResetMemoryBlockContextAction(IMemoryViewTab viewTab)
-	{
-		super();
-		fViewTab = viewTab;
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".ResetBaseAddressContextAction_context"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.internal.actions.AbstractMemoryAction#getViewTab()
-	 */
-	IMemoryViewTab getViewTab()
-	{
-		return fViewTab;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetColumnSizeDefaultAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetColumnSizeDefaultAction.java
deleted file mode 100644
index a0a88c2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetColumnSizeDefaultAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-/**
- * Set column size of current view tab as the default column size
- * 
- * @since 3.0
- */
-public class SetColumnSizeDefaultAction extends Action
-{
-	private static final String PREFIX = "SetColumnSizeDefaultAction."; //$NON-NLS-1$
-	private static final String LABEL = PREFIX + "Set_as_default"; //$NON-NLS-1$
-	
-	private ITableMemoryViewTab fViewTab;
-	
-	public SetColumnSizeDefaultAction(ITableMemoryViewTab viewTab)
-	{
-		super (DebugUIMessages.getString(LABEL));
-		fViewTab = viewTab;
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".SetColumnSizeDefaultAction_context"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run()
-	{
-		int colSize = fViewTab.getColumnSize();
-		
-		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
-		prefStore.setValue(IDebugPreferenceConstants.PREF_COLUMN_SIZE, colSize);
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetDefaultColumnSizePrefAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetDefaultColumnSizePrefAction.java
deleted file mode 100644
index 70f0d74..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SetDefaultColumnSizePrefAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-
-public class SetDefaultColumnSizePrefAction extends Action {
-	
-	private static final String PREFIX = "SetDefaultColumnSizePrefAction."; //$NON-NLS-1$
-	private static final String DEFAULT_COLUMN_SIZE = PREFIX + "DefaultColumnSize"; //$NON-NLS-1$
-	private static final String SET_DEFAULT_COLUMN_SIZE = PREFIX + "SetDefaultColumnSize";  //$NON-NLS-1$
-	
-	public SetDefaultColumnSizePrefAction()
-	{
-		setText(DebugUIMessages.getString(DEFAULT_COLUMN_SIZE));
-		setToolTipText(DebugUIMessages.getString(SET_DEFAULT_COLUMN_SIZE));
-		WorkbenchHelp.setHelp(this, IDebugUIConstants.PLUGIN_ID + ".DefaultColumnSizePrefAction_context"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		Shell shell = DebugUIPlugin.getShell();
-		DefaultColumnSizeDialog dialog = new DefaultColumnSizeDialog(shell);
-		dialog.open();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
deleted file mode 100644
index 778f34f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/SynchronizeInfo.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * Stores synchronization information for a memory block
- * Each object of synchronization information contains a memory block,
- * a list of views to be synchronized and a list of properties to be syncrhonized.
- * The views are responsible for defining properties to be synchronized and notifying
- * the synchronizer of properties changes.  This is only for keeping track of
- * values of synchronized properties and firing events when properties are changed.
- * 
- * Memory block serves as a key for synchronization.  Views displaying the same
- * memory block can be synchronized.  Views displaying different memory block
- * cannot be synchronized.
- * 
- * @since 3.0
- */
-public class SynchronizeInfo
-{
-	private Hashtable fPropertyListeners;	// list of views to be synchronized
-	private IMemoryBlock fBlock;			// memory block blocked by the views
-	private Hashtable fProperties;			// list of properties to be synchronized
-
-	/**
-	 * Fire properties changes events in ISafeRunnable to ensure that
-	 * exceptions are caught and handled.
-	 */
-	class PropertyChangeNotifier implements ISafeRunnable
-	{
-		ISynchronizedMemoryBlockView fView;
-		String fPropertyId;
-		Object fValue;
-		
-		PropertyChangeNotifier(ISynchronizedMemoryBlockView view, String propertyId, Object value)
-		{
-			fView = view;
-			fPropertyId = propertyId;
-			fValue = value;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
-		 */
-		public void handleException(Throwable exception) {
-			DebugUIPlugin.log(exception);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.ISafeRunnable#run()
-		 */
-		public void run() throws Exception {
-			fView.propertyChanged(fPropertyId, fValue);
-		}
-	}
-	
-	/**
-	 * Wrapper for ISynchronizedMemoryBlockView
-	 * Holds a list of property filters for the view.
-	 */
-	class PropertyListener 
-	{
-		ISynchronizedMemoryBlockView fView;
-		String[] fFilters;
-		
-		public PropertyListener(ISynchronizedMemoryBlockView view, String[] properties)
-		{
-			fView = view;
-			
-			if(properties != null)
-			{	
-				fFilters = properties;
-			}
-		}
-
-		/**
-		 * If the property matches one of the filters, the property
-		 * is valid and the view should be notified about its change.
-		 * @param property
-		 * @return
-		 */
-		public boolean isValidProperty(String property){
-			if (fFilters == null)
-				return true;
-			else
-			{
-				for (int i=0; i<fFilters.length; i++)
-				{
-					if (fFilters[i].equals(property))
-					{
-						return true;
-					}
-				}
-				return false;
-			}		
-		}
-
-		/**
-		 * Add a property to the listener.
-		 * @param property
-		 */
-		public void setPropertyFilters(String[] filters){	
-			fFilters = filters;
-		}
-
-		/**
-		 * @return Returns the fView.
-		 */
-		public ISynchronizedMemoryBlockView getView() {
-			return fView;
-		}
-	}
-	
-	/**
-	 * Create a new synchronization info object for the memory block
-	 * @param block
-	 */
-	public SynchronizeInfo(IMemoryBlock block)
-	{
-		fBlock = block;
-		fProperties = new Hashtable();
-		fPropertyListeners = new Hashtable();
-	}
-	
-	/**
-	 * Add an ISynchronizedMemoryBlockView to the info object.  The 
-	 * view will be notified when any of the properties changes.
-	 * @param view
-	 */
-	public void addSynchronizedView(ISynchronizedMemoryBlockView view, String[] propertyIds)
-	{
-		PropertyListener listener = new PropertyListener(view, propertyIds);
-		
-		if (!fPropertyListeners.contains(listener))
-		{
-			fPropertyListeners.put(view, listener);
-		}
-	}
-	
-	/**
-	 * Remove an ISynchronizedMemoryBlockView from the info object.
-	 * The view will no longer be notified about synchronized
-	 * properties changes.
-	 * @param view
-	 */
-	public void removeSynchronizedView(ISynchronizedMemoryBlockView view)
-	{
-		if (fPropertyListeners.containsKey(view))
-		{
-			fPropertyListeners.remove(view);
-		}
-	}
-	
-	/**
-	 * Set a property and its value to the info object
-	 * @param propertyId
-	 * @param value
-	 */
-	public void setProperty(String propertyId, Object value)
-	{
-		if (propertyId == null)
-			return;
-			
-		if (value == null)
-			return;
-			
-		fProperties.put(propertyId, value);
-	}
-	
-	/**
-	 * Returns the value of the property from the info object
-	 * @param propertyId
-	 * @return
-	 */
-	public Object getProperty(String propertyId)
-	{
-		if (propertyId == null)
-			return null;
-			
-		Object value = fProperties.get(propertyId);
-		
-		return value;	
-	}
-	
-	/**
-	 * Fire property change events
-	 * @param propertyId
-	 */
-	public void firePropertyChanged(final String propertyId)
-	{
-		// Make sure the synchronizer does not swallow any events
-		// Values of the properties are updated in the syncrhonizer immediately.
-		// Change events are queued up on the UI Thread.
-		Display.getDefault().asyncExec(new Runnable()
-		{
-			public void run()
-			{
-				if (propertyId == null)
-					return;
-				
-				Object value = fProperties.get(propertyId);
-				if (value != null)
-				{				
-					Enumeration enum = fPropertyListeners.elements();
-					
-					while(enum.hasMoreElements())
-					{
-						PropertyListener listener = (PropertyListener)enum.nextElement();
-						
-						ISynchronizedMemoryBlockView view = listener.getView();
-						
-						// if view is enabled and if it's a valid property
-						if (view.isEnabled() && listener.isValidProperty(propertyId)){
-							PropertyChangeNotifier notifier = new PropertyChangeNotifier(view, propertyId, value);
-							Platform.run(notifier);	
-						}
-					}
-				}
-			}
-		});
-	}
-	
-	/**
-	 * @return number of views being synchronized.
-	 */
-	public int getNumberOfSynchronizedViews()
-	{
-		if(fPropertyListeners == null)
-			return 0;
-	
-		return fPropertyListeners.size();
-	}
-	
-	/**
-	 * Set up property filter for the view.
-	 * @param view
-	 * @param filters
-	 */
-	public void setPropertyFilters(ISynchronizedMemoryBlockView view, String[] filters){
-		PropertyListener listener = (PropertyListener)fPropertyListeners.get(view);
-		
-		if (listener != null){
-			listener.setPropertyFilters(filters);
-		}
-	}	
-	
-	/**
-	 * Clean up the synchronization info object
-	 */
-	public void delete()
-	{
-		if (fPropertyListeners != null){
-			fPropertyListeners.clear();
-			fPropertyListeners = null;
-		}
-		
-		if (fProperties != null){
-			fProperties.clear();
-			fProperties = null;
-		}
-		
-		if (fBlock != null){
-			fBlock = null;
-		}
-	}
-	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabCursorManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabCursorManager.java
deleted file mode 100644
index 19136c4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabCursorManager.java
+++ /dev/null
@@ -1,960 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import java.math.BigInteger;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.internal.core.memory.IExtendedMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIMessages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableCursor;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-
-
-/**
- * Manages the cursor in the table.
- * Since table content is dynamic, default TableCursor does not handle dynamic
- * content so well.  This manager is created to make sure selection is maintainted properly.
- * In the future, it should be moidified such that it allows user to do multiple
- * cell selection.  (use fTrailCursors)
- * 
- * @since 3.0
- */
-public class ViewTabCursorManager
-{
-	private TableCursor fTableCursor;
-	private MemoryViewTab fViewTab;
-	private MenuManager fMenuManager;
-	protected int fRow;
-	protected int fCol;
-	private TableEditor editor;	
-	private boolean fMenuDisposed = false;
-	
-	private Table fTable;
-	private TableViewer fTableViewer;
-	private String fRenderingId;
-	private IFixedLengthOutputRenderer fRenderer;
-	
-	private TraverseEventListener fTraverseEvtListener;
-	private TextFocusListener fTextFocusListener;
-	private TextKeyListener fTextKeyListener;
-	private MouseEventListener fMouseEventListener;
-	
-	class MouseEventListener implements MouseListener
-	{
-
-		/* (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)
-		{	
-			if (e.getSource() instanceof Table)
-				handleTableMouseEvent(e);
-			else if (e.getSource() instanceof TableCursor)
-				handleCursorMouseEvent(e);
-		}
-		
-		private void handleCursorMouseEvent(MouseEvent e){
-			if (e.button == 1)
-			{
-				if (fCol > 0 && fCol <= (getNumCol()))
-					activateCellEditor(null);
-			}			
-		}
-
-		/**
-		 * @param e
-		 */
-		private void handleTableMouseEvent(MouseEvent e) {
-			// figure out new cursor position based on here the mouse is pointing
-			TableItem[] selections = fTableViewer.getTable().getSelection();
-			TableItem selectedRow = null;
-			int colNum = -1;
-			
-			if (selections.length > 0)
-			{
-				selectedRow = selections[0];
-				
-				int numCol = fTableViewer.getColumnProperties().length;
-				
-				for (int i=0; i<numCol; i++)
-				{
-					Rectangle bound = selectedRow.getBounds(i);
-					if (bound.contains(e.x, e.y))
-					{
-						colNum = i;
-						break;
-					}
-				}
-			}
-			
-			// if column position cannot be determined, return
-			if (colNum < 1)
-				return;
-			
-			
-			// handle user mouse click onto table
-			// move cursor to new position
-			if (selectedRow != null)
-			{
-				int row = fTableViewer.getTable().indexOf(selectedRow);
-				
-				updateCursorPosition(row, colNum, true);
-			}			
-			
-			fViewTab.updateSyncTopAddress(true);
-			// selected address changes because user has selected a new position
-			fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-
-			// keep table selection up to date
-			fViewTab.updateTableSelection();			
-			
-			setCursorFocus();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
-		 */
-		public void mouseUp(MouseEvent e)
-		{		
-
-		}
-	}
-	
-	/**
-	 * Text Traverse Listener for the edit text box in Memory View Tab
-	 * Moves cursor around as user tabs in the view tab.
-	 */
-	class TraverseEventListener implements TraverseListener
-	{
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.TraverseListener#keyTraversed(org.eclipse.swt.events.TraverseEvent)
-		 */
-		public void keyTraversed(TraverseEvent event)
-		{
-			if (event.getSource() instanceof Text)
-				handleTextTraverseEvt(event);
-			else if (event.getSource() instanceof TableCursor)
-				handleCursorTraverseEvt(event);
-		}
-
-		/**
-		 * @param event
-		 */
-		private void handleTextTraverseEvt(TraverseEvent event) {
-			final TraverseEvent e = event;
-			Display.getDefault().asyncExec(new Runnable()
-			{
-				public void run()
-				{
-					try
-					{
-						// if cursor is at boundry, reload
-						if (fViewTab.getMemoryBlock() instanceof IExtendedMemoryBlock)
-						{
-							if (fRow+1 >= fTable.getItemCount() || fRow-1 <= 0)
-							{
-								BigInteger topAddress = fViewTab.getTopVisibleAddress();
-								fViewTab.reloadTable(topAddress, false);
-							}
-						}
-					}
-					catch (DebugException e1)
-					{
-						DebugUIPlugin.log(e1);
-						return;
-					}					
-					
-					if (e.detail == SWT.TRAVERSE_TAB_NEXT)
-					{
-						if (!(fViewTab.getMemoryBlock() instanceof IExtendedMemoryBlock))
-						{
-							if (fRow+1 >= fTable.getItemCount() &&
-								fCol == getNumCol())
-							{
-								return;
-							}
-						}
-						
-						// if the cursor is at the end of the line, move to next line
-						if (fCol == getNumCol())
-						{
-							fCol = 1;
-							fRow++;
-						}
-						else
-						{
-							fCol++;
-						}
-					}
-					else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
-					{
-						if (!(fViewTab.getMemoryBlock() instanceof IExtendedMemoryBlock))
-						{
-							if (fRow-1 < 0 && fCol == 1)
-							{
-								return;
-							}
-						}
-												
-						// if the cursor is at the beginning  of the line, move to previous line
-						if (fCol == 1)
-						{
-							fCol = getNumCol();
-							fRow--;
-						}
-						else
-						{
-							fCol--;
-						}
-					}
-					else
-						return;
-						
-					// update cursor location and selection in table	
-					updateCursorPosition(fRow, fCol, true);
-					
-					fViewTab.updateSyncTopAddress(true);
-					fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-					fViewTab.updateTableSelection();	
-					
-					Text text = (Text)e.getSource();
-					removeListeners(text);
-
-					activateCellEditor(null);
-				}
-
-
-			});
-		}
-		
-		private void handleCursorTraverseEvt(TraverseEvent e){
-			if (fCol == getNumCol() && e.keyCode == SWT.ARROW_RIGHT)
-			{
-				if (fRow + 1>= fTable.getItemCount())
-				{
-					return;
-				}
-				
-				fRow = fRow +1;
-				fCol = 0;
-				
-				updateCursorPosition(fRow, fCol, true);
-			}
-			if (fCol == 1 && e.keyCode == SWT.ARROW_LEFT)
-			{
-				if (fRow-1 < 0)
-				{
-					return;
-				}
-				
-				fRow = fRow - 1;
-				fCol = getNumCol()+1;
-				
-				updateCursorPosition(fRow, fCol, true);
-			}			
-		}
-	}
-		
-	/**
-	 * Focus listener for the text editor box in Memory View Tab
-	 * Commit changes to IMemoryBlock when the text box has lost focus.
-	 */
-	class TextFocusListener implements FocusListener
-	{
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.FocusListener#focusGained(org.eclipse.swt.events.FocusEvent)
-		 */
-		public void focusGained(FocusEvent e)
-		{	
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.FocusListener#focusLost(org.eclipse.swt.events.FocusEvent)
-		 */
-		public void focusLost(FocusEvent event)
-		{
-			
-			final FocusEvent e = event;
-
-			Display.getDefault().syncExec(new Runnable() {
-
-				public void run()
-				{
-					try
-					{
-						Text text = (Text)e.getSource();
-						removeListeners(text);
-	
-						// get new value
-						String newValue = text.getText();
-						
-						// modify memory at fRow and fCol
-						modifyValue(fRow, fCol, newValue);
-								
-						// show cursor after modification is completed
-						showCursor();
-					}
-					catch (NumberFormatException e1)
-					{
-						MemoryViewUtil.openError(DebugUIMessages.getString(MemoryViewCellModifier.TITLE), 
-							DebugUIMessages.getString(MemoryViewCellModifier.DATA_IS_INVALID), null);
-					}		
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Key Listener to the edit text box in Memory View Tab
-	 * Moves the text box arround as user hits the arrow keys.
-	 * Change is not committed as user hits the Escape key.
-	 * Move edit box to the next cell as user has typed in the max
-	 * number of characters for a cell.
-	 */
-	class TextKeyListener implements KeyListener
-	{
-
-		/* (non-Javadoc)
-		 * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
-		 */
-		public void keyTyped(KeyEvent e)
-		{
-		}
-
-		/* (non-Javadoc)
-		 * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
-		 */
-		public void keyPressed(KeyEvent event)
-		{
-			if (event.getSource() instanceof Text)
-				handleTextKeyEvt(event);			
-		}
-		
-		/**
-		 * @param event
-		 */
-		private void handleTextKeyEvt(KeyEvent event) {
-			final KeyEvent e = event;
-			Display.getDefault().asyncExec(new Runnable()
-			{
-				public void run()
-				{
-					Text text = (Text)e.getSource();
-					
-					try
-					{
-						switch (e.keyCode)
-						{
-							case SWT.ARROW_UP :
-								
-								// move text editor box up one row
-							
-								if (fRow-1 < 0)
-									return;
-							
-								// modify value for current cell
-								modifyValue(fRow, fCol, text.getText());
-														
-								fRow--;
-
-								//	update cursor location and selection in table	
-								updateCursorPosition(fRow, fCol, true);
-								
-								fViewTab.updateSyncTopAddress(true);
-								fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-								fViewTab.updateTableSelection();
-						
-								// remove listeners when focus is lost
-								removeListeners(text);
-								activateCellEditor(null);
-								break;
-							case SWT.ARROW_DOWN :
-								
-								// move text editor box down one row
-								
-								if (fRow+1 >= fTable.getItemCount())
-									return;
-								
-								// modify value for current cell
-								modifyValue(fRow, fCol, text.getText());
-							
-								fRow++;
-								
-								//	update cursor location and selection in table								
-								updateCursorPosition(fRow, fCol, true);
-								
-								fViewTab.updateSyncTopAddress(true);
-								fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-								fViewTab.updateTableSelection();
-						
-								// remove traverse listener when focus is lost
-								removeListeners(text);
-								activateCellEditor(null);		
-								break;
-							case 0:
-								
-								// if user has entered the max number of characters allowed in a cell, move to next cell
-								// Extra changes will be used as initial value for the next cell
-								
-								if (fRenderer != null)
-								{								
-									if (text.getText().length() > fViewTab.getColumnSize()*fRenderer.getNumCharPerByte())
-									{
-										String newValue = text.getText();
-										text.setText(newValue.substring(0, fViewTab.getColumnSize()*fRenderer.getNumCharPerByte()));
-										
-										modifyValue(fRow, fCol, text.getText());
-										
-										// if cursor is at the end of a line, move to next line
-										if (fCol >= getNumCol())
-										{
-											fCol = 1;
-											fRow++;
-										}
-										else
-										{
-											// move to next column
-											fCol++;
-										}
-										
-										// update cursor position and selected address
-										updateCursorPosition(fRow, fCol, true);
-										
-										fViewTab.updateSyncTopAddress(true);
-										fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-										fViewTab.updateTableSelection();
-										
-										removeListeners(text);
-							
-										// activate text editor at next cell
-										activateCellEditor(newValue.substring(fViewTab.getColumnSize()*fRenderer.getNumCharPerByte()));
-									}
-								}
-								break;	
-							case SWT.ESC:
-
-								// if user has pressed escape, do not commit the changes
-								// that's why "modifyValue" is not called
-								updateCursorPosition(fRow, fCol, true);
-								fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-								fViewTab.updateTableSelection();
-						
-								removeListeners(text);
-								
-								// cursor needs to have focus to remove focus from cell editor
-								setCursorFocus();
-								break;	
-							default :
-							if (fRenderer != null)
-							{
-								if (text.getText().length()> fViewTab.getColumnSize()* fRenderer.getNumCharPerByte())
-								{
-									String newValue = text.getText();
-									text.setText(newValue.substring(0,fViewTab.getColumnSize()* fRenderer.getNumCharPerByte()));
-									modifyValue(fRow, fCol, text.getText());
-									// if cursor is at the end of a line, move to next line
-									if (fCol >= getNumCol())
-									{
-										fCol = 1;
-										fRow++;
-									}
-									else
-									{
-										fCol++;
-									}
-									
-									updateCursorPosition(fRow, fCol, true);
-									
-									fViewTab.updateSyncTopAddress(true);
-									fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-									fViewTab.updateTableSelection();
-									removeListeners(text);
-									activateCellEditor(
-										newValue.substring(
-											fViewTab.getColumnSize()
-												* fRenderer.getNumCharPerByte()));
-								}
-							}
-							break;
-						}
-					}
-					catch (NumberFormatException e1)
-					{
-						MemoryViewUtil.openError(DebugUIMessages.getString(MemoryViewCellModifier.TITLE), 
-							DebugUIMessages.getString(MemoryViewCellModifier.DATA_IS_INVALID), null);
-						
-						updateCursorPosition(fRow, fCol, true);
-						fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-						fViewTab.updateTableSelection();
-				
-						removeListeners(text);
-						showCursor();
-					}
-				}
-			});
-		}
-
-		/* (non-Javadoc)
-		 * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
-		 */
-		public void keyReleased(KeyEvent e)
-		{
-			
-		}
-	}
-	
-	/**
-	 * Create cursor manager for view tab
-	 * @param viewTab
-	 * @param initialRow
-	 * @param initialCol
-	 * @param menuManager
-	 */
-	public ViewTabCursorManager(MemoryViewTab viewTab, int initialRow, int initialCol, MenuManager menuManager)
-	{
-		fViewTab = viewTab;
-		fMenuManager = menuManager;
-		fRow = initialRow;
-		fCol = initialCol;
-		fTableViewer = viewTab.getTableViewer();
-		fTable = fTableViewer.getTable();
-		editor = new TableEditor (fTable);
-		fRenderingId = fViewTab.getRenderingId();
-		
-		IBaseLabelProvider labelProvider = fTableViewer.getLabelProvider();
-		if (labelProvider instanceof AbstractTableViewTabLabelProvider)
-		{
-			AbstractMemoryRenderer renderer = ((AbstractTableViewTabLabelProvider)labelProvider).getRenderer();
-			if (renderer instanceof IFixedLengthOutputRenderer)
-				fRenderer = (IFixedLengthOutputRenderer)renderer;
-		}
-		
-		fTraverseEvtListener = new TraverseEventListener();
-		fTextFocusListener = new TextFocusListener();
-		fTextKeyListener = new TextKeyListener();
-
-		fMouseEventListener = new MouseEventListener();
-		fTable.addMouseListener(fMouseEventListener);
-		
-		createCursor();
-	}
-	
-	private void createCursor()
-	{
-		fTableCursor = new TableCursor(fTable, SWT.NONE);
-		
-		Display display = fTableCursor.getDisplay();
-		
-		// set up cursor color
-		fTableCursor.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION));
-		fTableCursor.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
-
-		updateCursorPosition(fRow, fCol, true);
-		
-		fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-		fTableCursor.setVisible(true);
-		fTableCursor.setFocus();
-	
-		fTableCursor.addSelectionListener(new SelectionListener() {
-
-			// for keeping track of cursor positions
-			public void widgetSelected(SelectionEvent e)
-			{
-				if (fTableCursor != null)
-				{
-					fViewTab.updateSyncTopAddress(true);
-					
-					fRow = fTable.indexOf(fTableCursor.getRow());
-					fCol = fTableCursor.getColumn();
-					
-					// cursor position has changed, update selected address
-					fViewTab.updateSelectedAddress(fTableCursor.getRow(), fTableCursor.getColumn());
-					fViewTab.updateTableSelection();
-				}
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			
-			}});	
-			
-		fTableCursor.addTraverseListener(fTraverseEvtListener);
-			
-		// set up context menu for the cursor
-		// otherwise, cell will not show context menu when it is highlighted	
-		if (fMenuManager != null)
-		{
-			createContextMenu();
-		}	
-		
-		// TODO:  Moved this to viewTabCursorManager?
-		// need to revisit this
-		fTableCursor.addKeyListener(fViewTab);	
-		fTableCursor.addMouseListener(fMouseEventListener);
-	}
-	
-
-	/**
-	 * Hook up context menu with the cursor.
-	 * This is needed when user RMC at cursor.  Without this the context
-	 * menu activation will not be detected by the cursor
-	 * @return 
-	 */
-	private Menu createContextMenu()
-	{
-		fMenuDisposed = false;
-		
-		Menu menu = fMenuManager.createContextMenu(fTable);
-		
-		fTable.setMenu(menu);
-		
-		if (fTableCursor != null)
-		{
-			Control menuControl = fTableCursor;
-			menuControl.setMenu(menu);
-			
-			menu.addDisposeListener(new DisposeListener(){
-
-				public void widgetDisposed(DisposeEvent e)
-				{
-					fMenuDisposed = true;	
-					
-					Menu disposedMenu = (Menu)e.getSource();
-					disposedMenu.removeDisposeListener(this);			
-				}});
-		}
-		
-		return menu;
-	}
-	
-	/**
-	 * Redraw cursors
-	 */
-	public void redrawCursors()
-	{
-		if (fTableCursor != null && fTableCursor.isVisible())
-		{
-			fTableCursor.setSelection(fRow, fCol);
-			fTableCursor.redraw();
-		}
-	}
-	
-	/**
-	 * Clean up cursor manager
-	 */
-	public void dispose()
-	{
-		if (fTableCursor != null)
-		{
-			fTableCursor.dispose();
-			fTableCursor = null;
-		}
-			
-		if (editor != null)
-		{
-			editor.dispose();
-			editor = null;	
-		}
-		
-		if (fTable != null)
-			fTable.removeMouseListener(fMouseEventListener);
-	}
-	
-	/**
-	 * @return lead cursor
-	 */
-	public TableCursor getLeadCursor()
-	{
-		return fTableCursor;
-	}
-	
-	/**
-	 * Hide cursor
-	 */
-	public void hideCursor()
-	{	
-		fTableCursor.setVisible(false);
-	}
-	
-	/**
-	 * When cursor is to be shown again, if the cursor is previously dispose,
-	 * create a new cursor and position at last remembered position
-	 */
-	public void showCursor()
-	{
-		if (fTableCursor == null)
-		{
-			createCursor();
-		}
-		if (fMenuDisposed)
-		{
-			createContextMenu();			
-		}
-		
-		if (!fTableCursor.isVisible())
-		{	
-			fTableCursor.setVisible(true);
-		}
-	}
-	
-	/**
-	 * Causes the cursor to gain focus
-	 */
-	public void setCursorFocus()
-	{
-		if (fTableCursor != null)
-			fTableCursor.setFocus();
-	}
-	
-	
-	/**
-	 * Set new row/col position in cursor.  If cursor is not visible, (cursor is null),
-	 * call showCursor to create new cursor.
-	 * @param row
-	 * @param col
-	 */
-	public void updateCursorPosition(int row, int col, boolean showCursor)
-	{
-		if (row < 0
-			|| row >= fTable.getItemCount()
-			|| col < 0
-			|| col >= fTable.getColumnCount()) {
-			return;
-		}
-
-		this.fRow = row;
-		this.fCol = col;
-
-		fTableCursor.setSelection(row, col);
-
-		if (showCursor)
-			showCursor();
-	}
-	
-	/**
-	 * Activate celll editor and prefill it with initial value.
-	 * If initialValue is null, use cell content as initial value
-	 * @param initialValue
-	 */
-	public void activateCellEditor(String initialValue) {
-		
-		// do not allow user to edit address column
-		if (fCol == 0 || fCol > getNumCol())
-		{
-			return;
-		}
-		
-		ICellModifier cellModifier = null;
-		
-		if (fTableViewer != null)
-		{
-			cellModifier = fTableViewer.getCellModifier();
-		}
-		
-		TableItem tableItem = fTable.getItem(fRow);
-		
-		Object element = tableItem.getData();
-		Object property = fTableViewer.getColumnProperties()[fCol];
-		Object value = cellModifier.getValue(element, (String)property);
-		
-		// The cell modifier canModify function always returns false if the edit action 
-		// is not invoked from here.  This is to prevent data to be modified when
-		// the table cursor loses focus from a cell.  By default, data will
-		// be changed in a table when the cell loses focus.  This is to workaround
-		// this default behaviour and only change data when the cell editor
-		// is activated.
-		((MemoryViewCellModifier)cellModifier).setEditActionInvoked(true);
-		boolean canEdit = cellModifier.canModify(element, (String)property);
-		((MemoryViewCellModifier)cellModifier).setEditActionInvoked(false);
-		
-		if (!canEdit)
-			return;
-		
-		// activate based on current cursor position
-		TextCellEditor selectedEditor = (TextCellEditor)fTableViewer.getCellEditors()[fCol];
-
-		
-		if (fTableViewer != null && cellModifier != null && selectedEditor != null && tableItem != null)
-		{
-			// The control that will be the editor must be a child of the Table
-			Text text = (Text)selectedEditor.getControl();
-			
-			String cellValue  = null;
-			
-			if (initialValue != null)
-			{
-				cellValue = initialValue;	
-			}
-			else	
-			{
-				cellValue = ((String)value);
-			}
-			
-			if (fRenderingId.equals(IMemoryViewConstants.RENDERING_RAW_MEMORY))
-				cellValue = cellValue.toUpperCase();
-			
-			text.setText(cellValue);
-	
-			editor.horizontalAlignment = SWT.LEFT;
-			editor.grabHorizontal = true;
-	
-			// Open the text editor in selected column of the selected row.
-			editor.setEditor (text, tableItem, fCol);
-	
-			// Assign focus to the text control
-			selectedEditor.setFocus();
-			
-			if (initialValue != null)
-			{
-				text.clearSelection();
-			}
-			
-			text.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME));
-
-			// add listeners for the text control
-			addListeners(text);
-			
-			// move cursor below text control
-			fTableCursor.moveBelow(text);
-		}
-	}
-	
-	/**
-	 * @return
-	 */
-	private int getNumCol() {
-		
-		int bytesPerLine = fViewTab.getBytesPerLine();
-		int columnSize = fViewTab.getColumnSize();
-		
-		return bytesPerLine/columnSize;
-	}
-
-	/**
-	 * Modify value and send new value to debug adapter
-	 * @param row
-	 * @param col
-	 * @param newValue
-	 * @throws NumberFormatException
-	 */
-	private void modifyValue(int row, int col, String newValue) throws NumberFormatException
-	{
-		if (newValue.length() == 0)
-		{	
-			// do not do anything if user has not entered anything
-			return;
-		}
-		
-		TableItem tableItem = fTable.getItem(row);
-
-		Object property = fTableViewer.getColumnProperties()[col];
-
-		// get old value
-		Object element = tableItem.getData();
-		
-		ICellModifier cellModifier = fTableViewer.getCellModifier();
-		String oldValue = (String)cellModifier.getValue(element, (String)property);		
-
-		if (fRenderingId.equals(IMemoryViewConstants.RENDERING_RAW_MEMORY))
-		{
-			oldValue = oldValue.toUpperCase();
-			newValue = newValue.toUpperCase();
-
-			// only compare up to the length of new value, leave the rest of the memory unchanged
-			if (newValue.length() <= oldValue.length())
-			{
-				oldValue = oldValue.substring(0, newValue.length());
-			}
-	
-			if (!oldValue.equals(newValue))
-			{
-				fTableViewer.getCellModifier().modify(tableItem, (String)property, newValue);
-			}
-		}
-		else
-		{
-			// just modify
-			fTableViewer.getCellModifier().modify(tableItem, (String)property, newValue);
-		}
-	}
-	
-	/**
-	 * @param font
-	 */
-	protected void setFont(Font font)
-	{
-		if (fTableCursor != null)
-		{
-			fTableCursor.setFont(font);
-		}
-	}
-	
-	/**
-	 * @param text
-	 */
-	private void addListeners(Text text) {
-		// add listeners to text 
-		text.addFocusListener(fTextFocusListener);						
-		text.addTraverseListener(fTraverseEvtListener);
-		text.addKeyListener(fTextKeyListener);
-		text.addKeyListener(fViewTab);
-	}
-	
-	/**
-	 * @param text
-	 */
-	private void removeListeners(Text text) {
-		// remove traverse listener when focus is lost
-		text.removeTraverseListener(fTraverseEvtListener);
-		text.removeFocusListener(fTextFocusListener);
-		text.removeKeyListener(fTextKeyListener);
-		text.removeKeyListener(fViewTab);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
deleted file mode 100644
index e29c603..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabEnablementManager.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.memory;
-
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Controls view tab enablement based on tab folder selection
- * 
- * @since 3.0
- */
-public class ViewTabEnablementManager implements SelectionListener {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetSelected(SelectionEvent e) {
-		if (e.getSource() instanceof TabFolder)
-		{
-			handleTabFolderSelection(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
-	 */
-	public void widgetDefaultSelected(SelectionEvent e) {
-		 
-		
-	}
-	
-	private void handleTabFolderSelection(SelectionEvent event)
-	{
-		TabFolder folder = (TabFolder)event.getSource();
-		
-		TabItem[] selectedItems = folder.getSelection();
-		TabItem selectedItem;
-		IMemoryViewTab selectedViewTab;
-		
-		// get selected view tab
-		if (selectedItems.length > 0)
-		{
-			selectedItem = selectedItems[0];
-			
-			Object obj = selectedItem.getData();
-			
-			if (obj instanceof IMemoryViewTab)
-			{
-				selectedViewTab = (IMemoryViewTab)obj;
-			}
-			else
-			{
-				return;
-			}
-		}
-		else
-		{
-			return;
-		}
-		
-		// get all tabs
-		TabItem[] allTabs = folder.getItems();
-		
-		// check all tabs to make sure they are enabled/disabled properly
-		for (int i=0; i<allTabs.length; i++)
-		{	
-			IMemoryViewTab viewTab;
-			Object obj = allTabs[i].getData();
-			
-			if (obj instanceof IMemoryViewTab)
-			{	
-				viewTab = (IMemoryViewTab)obj;
-				
-				// if view tab matches the selected item
-				if (viewTab == selectedViewTab && !viewTab.isEnabled() )
-				{
-					// if the item has been selected and this tab is not enabled
-					// enable it.
-					viewTab.setEnabled(true);
-				}
-				else if (viewTab != selectedViewTab && viewTab.isEnabled())
-				{
-					// if the tab is not selected, disable it
-					viewTab.setEnabled(false);
-				}	
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
deleted file mode 100644
index f067706..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersView.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
-***********************************************************************/
-package org.eclipse.debug.internal.ui.views.registers;
-
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.debug.internal.ui.views.variables.VariablesView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IContentProvider;
-
-/**
- * Displays registers and their values with a detail area.
- */
-public class RegistersView extends VariablesView {
-	
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#createContentProvider()
-	 */
-	protected IContentProvider createContentProvider() {
-		RegistersViewContentProvider cp = new RegistersViewContentProvider(this);
-		cp.setExceptionHandler(this);
-		return cp;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.REGISTERS_VIEW;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.AbstractDebugView#configureToolBar(org.eclipse.jface.action.IToolBarManager)
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		super.configureToolBar(tbm);
-		tbm.add(new Separator(IDebugUIConstants.EMPTY_REGISTER_GROUP));		
-		tbm.add(new Separator(IDebugUIConstants.REGISTER_GROUP));
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getDetailPanePreferenceKey()
-	 */
-	protected String getDetailPanePreferenceKey() {
-		return IDebugPreferenceConstants.REGISTERS_DETAIL_PANE_ORIENTATION;
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getToggleActionLabel()
-	 */
-	protected String getToggleActionLabel() {
-		return RegistersViewMessages.getString("RegistersView.0"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesView#getViewerState()
-	 */
-	protected AbstractViewerState getViewerState() {
-		return new RegistersViewerState(getVariablesViewer());
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewContentProvider.java
deleted file mode 100644
index d7da176..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewContentProvider.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
-***********************************************************************/
-package org.eclipse.debug.internal.ui.views.registers;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider;
-import org.eclipse.debug.ui.IDebugView;
-
-/**
- * Provides contents for the registers view
- */
-public class RegistersViewContentProvider extends VariablesViewContentProvider {
-
-	public RegistersViewContentProvider(IDebugView view) {
-		super(view);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		Object[] children= null;
-		try {
-			if (parent instanceof IStackFrame) {
-				children = ((IStackFrame)parent).getRegisterGroups();
-			} else if (parent instanceof IRegisterGroup) {
-				children = ((IRegisterGroup)parent).getRegisters();
-			} else if (parent instanceof IVariable) {
-				children = super.getChildren( parent );
-			}
-			if (children != null) {
-				cache(parent, children);
-				return children;
-			}
-		} catch (DebugException de) {
-			if (getExceptionHandler() != null) {
-				getExceptionHandler().handleException(de);
-			} else {
-				DebugUIPlugin.log(de);
-			}
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		try {
-			if (element instanceof IStackFrame) {
-				return ((IStackFrame)element).hasRegisterGroups();
-			}
-			if (element instanceof IRegisterGroup) {
-				return ((IRegisterGroup)element).hasRegisters();
-			}
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-			return false;
-		}
-		return super.hasChildren(element);
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.variables.VariablesViewContentProvider#setExceptionHandler(org.eclipse.debug.internal.ui.views.IDebugExceptionHandler)
-	 */
-	protected void setExceptionHandler(IDebugExceptionHandler handler) {
-		super.setExceptionHandler(handler);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
deleted file mode 100644
index 56e9221..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
- ***********************************************************************/
-package org.eclipse.debug.internal.ui.views.registers;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RegistersViewMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.registers.RegistersViewMessages";//$NON-NLS-1$
-	
-	private static final ResourceBundle RESOURCE_BUNDLE = 
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private RegistersViewMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.properties
deleted file mode 100644
index 8f132d2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewMessages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#########################################################################
-# Copyright (c) 2004 QNX Software Systems and others.
-# All rights reserved.   This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors: 
-# QNX Software Systems - Initial API and implementation
-##########################################################################
-RegistersView.0=Registers View Only
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewerState.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewerState.java
deleted file mode 100644
index c25b516..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/registers/RegistersViewerState.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2004 QNX Software Systems and others.
- * All rights reserved.   This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors: 
- * QNX Software Systems - Initial API and implementation
-***********************************************************************/
-package org.eclipse.debug.internal.ui.views.registers;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Memento of the expanded and selected items in a registers viewer.
- * 
- */
-public class RegistersViewerState extends AbstractViewerState {
-
-	public RegistersViewerState( TreeViewer viewer ) {
-		super( viewer );
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.debug.internal.ui.views.AbstractViewerState#encodeElement(org.eclipse.swt.widgets.TreeItem)
-	 */
-	public IPath encodeElement( TreeItem item ) throws DebugException {
-		Object obj = item.getData();
-		String name = ( obj instanceof IRegisterGroup ) ? 
-						((IRegisterGroup)obj).getName() : ((IVariable)obj).getName();
-		IPath path = new Path( name );
-		TreeItem parent = item.getParentItem();
-		while( parent != null ) {
-			obj = parent.getData();
-			name = ( obj instanceof IRegisterGroup ) ? 
-					 ((IRegisterGroup)obj).getName() : ((IVariable)obj).getName();
-			path = new Path( name ).append( path );
-			parent = parent.getParentItem();
-		}
-		return path;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.debug.internal.ui.views.AbstractViewerState#decodePath(org.eclipse.core.runtime.IPath, org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public Object decodePath( IPath path, TreeViewer viewer ) throws DebugException {
-		ITreeContentProvider contentProvider = (ITreeContentProvider)viewer.getContentProvider();
-		String[] names = path.segments();
-		Object parent = viewer.getInput();
-		Object element = null;
-		for( int i = 0; i < names.length; i++ ) {
-			element = null;
-			Object[] children = contentProvider.getChildren( parent );
-			String name = names[i];
-			for( int j = 0; j < children.length; j++ ) {
-				if ( children[j] instanceof IRegisterGroup ) {	
-					if ( name.equals( ((IRegisterGroup)children[j]).getName() ) ) {
-						element = children[j];
-						break;
-					}
-				}
-				else if ( children[j] instanceof IVariable ) {	
-					if ( name.equals( ((IVariable)children[j]).getName() ) ) {
-						element = children[j];
-						break;
-					}
-				}
-			}
-			if ( element == null ) {
-				return null;
-			} 
-			else {
-				parent = element;
-			}
-		}
-		return element;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
deleted file mode 100644
index 7b397d5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Drop down action that displays available logical structures for a selected
- * variable or expression.
- */
-public class AvailableLogicalStructuresAction extends Action implements IMenuCreator {
-	
-	private VariablesView fView;
-	private Menu fMenu;
-	private IValue fValue;
-	private ILogicalStructureType[] fTypes;
-
-	public AvailableLogicalStructuresAction(VariablesView view) {
-		setView(view);
-		setToolTipText(VariablesViewMessages.getString("AvailableLogicalStructuresAction.0")); //$NON-NLS-1$
-		setText(VariablesViewMessages.getString("AvailableLogicalStructuresAction.1")); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.VARIABLES_SELECT_LOGICAL_STRUCTURE);
-		setEnabled(false);
-		setMenuCreator(this);
-		init();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-	}
-	
-	protected VariablesView getView() {
-		return fView;
-	}
-
-	protected void setView(VariablesView view) {
-		fView = view;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		fView= null;
-		fValue = null;
-		fTypes = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		return null;
-	}
-
-	protected void addActionToMenu(Menu parent, Action action) {
-		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) {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		
-		fMenu= new Menu(parent);
-		ILogicalStructureType[] types = getTypes();
-		boolean exist = false;
-		Action firstAction = null;
-		String firstKey = null;
-		IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-		if (types != null && types.length > 0) {
-			for (int i = 0; i < types.length; i++) {
-				Action action = new SelectLogicalStructureAction(getView(), types, i);
-				action.setText("&"+(i+1)+". " + action.getText());  //$NON-NLS-1$//$NON-NLS-2$
-				String key = VariablesView.LOGICAL_STRUCTURE_TYPE_PREFIX + types[i].getId();
-				if (i == 0) {
-					firstAction = action;
-					firstKey = key;
-				}
-				int value = store.getInt(key);
-				exist = exist || value != 0;
-				action.setChecked(value == 1);
-				addActionToMenu(fMenu, action);
-			}
-		}
-		if (!exist && firstAction != null) {
-			firstAction.setChecked(true);
-			store.setValue(firstKey, 1);
-		}
-		return fMenu;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void init() {
-		setValue(null);
-		setTypes(null);
-		if (getView().isShowLogicalStructure()) {
-			ISelection s = getView().getVariablesViewer().getSelection();
-			if (s instanceof IStructuredSelection) {
-				IStructuredSelection selection = (IStructuredSelection) s;
-				if (selection.size() == 1) {
-					Object obj = selection.getFirstElement();
-					IValue value = null;
-					if (obj instanceof IVariable) {
-						IVariable var = (IVariable) obj;
-						try {
-							value = var.getValue();
-						} catch (DebugException e) {
-						}
-					} else if (obj instanceof IExpression) {
-						IExpression expression = (IExpression)obj;
-						value = expression.getValue();
-					}
-					if (value != null) {
-						ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
-						if (types.length > 0) {
-							setTypes(types);
-							setValue(value);
-							setEnabled(true);
-							return;
-						}
-					}
-				}
-			}
-		}
-		setEnabled(false);
-	}
-	
-	protected ILogicalStructureType[] getTypes() {
-		return fTypes;
-	}
-	
-	private void setTypes(ILogicalStructureType[] types) {
-		fTypes = types;
-	}
-	
-	protected IValue getValue() {
-		return fValue;
-	}
-	
-	private void setValue(IValue value) {
-		fValue = value;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/DetailPaneWordWrapAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/DetailPaneWordWrapAction.java
deleted file mode 100644
index 56b25e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/DetailPaneWordWrapAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.jface.action.IAction;
-
-/**
- * An action delegate that toggles the state of its viewer to
- * use word wrap in the details pane.
- */
-public class DetailPaneWordWrapAction extends VariableViewToggleAction {
-	
-	/**
-	 * @see VariableFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP; 
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		super.run(action);
-		((VariablesView)getView()).toggleDetailPaneWordWrap(action.isChecked());
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IValueContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IValueContentProvider.java
deleted file mode 100644
index ad8048a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IValueContentProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * Experimental: Provides logical content for a value, rather than all content.
- * 
- * @since 3.0
- */
-public interface IValueContentProvider {
-
-	/**
-	 * Returns a logical set of variables contained in the given value.
-	 * 
-	 * @param value
-	 * @return
-	 */
-	public IVariable[] getVariables(IValue value);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
deleted file mode 100644
index 5f7f954..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedValuePartition.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IIndexedValue;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * A parition (subrange) of values of an indexed value 
- */
-public class IndexedValuePartition implements IIndexedValue {
-
-	// the starting offset of this parition, into the associated collection
-	private int fOffset;
-	
-	// the length of this partition
-	private int fLength;
-
-	// the indexed value
-	private IIndexedValue fValue;
-	
-	/**
-	 * Creates a parition for an indexed value.
-	 * 
-	 * @param value indexed value
-	 * @param offset beginning offset of this partition (into the value)
-	 * @param length the length of this parition
-	 */
-	public IndexedValuePartition(IIndexedValue value, int offset, int length) {
-		fValue = value;
-		fOffset = offset;
-		fLength = length;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IIndexedValue#getSize()
-	 */
-	public int getSize() {
-		return fLength;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IIndexedValue#getVariable(int)
-	 */
-	public IVariable getVariable(int offset) throws DebugException {
-		return fValue.getVariable(offset);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getReferenceTypeName()
-	 */
-	public String getReferenceTypeName() throws DebugException {
-		return fValue.getReferenceTypeName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getValueString()
-	 */
-	public String getValueString() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getVariables()
-	 */
-	public IVariable[] getVariables() throws DebugException {
-		IVariable[] vars = new IVariable[fLength];
-		int offset = getInitialOffset();
-		for (int i = 0; i < fLength; i++) {
-			vars[i] = getVariable(offset);
-			offset++;
-		}
-		return vars;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#hasVariables()
-	 */
-	public boolean hasVariables() {
-		return fLength > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#isAllocated()
-	 */
-	public boolean isAllocated() throws DebugException {
-		return fValue.isAllocated();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fValue.getDebugTarget();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fValue.getLaunch();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return fValue.getModelIdentifier();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return fValue.getAdapter(adapter);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IIndexedValue#getVariables(int, int)
-	 */
-	public IVariable[] getVariables(int offset, int length) throws DebugException {
-		return fValue.getVariables(fOffset + offset, length);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IIndexedValue#getInitialOffset()
-	 */
-	public int getInitialOffset() {
-		return fOffset;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
deleted file mode 100644
index 52a46cc..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/IndexedVariablePartition.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IIndexedValue;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * A variable containing a subset/range of values from an indexed value
- * (<code>IIndexedValue</code>).
- */
-public class IndexedVariablePartition implements IVariable {
-	
-	// the starting offset of this parition, into the associated collection
-	private int fOffset;
-	
-	// the length of this partition
-	private int fLength;
-	
-	// the root variable or expression containing the indexed value
-	private IDebugElement fOriginalVariable;
-
-	// the indexed value
-	private IIndexedValue fOriginalValue;
-	
-	// sub-range of values
-	private IIndexedValue fValuePartition;
-	
-	private String fName = null;
-	
-	/**
-	 * Creates a parition for an indexed value.
-	 * 
-	 * @param variable variable or expression containing the indexed value
-	 * @param value indexed value
-	 * @param offset beginning offset of this partition (into the value)
-	 * @param length the length of this parition
-	 */
-	public IndexedVariablePartition(IDebugElement variable, IIndexedValue value, int offset, int length) {
-		fOriginalVariable = variable;
-		fOriginalValue = value;
-		fOffset = offset;
-		fLength = length;
-		fValuePartition = new IndexedValuePartition(value, offset, length);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getValue()
-	 */
-	public IValue getValue() {
-		return fValuePartition;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getName()
-	 */
-	public String getName() {
-		if (fName == null) {
-			StringBuffer buf = new StringBuffer();
-			buf.append("["); //$NON-NLS-1$
-			buf.append(fOffset);
-			buf.append("..."); //$NON-NLS-1$
-			buf.append(fOffset + fLength - 1);
-			buf.append("]"); //$NON-NLS-1$
-			fName = buf.toString();
-		}
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getReferenceTypeName()
-	 */
-	public String getReferenceTypeName() throws DebugException {
-		if (fOriginalVariable instanceof IVariable) {
-			IVariable variable = (IVariable) fOriginalVariable;
-			return variable.getReferenceTypeName();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#hasValueChanged()
-	 */
-	public boolean hasValueChanged() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return fOriginalValue.getModelIdentifier();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fOriginalValue.getDebugTarget();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fOriginalValue.getLaunch();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(java.lang.String)
-	 */
-	public void setValue(String expression) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, VariablesViewMessages.getString("IndexedVariablePartition.4"), null)); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public void setValue(IValue value) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, IDebugUIConstants.PLUGIN_ID, IDebugUIConstants.INTERNAL_ERROR, VariablesViewMessages.getString("IndexedVariablePartition.4"), null)); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification()
-	 */
-	public boolean supportsValueModification() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(java.lang.String)
-	 */
-	public boolean verifyValue(String expression) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean verifyValue(IValue value) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return fOriginalVariable.getAdapter(adapter);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IndexedVariablePartition) {
-			IndexedVariablePartition partition = (IndexedVariablePartition)obj;
-			return fOriginalVariable.equals(partition.fOriginalVariable) &&
-				fOffset == partition.fOffset && fLength == partition.fLength;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fOriginalVariable.hashCode() + fOffset;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
deleted file mode 100644
index 53fe067..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/SelectLogicalStructureAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/**
- * Action to set the logical structure to display for a variable (enables/disables
- * logical structure types for the same variable).
- */
-public class SelectLogicalStructureAction extends Action {
-	
-	private VariablesView fView;
-	private ILogicalStructureType[] fTypes;
-	private int fIndex;
-
-	/**
-	 * 
-	 * @param view Variables view
-	 * @param group group of applicable structures
-	 * @param index the offset into the given group that this action enables
-	 */
-	public SelectLogicalStructureAction(VariablesView view, ILogicalStructureType[] group, int index) {
-		super(group[index].getDescription(), IAction.AS_CHECK_BOX);
-		setView(view);
-		fTypes = group;
-		fIndex = index;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		valueChanged();
-	}
-
-	private void valueChanged() {
-		if (!getView().isAvailable()) {
-			return;
-		}
-		BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() {
-			public void run() {
-				IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-				for (int i = 0; i < fTypes.length; i++) {
-					if (i == fIndex && isChecked()) {
-						store.setValue(VariablesView.LOGICAL_STRUCTURE_TYPE_PREFIX + fTypes[i].getId(), 1);
-					} else {
-						store.setValue(VariablesView.LOGICAL_STRUCTURE_TYPE_PREFIX + fTypes[i].getId(), -1);
-					}
-				}
-				getView().getViewer().refresh();					
-			}
-		});			
-	}
-	
-	protected VariablesView getView() {
-		return fView;
-	}
-
-	protected void setView(VariablesView view) {
-		fView = view;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/StatusLineContributionItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/StatusLineContributionItem.java
deleted file mode 100644
index 93d8a0c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/StatusLineContributionItem.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.StatusLineLayoutData;
-
-public class StatusLineContributionItem extends ContributionItem {
-
-	public final static int DEFAULT_CHAR_WIDTH = 40;
-
-	private int charWidth;
-	private CLabel label;
-	/**
-	 * The composite into which this contribution item has been placed. This
-	 * will be <code>null</code> if this instance has not yet been
-	 * initialized.
-	 */
-	private Composite statusLine = null;
-	private String text= ""; //$NON-NLS-1$
-	private int widthHint = -1;
-
-	public StatusLineContributionItem(String id) {
-		this(id, DEFAULT_CHAR_WIDTH);
-	}
-
-	public StatusLineContributionItem(String id, int charWidth) {
-		super(id);
-		this.charWidth = charWidth;
-		setVisible(false); // no text to start with
-	}
-
-	public void fill(Composite parent) {
-		statusLine = parent;
-		label = new CLabel(statusLine, SWT.NONE);
-		StatusLineLayoutData statusLineLayoutData = new StatusLineLayoutData();
-
-		if (widthHint < 0) {
-			GC gc = new GC(statusLine);
-			gc.setFont(statusLine.getFont());
-			widthHint = gc.getFontMetrics().getAverageCharWidth() * charWidth;
-			gc.dispose();
-		}
-
-		statusLineLayoutData.widthHint = widthHint;
-		label.setLayoutData(statusLineLayoutData);
-		label.setText(text);
-	}
-
-	/**
-	 * An accessor for the current location of this status line contribution
-	 * item -- relative to the display.
-	 * 
-	 * @return The current location of this status line; <code>null</code> if
-	 *         not yet initialized.
-	 */
-	public Point getDisplayLocation() {
-		if ((label != null) && (statusLine != null)) {
-			return statusLine.toDisplay(label.getLocation());
-		}
-
-		return null;
-	}
-
-	public String getText() {
-		return text;
-	}
-
-	public void setText(String text) {
-		if (text == null)
-			throw new NullPointerException();
-
-		this.text = text;
-
-		if (label != null && !label.isDisposed())
-			label.setText(this.text);
-
-		if (this.text.length() == 0) {
-			if (isVisible()) {
-				setVisible(false);
-				IContributionManager contributionManager = getParent();
-
-				if (contributionManager != null)
-					contributionManager.update(true);
-			}
-		} else {
-			if (!isVisible()) {
-				setVisible(true);
-				IContributionManager contributionManager = getParent();
-
-				if (contributionManager != null)
-					contributionManager.update(true);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
deleted file mode 100644
index 0fa0185..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ToggleLogicalStructureAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Action to toggle the use of contributed variables content providers on and off.
- * When on, all registered variables content providers for the current debug model
- * are used.  When off, the default content provider (that shows all children)
- * is used for all debug models.
- */
-public class ToggleLogicalStructureAction extends Action {
-	
-	private VariablesView fView;
-
-	public ToggleLogicalStructureAction(VariablesView view) {
-		super(null, IAction.AS_CHECK_BOX);
-		setView(view);
-		setToolTipText(VariablesViewMessages.getString("ToggleObjectBrowsersAction.1"));  //$NON-NLS-1$
-		setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_SHOW_LOGICAL_STRUCTURE));
-		setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_SHOW_LOGICAL_STRUCTURE));
-		setImageDescriptor(DebugPluginImages.getImageDescriptor(IInternalDebugUIConstants.IMG_ELCL_SHOW_LOGICAL_STRUCTURE));
-		setId(DebugUIPlugin.getUniqueIdentifier() + ".ToggleObjectBrowsersAction"); //$NON-NLS-1$
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.VARIABLES_CONTENT_PROVIDERS_ACTION);
-	}
-
-	/**
-	 * @see Action#run()
-	 */
-	public void run() {
-		valueChanged(isChecked());
-	}
-
-	private void valueChanged(boolean on) {
-		if (!getView().isAvailable()) {
-			return;
-		}
-		getView().setShowLogicalStructure(on);	
-		BusyIndicator.showWhile(getView().getViewer().getControl().getDisplay(), new Runnable() {
-			public void run() {
-				getView().getViewer().refresh();					
-			}
-		});			
-	}
-
-	/**
-	 * @see Action#setChecked(boolean)
-	 */
-	public void setChecked(boolean value) {
-		super.setChecked(value);
-	}
-	
-	protected VariablesView getView() {
-		return fView;
-	}
-
-	protected void setView(VariablesView view) {
-		fView = view;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
deleted file mode 100644
index e0ff4b5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariableViewToggleAction.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-
-/**
- * 
- */
-public abstract class VariableViewToggleAction implements IViewActionDelegate, IActionDelegate2 {
-	
-	private IViewPart fView;
-	private IAction fAction;
-
-	public VariableViewToggleAction() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		fView = view;
-		boolean checked = getPreferenceValue(view);
-		fAction.setChecked(checked);
-		run(fAction);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		fAction = action;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IPreferenceStore store = getPreferenceStore();
-		String key = getView().getSite().getId() + "." + getPreferenceKey(); //$NON-NLS-1$
-		store.setValue(key, action.isChecked());
-		DebugUIPlugin.getDefault().savePluginPreferences();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/**
-	 * Returns the value of this filters preference (on/off) for the given
-	 * view.
-	 * 
-	 * @param part
-	 * @return boolean
-	 */
-	protected boolean getPreferenceValue(IViewPart part) {
-		String baseKey = getPreferenceKey();
-		String viewKey = part.getSite().getId();
-		String compositeKey = viewKey + "." + baseKey; //$NON-NLS-1$
-		IPreferenceStore store = getPreferenceStore();
-		boolean value = false;
-		if (store.contains(compositeKey)) {
-			value = store.getBoolean(compositeKey);
-		} else {
-			value = store.getBoolean(baseKey);
-		}
-		return value;		
-	}
-	
-	/**
-	 * Returns the key for this action's preference
-	 * 
-	 * @return String
-	 */
-	protected abstract String getPreferenceKey(); 
-		
-	protected IViewPart getView() {
-		return fView;
-	}
-	
-	protected StructuredViewer getStructuredViewer() {
-		IDebugView view = (IDebugView)getView().getAdapter(IDebugView.class);
-		if (view != null) {
-			Viewer viewer = view.getViewer();
-			if (viewer instanceof StructuredViewer) {
-				return (StructuredViewer)viewer;
-			}
-		}		
-		return null;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
deleted file mode 100644
index 5f0f342..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesView.java
+++ /dev/null
@@ -1,1463 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ResourceBundle;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.VariablesViewModelPresentation;
-import org.eclipse.debug.internal.ui.actions.AssignValueAction;
-import org.eclipse.debug.internal.ui.actions.ChangeVariableValueAction;
-import org.eclipse.debug.internal.ui.actions.CollapseAllAction;
-import org.eclipse.debug.internal.ui.actions.ShowTypesAction;
-import org.eclipse.debug.internal.ui.actions.ToggleDetailPaneAction;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandlerView;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.debug.internal.ui.views.DebugViewDecoratingLabelProvider;
-import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
-import org.eclipse.debug.internal.ui.views.DebugViewLabelDecorator;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.INullSelectionListener;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * This view shows variables and their values for a particular stack frame
- */
-public class VariablesView extends AbstractDebugEventHandlerView implements ISelectionListener, 
-																	IPropertyChangeListener,
-																	IValueDetailListener,
-																	IDebugExceptionHandler,
-																	INullSelectionListener {
-
-	/**
-	 * A decorating label provider which adds coloring to variables to
-	 * reflect their changed state
-	 */
-	protected class VariablesViewDecoratingLabelProvider extends DebugViewDecoratingLabelProvider implements IColorProvider {
-		
-		public VariablesViewDecoratingLabelProvider(StructuredViewer viewer, ILabelProvider provider, DebugViewLabelDecorator decorator) {
-			super(viewer, provider, decorator);
-		}
-
-		public Color getForeground(Object element) {
-			if (element instanceof IVariable) {
-				IVariable variable = (IVariable) element;
-				try {
-					if (variable.hasValueChanged()) {
-						return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR);
-					}
-				} catch (DebugException e) {
-					DebugUIPlugin.log(e);
-				}
-			}
-			return null;
-		}
-
-		public Color getBackground(Object element) {
-			return null;
-		}
-	
-	}
-	
-	/**
-	 * Internal interface for a cursor listener. I.e. aggregation 
-	 * of mouse and key listener.
-	 * @since 3.0
-	 */
-	interface ICursorListener extends MouseListener, KeyListener {
-	}
-																		
-	/**
-	 * The selection provider for the variables view changes depending on whether
-	 * the variables viewer or detail pane source viewer have focus. This "super" 
-	 * provider ensures the correct selection is sent to all listeners.
-	 */
-	class VariablesViewSelectionProvider implements ISelectionProvider {
-		private ListenerList fListeners= new ListenerList();
-		private ISelectionProvider fUnderlyingSelectionProvider;
-		/**
-		 * @see ISelectionProvider#addSelectionChangedListener(ISelectionChangedListener)
-		 */
-		public void addSelectionChangedListener(ISelectionChangedListener listener) {
-			fListeners.add(listener);
-		}
-
-		/**
-		 * @see ISelectionProvider#getSelection()
-		 */
-		public ISelection getSelection() {
-			return getUnderlyingSelectionProvider().getSelection();
-		}
-
-		/**
-		 * @see ISelectionProvider#removeSelectionChangedListener(ISelectionChangedListener)
-		 */
-		public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-			fListeners.remove(listener);
-		}
-
-		/**
-		 * @see ISelectionProvider#setSelection(ISelection)
-		 */
-		public void setSelection(ISelection selection) {
-			getUnderlyingSelectionProvider().setSelection(selection);
-		}
-		
-		protected ISelectionProvider getUnderlyingSelectionProvider() {
-			return fUnderlyingSelectionProvider;
-		}
-
-		protected void setUnderlyingSelectionProvider(ISelectionProvider underlyingSelectionProvider) {
-			fUnderlyingSelectionProvider = underlyingSelectionProvider;
-		}
-		
-		protected void fireSelectionChanged(SelectionChangedEvent event) {
-			Object[] listeners= fListeners.getListeners();
-			for (int i = 0; i < listeners.length; i++) {
-				ISelectionChangedListener listener = (ISelectionChangedListener)listeners[i];
-				listener.selectionChanged(event);
-			}
-		}
-	}
-	
-	/**
-	 * The model presentation used as the label provider for the tree viewer,
-	 * and also as the detail information provider for the detail pane.
-	 */
-	private VariablesViewModelPresentation fModelPresentation;
-	
-	/**
-	 * The UI construct that provides a sliding sash between the variables tree
-	 * and the detail pane.
-	 */
-	private SashForm fSashForm;
-	
-	/**
-	 * The detail pane viewer and its associated document.
-	 */
-	private ISourceViewer fDetailViewer;
-	private IDocument fDetailDocument;
-	
-	/**
-	 * The identifier of the debug model that is/was being displayed
-	 * in this view. When the type of model being displayed changes,
-	 * the details area needs to be reconfigured.
-	 */
-	private String fDebugModelIdentifier;
-	
-	/**
-	 * The configuration being used in the details area
-	 */
-	private SourceViewerConfiguration fSourceViewerConfiguration;
-	
-	/**
-	 * Selection currently computing details for
-	 * (workaround for bug 12938)
-	 */
-	private IStructuredSelection fValueSelection = null;
-	
-	/**
-	 * The last value for which the detail has been requested.
-	 */
-	private IValue fLastValueDetail= null;
-	
-	/**
-	 * Iterator for multi-selection details computation
-	 */
-	private Iterator fSelectionIterator = null;	
-	
-	/**
-	 * Various listeners used to update the enabled state of actions and also to
-	 * populate the detail pane.
-	 */
-	private ISelectionChangedListener fTreeSelectionChangedListener;
-	private ISelectionChangedListener fDetailSelectionChangedListener;
-	private IDocumentListener fDetailDocumentListener;
-	
-	/**
-	 * Selection provider for this view.
-	 */
-	private VariablesViewSelectionProvider fSelectionProvider= new VariablesViewSelectionProvider();
-	
-	/**
-	 * Collections for tracking actions.
-	 */
-	private List fSelectionActions = new ArrayList(3);
-	
-	/**
-	 * A map of stack frames to <code>ViewerState</code>s.
-	 * Used to restore the expanded state of the variables view on
-	 * re-selection of the same stack frame. The cache is cleared on
-	 * a frame by frame basis when a thread/target is terminated.
-	 */
-	private HashMap fSelectionStates = new HashMap(10);
-	
-	/**
-	 * The last known viewer state. Used to init the expansion/selection
-	 * in the variables view when there is no state to go on for the
-	 * current stack frame being displayed.
-	 */
-	private AbstractViewerState fLastState = null;
-	
-	/**
-	 * Remembers which viewer (tree viewer or details viewer) had focus, so we
-	 * can reset the focus properly when re-activated.
-	 */
-	private Viewer fFocusViewer = null;
-	
-	/**
-	 * These are used to initialize and persist the position of the sash that
-	 * separates the tree viewer from the detail pane.
-	 */
-	private static final int[] DEFAULT_SASH_WEIGHTS = {13, 6};
-	private int[] fLastSashWeights;
-	private boolean fToggledDetailOnce;
-	private String fCurrentDetailPaneOrientation = IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN;
-	private ToggleDetailPaneAction[] fToggleDetailPaneActions;
-
-	protected static final String DETAIL_SELECT_ALL_ACTION = SELECT_ALL_ACTION + ".Detail"; //$NON-NLS-1$
-	protected static final String VARIABLES_SELECT_ALL_ACTION=  SELECT_ALL_ACTION + ".Variables"; //$NON-NLS-1$
-	
-	protected static final String DETAIL_COPY_ACTION = ActionFactory.COPY.getId() + ".Detail"; //$NON-NLS-1$
-	protected static final String VARIABLES_COPY_ACTION=  ActionFactory.COPY.getId() + ".Variables"; //$NON-NLS-1$
-
-	protected static final String LOGICAL_STRUCTURE_TYPE_PREFIX = "VAR_LS_"; //$NON-NLS-1$
-	protected static final String SASH_WEIGHTS = DebugUIPlugin.getUniqueIdentifier() + ".variablesView.SASH_WEIGHTS"; //$NON-NLS-1$
-	
-	private StatusLineContributionItem fStatusLineItem;
-	private ICursorListener fCursorListener;
-	/**
-	 * Data structure for the position label value.
-	 */
-	private static class PositionLabelValue {
-		
-		public int fValue;
-		
-		public String toString() {
-			return String.valueOf(fValue);
-		}
-	}
-	/** The pattern used to show the position label in the status line. */
-	private final String fPositionLabelPattern= VariablesViewMessages.getString("VariablesView.56"); //$NON-NLS-1$
-	/** The position label value of the current line. */
-	private final PositionLabelValue fLineLabel= new PositionLabelValue();
-	/** The position label value of the current column. */
-	private final PositionLabelValue fColumnLabel= new PositionLabelValue();
-	/** The arguments for the position label pattern. */
-	private final Object[] fPositionLabelPatternArguments= new Object[] { fLineLabel, fColumnLabel };
-
-	/**
-	 * Remove myself as a selection listener
-	 * and preference change listener.
-	 *
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		getViewSite().getActionBars().getStatusLineManager().remove(fStatusLineItem);
-		getSite().getPage().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		JFaceResources.getFontRegistry().removeListener(this);
-		Viewer viewer = getViewer();
-		if (viewer != null) {
-			getDetailDocument().removeDocumentListener(getDetailDocumentListener());
-		}
-		super.dispose();
-	}
-
-	protected void setViewerInput(IStructuredSelection ssel) {
-		IStackFrame frame= null;
-		if (ssel.size() == 1) {
-			Object input= ssel.getFirstElement();
-			if (input instanceof IStackFrame) {
-				frame= (IStackFrame)input;
-			}
-		}
-		
-		getDetailViewer().setEditable(frame != null);
-		
-		Object current= getViewer().getInput();
-		
-		if (current == null && frame == null) {
-			return;
-		}
-
-		if (current != null && current.equals(frame)) {
-			return;
-		}
-
-		if (current != null) {
-			// save state
-			fLastState = getViewerState();
-			fSelectionStates.put(current, fLastState);
-		}		
-		
-		if (frame != null) {
-			setDebugModel(frame.getModelIdentifier());
-		}
-		showViewer();
-		getViewer().setInput(frame);
-		
-		// restore state
-		if (frame != null) {
-			AbstractViewerState state = (AbstractViewerState)fSelectionStates.get(frame);
-			if (state == null) {
-				// attempt to restore selection/expansion based on last frame
-				state = fLastState;
-			} 
-			if (state != null) {
-				state.restoreState(getVariablesViewer());
-			}
-		}
-	}
-	
-	/**
-	 * Returns the variables viewer for this view
-	 */
-	protected VariablesViewer getVariablesViewer() {
-		return (VariablesViewer)getViewer();
-	}
-	
-	/**
-	 * Clears expanded state for stack frames which are
-	 * a child of the given thread or debug target.
-	 */
-	protected void clearExpandedVariables(Object parent) {
-		List list = null;
-		if (parent instanceof IThread) {
-			list = getCachedFrames((IThread)parent);
-		} else if (parent instanceof IDebugTarget) {
-			list = getCachedFrames((IDebugTarget)parent);
-		}
-		if (list != null) {
-			Iterator frames = list.iterator();
-			while (frames.hasNext()) {
-				Object frame = frames.next();
-				fSelectionStates.remove(frame);
-			}
-		}
-	}
-	
-	/**
-	 * Returns a list of stack frames in the specified 
-	 * thread that have cached an expansion state.
-	 * 
-	 * @return a list of stack frames in the specified 
-	 * thread that have cached an expansion state
-	 */
-	protected List getCachedFrames(IThread thread) {
-		List list = null;
-		Iterator frames = fSelectionStates.keySet().iterator();
-		while (frames.hasNext()) {
-			IStackFrame frame = (IStackFrame)frames.next();
-			if (frame.getThread().equals(thread)) {
-				if (list == null) {
-					list = new ArrayList();
-				}
-				list.add(frame);
-			}
-		}	
-		return list;	
-	}
-	
-	/**
-	 * Returns a list of stack frames in the specified 
-	 * thread that have cached an expansion state.
-	 * 
-	 * @return a list of stack frames in the specified 
-	 * thread that have cached an expansion state
-	 */
-	protected List getCachedFrames(IDebugTarget target) {
-		List list = null;
-		Iterator frames = fSelectionStates.keySet().iterator();
-		while (frames.hasNext()) {
-			IStackFrame frame = (IStackFrame)frames.next();
-			if (frame.getDebugTarget().equals(target)) {
-				if (list == null) {
-					list = new ArrayList();
-				}
-				list.add(frame);
-			}
-		}	
-		return list;	
-	}
-	
-	/**
-	 * Configures the details viewer for the debug model
-	 * currently being displayed
-	 */
-	protected void configureDetailsViewer() {
-		LazyModelPresentation mp = (LazyModelPresentation)fModelPresentation.getPresentation(getDebugModel());
-		SourceViewerConfiguration svc = null;
-		if (mp != null) {
-			try {
-				svc = mp.newDetailsViewerConfiguration();
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(getSite().getShell(), VariablesViewMessages.getString("VariablesView.Error_1"), VariablesViewMessages.getString("VariablesView.Unable_to_configure_variable_details_area._2"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		if (svc == null) {
-			svc = new SourceViewerConfiguration();
-			getDetailViewer().setEditable(false);
-		}
-		getDetailViewer().configure(svc);
-		//update actions that depend on the configuration of the details viewer
-		updateAction("ContentAssist"); //$NON-NLS-1$
-		setDetailViewerConfiguration(svc);
-	}
-	
-	/**
-	 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		String propertyName= event.getProperty();
-		if (propertyName.equals(IDebugPreferenceConstants.CHANGED_VARIABLE_COLOR)) {
-			getEventHandler().refresh();
-		} else if (propertyName.equals(IInternalDebugUIConstants.DETAIL_PANE_FONT)) {
-			getDetailViewer().getTextWidget().setFont(JFaceResources.getFont(IInternalDebugUIConstants.DETAIL_PANE_FONT));			
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createViewer(Composite)
-	 */
-	public Viewer createViewer(Composite parent) {
-		TreeViewer variablesViewer = createTreeViewer(parent);
-		createDetailsViewer();
-		getSashForm().setMaximizedControl(variablesViewer.getControl());
-
-		createOrientationActions();
-		IPreferenceStore prefStore = DebugUIPlugin.getDefault().getPreferenceStore();
-		String orientation = prefStore.getString(getDetailPanePreferenceKey());
-		for (int i = 0; i < fToggleDetailPaneActions.length; i++) {
-			fToggleDetailPaneActions[i].setChecked(fToggleDetailPaneActions[i].getOrientation().equals(orientation));
-		}
-		setDetailPaneOrientation(orientation);
-		
-		return variablesViewer;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		if (memento != null) {
-			Integer bigI = memento.getInteger(SASH_WEIGHTS+"-Length"); //$NON-NLS-1$
-			if (bigI == null) {
-				return;
-			}
-			int numWeights = bigI.intValue();
-			int[] weights = new int[numWeights];
-			for (int i = 0; i < numWeights; i++) {
-				bigI = memento.getInteger(SASH_WEIGHTS+"-"+i); //$NON-NLS-1$
-				if (bigI == null) {
-					return;
-				}
-				weights[i] = bigI.intValue();
-			}
-			if (weights.length > 0){
-				setLastSashWeights(weights);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		super.saveState(memento);
-		int[] weights = getSashForm().getWeights();
-		memento.putInteger(SASH_WEIGHTS+"-Length", weights.length); //$NON-NLS-1$
-		for (int i = 0; i < weights.length; i++) {
-			memento.putInteger(SASH_WEIGHTS+"-"+i, weights[i]); //$NON-NLS-1$
-		}		
-	}
-
-	protected String getDetailPanePreferenceKey() {
-		return IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_ORIENTATION;
-	}
-		
-	/**
-	 * Create and return the main tree viewer that displays variable.
-	 */
-	protected TreeViewer createTreeViewer(Composite parent) {
-		fModelPresentation = new VariablesViewModelPresentation();
-		DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		JFaceResources.getFontRegistry().addListener(this);
-		// create the sash form that will contain the tree viewer & text viewer
-		setSashForm(new SashForm(parent, SWT.NONE));
-		
-		// add tree viewer
-		final TreeViewer variablesViewer = new VariablesViewer(getSashForm(), SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
-		variablesViewer.setContentProvider(createContentProvider());
-		variablesViewer.setLabelProvider(createLabelProvider(variablesViewer));
-		variablesViewer.setUseHashlookup(true);
-		variablesViewer.getControl().addFocusListener(new FocusAdapter() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.FocusListener#focusGained(FocusEvent)
-			 */
-			public void focusGained(FocusEvent e) {
-				getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(variablesViewer);
-				setAction(SELECT_ALL_ACTION, getAction(VARIABLES_SELECT_ALL_ACTION));
-				setAction(COPY_ACTION, getAction(VARIABLES_COPY_ACTION));
-				getViewSite().getActionBars().updateActionBars();
-				setFocusViewer(getVariablesViewer());
-			}
-		});
-		variablesViewer.addSelectionChangedListener(getTreeSelectionChangedListener());
-		getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(variablesViewer);
-		getSite().setSelectionProvider(getVariablesViewSelectionProvider());
-
-		// listen to selection in debug view
-		getSite().getPage().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, this);
-		setEventHandler(createEventHandler());
-
-		return variablesViewer;
-	}
-	
-	/**
-	 * Creates and returns a label provider for this view.
-	 * 
-	 * @return a label provider for this view.
-	 */
-	protected IBaseLabelProvider createLabelProvider(StructuredViewer viewer) {
-		return new VariablesViewDecoratingLabelProvider(viewer, new DebugViewInterimLabelProvider(getModelPresentation()), new DebugViewLabelDecorator(getModelPresentation()));
-	}
-
-	/**
-	 * Create the widgetry for the details viewer.
-	 */
-	protected void createDetailsViewer() {
-		// Create & configure a SourceViewer
-		SourceViewer detailsViewer= new SourceViewer(getSashForm(), null, SWT.V_SCROLL | SWT.H_SCROLL);
-		setDetailViewer(detailsViewer);
-		detailsViewer.setDocument(getDetailDocument());
-		detailsViewer.getTextWidget().setFont(JFaceResources.getFont(IInternalDebugUIConstants.DETAIL_PANE_FONT));
-		getDetailDocument().addDocumentListener(getDetailDocumentListener());
-		detailsViewer.setEditable(false);
-		Control control = detailsViewer.getControl();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		control.setLayoutData(gd);
-		
-		detailsViewer.getSelectionProvider().addSelectionChangedListener(getDetailSelectionChangedListener());
-		detailsViewer.getControl().addFocusListener(new FocusAdapter() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.events.FocusListener#focusGained(FocusEvent)
-			 */
-			public void focusGained(FocusEvent e) {
-				getVariablesViewSelectionProvider().setUnderlyingSelectionProvider(getDetailViewer().getSelectionProvider());
-				setAction(SELECT_ALL_ACTION, getAction(DETAIL_SELECT_ALL_ACTION));
-				setAction(COPY_ACTION, getAction(DETAIL_COPY_ACTION));
-				getViewSite().getActionBars().updateActionBars();
-				setFocusViewer((Viewer)getDetailViewer());
-			}
-		});
-		
-		// add a context menu to the detail area
-		createDetailContextMenu(detailsViewer.getTextWidget());
-		
-		detailsViewer.getTextWidget().addMouseListener(getCursorListener());
-		detailsViewer.getTextWidget().addKeyListener(getCursorListener());
-	}
-	
-	/**
-	 * Creates this view's content provider.
-	 * 
-	 * @return a content provider
-	 */
-	protected IContentProvider createContentProvider() {
-		VariablesViewContentProvider cp = new VariablesViewContentProvider(this);
-		cp.setExceptionHandler(this);
-		return cp;
-	}
-	
-	/**
-	 * Creates this view's event handler.
-	 * 
-	 * @return an event handler
-	 */
-	protected AbstractDebugEventHandler createEventHandler() {
-		return new VariablesViewEventHandler(this);
-	}	
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IDebugHelpContextIds.VARIABLE_VIEW;		
-	}
-	
-	/**
-	 * Set the orientation of the details pane so that is one of:
-	 * - underneath the main tree view
-	 * - to the right of the main tree view
-	 * - not visible
-	 */
-	public void setDetailPaneOrientation(String orientation) {
-		if (orientation.equals(fCurrentDetailPaneOrientation)) {
-			return;
-		}
-		if (orientation.equals(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN)) {
-			hideDetailPane();
-		} else {
-			int vertOrHoriz = orientation.equals(IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH) ? SWT.VERTICAL : SWT.HORIZONTAL;
-			getSashForm().setOrientation(vertOrHoriz);	
-			if (IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN.equals(fCurrentDetailPaneOrientation)) {
-				showDetailPane();	
-			}
-		}
-		fCurrentDetailPaneOrientation  = orientation;
-		DebugUIPlugin.getDefault().getPreferenceStore().setValue(getDetailPanePreferenceKey(), orientation);
-	}
-	
-	private void hideDetailPane() {
-		if (fToggledDetailOnce) {
-			setLastSashWeights(getSashForm().getWeights());
-		}
-		getSashForm().setMaximizedControl(getViewer().getControl());		
-	}
-	
-	private void showDetailPane() {
-		getSashForm().setMaximizedControl(null);
-		getSashForm().setWeights(getLastSashWeights());
-		populateDetailPane();
-		revealTreeSelection();
-		fToggledDetailOnce = true;		
-	}
-
-	/**
-	 * Make sure the currently selected item in the tree is visible.
-	 */
-	protected void revealTreeSelection() {
-		VariablesViewer viewer = getVariablesViewer();
-		if (viewer != null) {
-			ISelection selection = viewer.getSelection();
-			if (selection instanceof IStructuredSelection) {
-				Object selected = ((IStructuredSelection)selection).getFirstElement();
-				if (selected != null) {
-					viewer.reveal(selected);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Set on or off the word wrap flag for the detail pane.
-	 */
-	public void toggleDetailPaneWordWrap(boolean on) {
-		fDetailViewer.getTextWidget().setWordWrap(on);
-	}
-	
-	/**
-	 * Return the relative weights that were in effect the last time both panes were
-	 * visible in the sash form, or the default weights if both panes have not yet been
-	 * made visible.
-	 */
-	protected int[] getLastSashWeights() {
-		if (fLastSashWeights == null) {
-			fLastSashWeights = DEFAULT_SASH_WEIGHTS;
-		}
-		return fLastSashWeights;
-	}
-	
-	/**
-	 * Set the current relative weights of the controls in the sash form, so that
-	 * the sash form can be reset to this layout at a later time.
-	 */
-	protected void setLastSashWeights(int[] weights) {
-		fLastSashWeights = weights;
-	}
-	
-	/**
-	 * Create the context menu particular to the detail pane.  Note that anyone
-	 * wishing to contribute an action to this menu must use
-	 * <code>IDebugUIConstants.VARIABLE_VIEW_DETAIL_ID</code> as the
-	 * <code>targetID</code> in the extension XML.
-	 */
-	protected void createDetailContextMenu(Control menuControl) {
-		MenuManager menuMgr= new MenuManager(); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillDetailContextMenu(mgr);
-			}
-		});
-		Menu menu= menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		getSite().registerContextMenu(IDebugUIConstants.VARIABLE_VIEW_DETAIL_ID, menuMgr, getDetailViewer().getSelectionProvider());		
-		addContextMenuManager(menuMgr);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#createActions()
-	 */
-	protected void createActions() {
-		IAction action = new ShowTypesAction(this);
-		setAction("ShowTypeNames",action); //$NON-NLS-1$
-				
-		action = new ToggleLogicalStructureAction(this);
-		setAction("ToggleContentProviders", action); //$NON-NLS-1$
-		
-		action = new CollapseAllAction(getVariablesViewer());
-		setAction("CollapseAll", action); //$NON-NLS-1$
-
-		action = new ChangeVariableValueAction(getViewer());
-		action.setEnabled(false);
-		setAction("ChangeVariableValue", action); //$NON-NLS-1$
-		setAction(DOUBLE_CLICK_ACTION, action);
-		
-		TextViewerAction textAction= new TextViewerAction(getDetailViewer(), ISourceViewer.CONTENTASSIST_PROPOSALS);
-		textAction.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		textAction.configureAction(VariablesViewMessages.getString("VariablesView.Co&ntent_Assist_3"), "",""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		textAction.setImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ELCL_CONTENT_ASSIST));
-		textAction.setHoverImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_CONTENT_ASSIST));
-		textAction.setDisabledImageDescriptor(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_DLCL_CONTENT_ASSIST));
-		setAction("ContentAssist", textAction); //$NON-NLS-1$
-		getSite().getKeyBindingService().registerAction(textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.SELECT_ALL);
-		textAction.configureAction(VariablesViewMessages.getString("VariablesView.Select_&All_5"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(DETAIL_SELECT_ALL_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.COPY);
-		textAction.configureAction(VariablesViewMessages.getString("VariablesView.&Copy_8"), "", "");  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(DETAIL_COPY_ACTION, textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.CUT);
-		textAction.configureAction(VariablesViewMessages.getString("VariablesView.Cu&t_11"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(ActionFactory.CUT.getId(), textAction);
-		
-		textAction= new TextViewerAction(getDetailViewer(), ITextOperationTarget.PASTE);
-		textAction.configureAction(VariablesViewMessages.getString("VariablesView.&Paste_14"), "", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		setAction(ActionFactory.PASTE.getId(), textAction);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages"); //$NON-NLS-1$
-		setAction(ActionFactory.FIND.getId(), new FindReplaceAction(bundle, "find_replace_action.", this));	 //$NON-NLS-1$
-		
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.CUT.getId());
-		fSelectionActions.add(ActionFactory.PASTE.getId());
-		updateAction(ActionFactory.FIND.getId());
-		
-		action = new AssignValueAction(this, fDetailViewer);
-		setAction("AssignValue", action); //$NON-NLS-1$
-		
-		fStatusLineItem = new StatusLineContributionItem("ModeContributionItem"); //$NON-NLS-1$
-		IActionBars actionBars = getViewSite().getActionBars();
-		IStatusLineManager manager= actionBars.getStatusLineManager();
-		manager.add(fStatusLineItem);
-	} 
-	
-	private void createOrientationActions() {
-		IActionBars actionBars = getViewSite().getActionBars();
-		IMenuManager viewMenu = actionBars.getMenuManager();
-		
-		fToggleDetailPaneActions = new ToggleDetailPaneAction[3];
-		fToggleDetailPaneActions[0] = new ToggleDetailPaneAction(this, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_UNDERNEATH, null);
-		fToggleDetailPaneActions[1] = new ToggleDetailPaneAction(this, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_RIGHT, null);
-		fToggleDetailPaneActions[2] = new ToggleDetailPaneAction(this, IDebugPreferenceConstants.VARIABLES_DETAIL_PANE_HIDDEN, getToggleActionLabel());
-		viewMenu.add(new Separator());
-		viewMenu.add(fToggleDetailPaneActions[0]);
-		viewMenu.add(fToggleDetailPaneActions[1]);
-		viewMenu.add(fToggleDetailPaneActions[2]);
-		viewMenu.add(new Separator());		
-	}
-	
-	protected String getToggleActionLabel() {
-		return VariablesViewMessages.getString("VariablesView.41"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Configures the toolBar.
-	 * 
-	 * @param tbm The toolbar that will be configured
-	 */
-	protected void configureToolBar(IToolBarManager tbm) {
-		tbm.add(new Separator(this.getClass().getName()));
-		tbm.add(new Separator(IDebugUIConstants.RENDER_GROUP));
-		tbm.add(getAction("ShowTypeNames")); //$NON-NLS-1$
-		tbm.add(getAction("ToggleContentProviders")); //$NON-NLS-1$
-		tbm.add(getAction("CollapseAll")); //$NON-NLS-1$
-	}
-
-   /**
-	* Adds items to the tree viewer's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillContextMenu(IMenuManager menu) {
-
-		menu.add(new Separator(IDebugUIConstants.EMPTY_VARIABLE_GROUP));
-		menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP));
-		menu.add(getAction("ChangeVariableValue")); //$NON-NLS-1$
-		IAction action = new AvailableLogicalStructuresAction(this);
-		if (action.isEnabled()) {
-			menu.add(action);
-		}
-		menu.add(new Separator(IDebugUIConstants.EMPTY_RENDER_GROUP));
-		menu.add(new Separator(IDebugUIConstants.EMPTY_NAVIGATION_GROUP));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-   /**
-	* Adds items to the detail area's context menu including any extension defined
-	* actions.
-	* 
-	* @param menu The menu to add the item to.
-	*/
-	protected void fillDetailContextMenu(IMenuManager menu) {
-		
-		menu.add(new Separator(IDebugUIConstants.VARIABLE_GROUP));		
-		menu.add(getAction("AssignValue")); //$NON-NLS-1$
-		menu.add(getAction("ContentAssist")); //$NON-NLS-1$
-		menu.add(new Separator());
-		menu.add(getAction(ActionFactory.CUT.getId()));
-		menu.add(getAction(ActionFactory.COPY.getId() + ".Detail")); //$NON-NLS-1$
-		menu.add(getAction(ActionFactory.PASTE.getId()));
-		menu.add(getAction(DETAIL_SELECT_ALL_ACTION));
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add(getAction(ActionFactory.FIND.getId()));
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	/**
-	 * Lazily instantiate and return a selection listener that populates the detail pane,
-	 * but only if the detail is currently visible. 
-	 */
-	protected ISelectionChangedListener getTreeSelectionChangedListener() {
-		if (fTreeSelectionChangedListener == null) {
-			fTreeSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					if (event.getSelectionProvider().equals(getVariablesViewer())) {
-						clearStatusLine();
-						getVariablesViewSelectionProvider().fireSelectionChanged(event);				
-						// if the detail pane is not visible, don't waste time retrieving details
-						if (getSashForm().getMaximizedControl() == getViewer().getControl()) {
-							return;
-						}	
-						IStructuredSelection selection = (IStructuredSelection)event.getSelection();
-						populateDetailPaneFromSelection(selection);
-						treeSelectionChanged(event);
-					}
-				}					
-			};
-		}
-		return fTreeSelectionChangedListener;
-	}
-	
-	/**
-	 * Selection in the variable tree changed. Perform any updates.
-	 * 
-	 * @param event
-	 */
-	protected void treeSelectionChanged(SelectionChangedEvent event) {
-	}
-	
-	/**
-	 * Ask the variables tree for its current selection, and use this to populate
-	 * the detail pane.
-	 */
-	public void populateDetailPane() {
-		if (isDetailPaneVisible()) {
-			Viewer viewer = getViewer();
-			if (viewer != null) {
-				IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-				populateDetailPaneFromSelection(selection);	
-			}	
-		}
-	}
-	
-	/**
-	 * Show the details associated with the first of the selected variables in the 
-	 * detail pane.
-	 */
-	protected void populateDetailPaneFromSelection(IStructuredSelection selection) {
-		try {
-			getDetailDocument().set(""); //$NON-NLS-1$
-			if (!selection.isEmpty()) {
-				IValue val = null;
-				Object obj = selection.getFirstElement();
-				if (obj instanceof IndexedVariablePartition) {
-					// no details for parititions
-					return;
-				}
-				if (obj instanceof IVariable) {
-					val = ((IVariable)obj).getValue();
-				} else if (obj instanceof IExpression) {
-					val = ((IExpression)obj).getValue();
-				}
-				if (val == null) {
-					return;
-				}			
-				// workaroud for bug 12938
-				if (fValueSelection != null && fValueSelection.equals(selection)) {
-					return;
-				}
-				
-				setDebugModel(val.getModelIdentifier());
-				fValueSelection = selection;
-				fSelectionIterator = selection.iterator();
-				fSelectionIterator.next();
-				fLastValueDetail= val;
-				getModelPresentation().computeDetail(val, this);
-			} 
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-			getDetailDocument().set(VariablesViewMessages.getString("VariablesView.<error_occurred_retrieving_value>_18")); //$NON-NLS-1$
-		}				
-	}
-	
-	/**
-	 * @see IValueDetailListener#detailComputed(IValue, String)
-	 */
-	public void detailComputed(final IValue value, final String result) {
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (isAvailable()) {
-					// bug 24862
-					// don't display the result if an other detail has been
-					// requested
-					if (value == fLastValueDetail) {
-						String insert = result;
-						int length = getDetailDocument().get().length();
-						if (length > 0) {
-							insert = "\n" + result; //$NON-NLS-1$
-						}
-						try {
-							getDetailDocument().replace(length, 0,insert);
-						} catch (BadLocationException e) {
-							DebugUIPlugin.log(e);
-						}
-						fLastValueDetail= null;
-					}
-					
-					if (fSelectionIterator != null && fSelectionIterator.hasNext()) {
-						Object obj = fSelectionIterator.next();
-						IValue val = null;
-						try {
-							if (obj instanceof IVariable) {
-								val = ((IVariable)obj).getValue();
-							} else if (obj instanceof IExpression) {
-								val = ((IExpression)obj).getValue();
-							}
-							fLastValueDetail= val;
-							getModelPresentation().computeDetail(val, VariablesView.this);
-						} catch (DebugException e) {
-							DebugUIPlugin.log(e);
-							getDetailDocument().set(VariablesViewMessages.getString("VariablesView.<error_occurred_retrieving_value>_18")); //$NON-NLS-1$	
-						}
-					} else {
-						fValueSelection = null;
-						fSelectionIterator = null;
-					}							
-				}
-			}
-		};
-		asyncExec(runnable);		
-	}
-	
-	/**
-	 * Lazily instantiate and return a selection listener that updates the enabled
-	 * state of the selection oriented actions in this view.
-	 */
-	protected ISelectionChangedListener getDetailSelectionChangedListener() {
-		if (fDetailSelectionChangedListener == null) {
-			fDetailSelectionChangedListener = new ISelectionChangedListener() {
-				public void selectionChanged(SelectionChangedEvent event) {
-					if (event.getSelectionProvider().equals(getVariablesViewSelectionProvider().getUnderlyingSelectionProvider())) {
-						getVariablesViewSelectionProvider().fireSelectionChanged(event);
-						updateSelectionDependentActions();				
-					}
-				}
-			};
-		}
-		return fDetailSelectionChangedListener;
-	}
-	
-	/**
-	 * Lazily instantiate and return a document listener that updates the enabled state
-	 * of the 'Find/Replace' action.
-	 */
-	protected IDocumentListener getDetailDocumentListener() {
-		if (fDetailDocumentListener == null) {
-			fDetailDocumentListener = new IDocumentListener() {
-				public void documentAboutToBeChanged(DocumentEvent event) {
-				}
-				public void documentChanged(DocumentEvent event) {
-					updateAction(ActionFactory.FIND.getId());
-				}
-			};
-		}
-		return fDetailDocumentListener;
-	}
-	
-	/**
-	 * Lazily instantiate and return a Document for the detail pane text viewer.
-	 */
-	protected IDocument getDetailDocument() {
-		if (fDetailDocument == null) {
-			fDetailDocument = new Document();
-		}
-		return fDetailDocument;
-	}
-	
-	protected IDebugModelPresentation getModelPresentation() {
-		if (fModelPresentation == null) {
-			fModelPresentation = new VariablesViewModelPresentation();
-		}
-		return fModelPresentation;
-	}
-	
-	/**
-	 * Sets the viewer used to display value details.
-	 * 
-	 * @param viewer source viewer
-	 */
-	private void setDetailViewer(ISourceViewer viewer) {
-		fDetailViewer = viewer;
-	}
-	
-	/**
-	 * Returns the viewer used to display value details
-	 * 
-	 * @return source viewer
-	 */
-	protected ISourceViewer getDetailViewer() {
-		return fDetailViewer;
-	}
-	
-	protected SashForm getSashForm() {
-		return fSashForm;
-	}
-	
-	private void setSashForm(SashForm sashForm) {
-		fSashForm = sashForm;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getDetailViewer().getFindReplaceTarget();
-		}
-		if (ITextViewer.class.equals(required)) {
-			return getDetailViewer();
-		}
-		if (IDebugModelPresentation.class.equals(required)) {
-			return getModelPresentation();
-		}
-		return super.getAdapter(required);
-	}
-
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}
-
-	protected void updateAction(String actionId) {
-		IAction action= getAction(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}
-	
-	protected boolean isDetailPaneVisible() {
-		return !fToggleDetailPaneActions[2].isChecked();
-	}
-	
-	/**
-	 * Sets the identifier of the debug model being displayed
-	 * in this view, or <code>null</code> if none.
-	 * 
-	 * @param id debug model identifier of the type of debug
-	 *  elements being displayed in this view
-	 */
-	protected void setDebugModel(String id) {
-		if (id != fDebugModelIdentifier) {
-			fDebugModelIdentifier = id;
-			configureDetailsViewer();	
-		} else {
-			updateAction("ContentAssist"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns the identifier of the debug model being displayed
-	 * in this view, or <code>null</code> if none.
-	 * 
-	 * @return debug model identifier
-	 */
-	protected String getDebugModel() {
-		return fDebugModelIdentifier;
-	}	
-	
-	
-	/**
-	 * Sets the current configuration being used in the
-	 * details area.
-	 * 
-	 * @param config source viewer configuration
-	 */
-	private void setDetailViewerConfiguration(SourceViewerConfiguration config) {
-		fSourceViewerConfiguration = config;
-	}
-	
-	/**
-	 * Returns the current configuration being used in the
-	 * details area.
-	 * 
-	 * @return source viewer configuration
-	 */	
-	protected SourceViewerConfiguration getDetailViewerConfiguration() {
-		return fSourceViewerConfiguration;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#getDefaultControl()
-	 */
-	protected Control getDefaultControl() {
-		return getSashForm();
-	}	
-	
-	/**
-	 * @see IDebugExceptionHandler#handleException(DebugException)
-	 */
-	public void handleException(DebugException e) {
-		showMessage(e.getMessage());
-	}
-	
-	protected VariablesViewSelectionProvider getVariablesViewSelectionProvider() {
-		return fSelectionProvider;
-	}
-	/** 
-	 * The <code>VariablesView</code> listens for selection changes in the <code>LaunchView</code>
-	 *
-	 * @see ISelectionListener#selectionChanged(IWorkbenchPart, ISelection)
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-		if (!isAvailable() || !isVisible()) {
-			return;
-		}
-		
-		if (selection == null) {
-			setViewerInput(new StructuredSelection());
-		} else if (selection instanceof IStructuredSelection) {
-			setViewerInput((IStructuredSelection) selection);
-		} else {
-			getDetailViewer().setEditable(false);
-		}
-		updateAction("ContentAssist"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,
-	 * if any.
-	 *  
-	 * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		IAction action = getAction(DOUBLE_CLICK_ACTION);
-		if (action != null && action.isEnabled()) {
-			action.run();
-		} else {
-			ISelection selection= event.getSelection();
-			if (!(selection instanceof IStructuredSelection)) {
-				return;
-			}
-			IStructuredSelection ss= (IStructuredSelection)selection;
-			Object o= ss.getFirstElement();
-			
-			if (o != null) {
-				TreeViewer tViewer= (TreeViewer)getViewer();
-				boolean expanded= tViewer.getExpandedState(o);
-				tViewer.setExpandedState(o, !expanded);
-			}
-		}
-	}	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (getFocusViewer() == null) {
-			super.setFocus();
-		} else {
-			getFocusViewer().getControl().setFocus();
-		}
-	}
-	
-	/**
-	 * Sets the viewer that has focus.
-	 * 
-	 * @param viewer
-	 */
-	protected void setFocusViewer(Viewer viewer) {
-		fFocusViewer = viewer;
-	}
-	
-	/**
-	 * Returns the viewer that has focus, or <code>null</code>.
-	 * 
-	 * @return Viewer
-	 */
-	protected Viewer getFocusViewer() {
-		return fFocusViewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugView#getPresentation(String)
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		if (getViewer() instanceof StructuredViewer) {
-			IDebugModelPresentation lp = getModelPresentation();
-			if (lp instanceof DelegatingModelPresentation) {
-				return ((DelegatingModelPresentation)lp).getPresentation(id);
-			}
-			if (lp instanceof LazyModelPresentation) {
-				if (((LazyModelPresentation)lp).getDebugModelIdentifier().equals(id)) {
-					return lp;
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailSite#getDetailViewerParent()
-	 */
-	public Composite getDetailViewerParent() {
-		return getSashForm();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDetailSite#isMainViewerAvailable()
-	 */
-	public boolean isMainViewerAvailable() {
-		return isAvailable();
-	}
-	
-	/** 
-	 * Sets whether logical structures are being displayed
-	 */
-	public void setShowLogicalStructure(boolean flag) {
-		((VariablesViewContentProvider)getStructuredViewer().getContentProvider()).setShowLogicalStructure(flag);
-	}	
-	
-	/** 
-	 * Returns whether logical structures are being displayed 
-	 */
-	public boolean isShowLogicalStructure() {
-		return ((VariablesViewContentProvider)getStructuredViewer().getContentProvider()).isShowLogicalStructure();
-	}		
-
-	/**
-	 * Returns the number of entries that should be displayed in each
-	 * partition of an indexed collection.
-	 * 
-	 * @return the number of entries that should be displayed in each
-	 * partition of an indexed collection
-	 */
-	protected int getArrayPartitionSize() {
-		// TODO: this should be a view setting
-		return 100;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesHidden()
-	 */
-	protected void becomesHidden() {
-		setViewerInput(new StructuredSelection());
-		super.becomesHidden();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractDebugView#becomesVisible()
-	 */
-	protected void becomesVisible() {
-		super.becomesVisible();
-		IViewPart part = getSite().getPage().findView(IDebugUIConstants.ID_DEBUG_VIEW);
-		if (part != null) {
-			ISelection selection = getSite().getPage().getSelection(IDebugUIConstants.ID_DEBUG_VIEW);
-			selectionChanged(part, selection);
-		}
-	}
-
-	/**
-	 * Returns the memento of the expanded and selected items in the viewer.
-	 * 
-	 * @return the memento of the expanded and selected items in the viewer
-	 */
-	protected AbstractViewerState getViewerState() {
-		return new ViewerState(getVariablesViewer());
-	}
-	
-	/**
-	 * Returns this view's "cursor" listener to be installed on the view's
-	 * associated details viewer. This listener is listening to key and mouse button events.
-	 * It triggers the updating of the status line.
-	 * 
-	 * @return the listener
-	 */
-	private ICursorListener getCursorListener() {
-		if (fCursorListener == null) {
-			fCursorListener= new ICursorListener() {
-				
-				public void keyPressed(KeyEvent e) {
-					fStatusLineItem.setText(getCursorPosition());
-				}
-				
-				public void keyReleased(KeyEvent e) {
-				}
-				
-				public void mouseDoubleClick(MouseEvent e) {
-				}
-				
-				public void mouseDown(MouseEvent e) {
-				}
-				
-				public void mouseUp(MouseEvent e) {
-					fStatusLineItem.setText(getCursorPosition());
-				}
-			};
-		}
-		return fCursorListener;
-	}
-	
-	protected String getCursorPosition() {
-		
-		if (getDetailViewer() == null) {
-			return ""; //$NON-NLS-1$
-		}
-		
-		StyledText styledText= getDetailViewer().getTextWidget();
-		int caret= styledText.getCaretOffset();
-		IDocument document= getDetailViewer().getDocument();
-
-		if (document == null) {
-			return ""; //$NON-NLS-1$
-		}
-	
-		try {
-			
-			int line= document.getLineOfOffset(caret);
-
-			int lineOffset= document.getLineOffset(line);
-			int tabWidth= styledText.getTabs();
-			int column= 0;
-			for (int i= lineOffset; i < caret; i++)
-				if ('\t' == document.getChar(i)) {
-					column += tabWidth - (tabWidth == 0 ? 0 : column % tabWidth);
-				} else {
-					column++;
-				}
-					
-			fLineLabel.fValue= line + 1;
-			fColumnLabel.fValue= column + 1;
-			return MessageFormat.format(fPositionLabelPattern, fPositionLabelPatternArguments);
-			
-		} catch (BadLocationException x) {
-			return ""; //$NON-NLS-1$
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
deleted file mode 100644
index 82724d0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IIndexedValue;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.views.IDebugExceptionHandler;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Provide the contents for a variables viewer.
- */
-public class VariablesViewContentProvider implements ITreeContentProvider {
-	
-	/**
-	 * The view that owns this content provider.
-	 */
-	private IDebugView fDebugView;
-	
-	/**
-	 * A table that maps children to their parent element
-	 * such that this content provider can walk back up the
-	 * parent chain (since values do not know their
-	 * parent).
-	 * Map of <code>IVariable</code> (child) -> <code>IVariable</code> (parent).
-	 */
-	private HashMap fParentCache;
-	
-	/**
-	 * Handler for exceptions as content is retrieved
-	 */
-	private IDebugExceptionHandler fExceptionHandler = null;
-	
-	/**
-	 * Flag indicating whether contributed content providers should be used or not.
-	 */
-	private boolean fUseObjectBrowsers;
-	
-	/**
-	 * Constructs a new provider
-	 */
-	public VariablesViewContentProvider(IDebugView view) {
-		fParentCache = new HashMap(10);
-		setDebugView(view);
-	}
-
-	/**
-	 * Returns the <code>IVariable</code>s for the given <code>IDebugElement</code>.
-	 */
-	public Object[] getElements(Object parent) {
-		return getChildren(parent);
-	}
-
-	/**
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		Object[] children= null;
-		try {
-			if (parent instanceof IStackFrame) {
-				children = ((IStackFrame)parent).getVariables();
-			} else if (parent instanceof IVariable) {
-				IVariable variable = (IVariable)parent;
-				IValue value = variable.getValue();
-				children = getModelSpecificChildren(variable, value);
-			}
-			if (children != null) {
-				cache(parent, children);
-				return children;
-			}
-		} catch (DebugException de) {
-			if (getExceptionHandler() != null) {
-				getExceptionHandler().handleException(de);
-			} else {
-				DebugUIPlugin.log(de);
-			}
-		}
-		return new Object[0];
-	}
-	
-	protected IVariable[] getModelSpecificChildren(IDebugElement parent, IValue value) throws DebugException {
-		if (value== null) {
-			return new IVariable[0];
-		}
-		return getValueChildren(parent, value);
-	}
-	
-	/**
-	 * Returns children for the given value, creating array paritions if required
-	 * 
-	 * @param parent expression or variable containing the given value
-	 * @param value the value to retrieve children for
-	 * @return children for the given value, creating array paritions if required
-	 * @throws DebugException
-	 */
-	protected IVariable[] getValueChildren(IDebugElement parent, IValue value) throws DebugException {
-		if (value == null) {
-			return null;
-		}
-		IValue logicalValue = getLogicalValue(value);
-		if (logicalValue instanceof IIndexedValue) {
-			IIndexedValue indexedValue = (IIndexedValue)logicalValue;
-			int partitionSize = computeParitionSize(indexedValue);
-			if (partitionSize > 1) {
-				int offset = indexedValue.getInitialOffset();
-				int length = indexedValue.getSize();
-				int numPartitions = length / partitionSize;
-				int remainder = length % partitionSize; 
-				if (remainder > 0) {
-					numPartitions++;
-				}
-				IVariable[] partitions = new IVariable[numPartitions];
-				for (int i = 0; i < (numPartitions - 1); i++) {
-					partitions[i] = new IndexedVariablePartition(parent, indexedValue, offset, partitionSize);
-					offset = offset + partitionSize;
-				}
-				if (remainder == 0) {
-					remainder = partitionSize;
-				}
-				partitions[numPartitions - 1] = new IndexedVariablePartition(parent, indexedValue, offset, remainder);
-				return partitions;
-			}
-		}
-		return logicalValue.getVariables();
-	}
-	
-	/**
-	 * Returns the partition size to use for the given indexed value.
-	 * The partition size is computed by determining the number of levels
-	 * that an indexed collection must be nested in order to partition
-	 * the collection sub-collections of the preferred partition size.
-	 * 
-	 * @param value indexed value
-	 * @return size of paritions the value should be subdivided into
-	 */
-	private int computeParitionSize(IIndexedValue value) {
-		int partitionSize = 1;
-		try {
-			int length = value.getSize();
-			int partitionDepth = 0;
-			int preferredSize = getArrayPartitionSize();
-			int remainder = length % preferredSize;
-			length = length / preferredSize;
-			while (length > 0) {
-				if (remainder == 0 && length == 1) {
-					break; 
-				}
-				partitionDepth++;
-				remainder = length % preferredSize;
-				length = length / preferredSize;
-			}
-			for (int i = 0; i < partitionDepth; i++) {
-				partitionSize = partitionSize * preferredSize;
-			}
-		} catch (DebugException e) {
-		}
-		return partitionSize;
-	}
-
-	/**
-	 * Returns any logical value for the raw value.
-	 * 
-	 * @param value
-	 * @return
-	 */
-	private IValue getLogicalValue(IValue value) {
-		if (isShowLogicalStructure()) {
-			ILogicalStructureType[] types = DebugPlugin.getLogicalStructureTypes(value);
-			if (types.length > 0) {
-				IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
-				ILogicalStructureType type = null;
-				boolean exist = false;
-				for (int i = 0; i < types.length; i++) {
-					String key = VariablesView.LOGICAL_STRUCTURE_TYPE_PREFIX + types[i].getId();
-					int setting = store.getInt(key);
-					// 0 = never used, 1 = on, -1 = off
-					if (setting != 0) {
-						exist = true;
-						if (setting == 1) {
-							type = types[i];
-							break;
-						}
-					} else {
-						store.setValue(types[i].getId(), -1);
-					}
-				}
-				if (type == null && !exist) {
-					type = types[0];
-					// choose first by default
-					store.setValue(VariablesView.LOGICAL_STRUCTURE_TYPE_PREFIX + type.getId(), 1);
-				}
-				if (type != null) {
-					try {
-						return type.getLogicalStructure(value);
-					} catch (CoreException e) {
-						DebugUIPlugin.log(e);
-					}
-				}
-			}
-		}
-		return value;
-	}
-
-	/**
-	 * Caches the given elememts as children of the given
-	 * parent.
-	 * 
-	 * @param parent parent element
-	 * @param children children elements
-	 */
-	protected void cache(Object parent, Object[] children) {		
-		for (int i = 0; i < children.length; i++) {
-			Object child = children[i];
-			// avoid cycles in the cache, which can happen for
-			// recursive data structures
-			if (!fParentCache.containsKey(child)) {
-				fParentCache.put(child, parent);
-			}
-		}		
-	}
-	
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object item) {
-		return fParentCache.get(item);
-	}
-
-	/**
-	 * Unregisters this content provider from the debug plugin so that
-	 * this object can be garbage-collected.
-	 */
-	public void dispose() {
-		fParentCache= null;
-		setExceptionHandler(null);
-	}
-	
-	protected void clearCache() {
-		if (fParentCache != null) {
-			fParentCache.clear();
-		}
-	}
-	
-	/**
-	 * Remove the cached parent for the given children
-	 * 
-	 * @param children for which to remove cached parents
-	 */
-	public void removeCache(Object[] children) {
-		if (fParentCache == null) {
-			return;
-		}
-		for (int i = 0; i < children.length; i++) {
-			fParentCache.remove(children[i]);	
-		}
-	}
-	
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		try {
-			if (element instanceof IVariable) {
-				if (element instanceof IndexedVariablePartition) {
-					return true;
-				}
-				element = ((IVariable)element).getValue();
-			}
-			if (element instanceof IValue) {
-				return ((IValue)element).hasVariables();
-			}
-			if (element instanceof IStackFrame) {
-				return ((IStackFrame)element).hasVariables();
-			}
-		} catch (DebugException de) {
-			DebugUIPlugin.log(de);
-			return false;
-		}
-		return false;
-	}
-		
-	/**
-	 * @see IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		clearCache();
-	}
-	
-	/**
-	 * Return all cached decendants of the given parent.
-	 * 
-	 * @param parent the element whose decendants are to be calculated
-	 * @return list of decendants that have been cached for
-	 *  the given parent
-	 */
-	public List getCachedDecendants(Object parent) {
-		Iterator children = fParentCache.keySet().iterator();
-		List cachedChildren = new ArrayList(10);
-		while (children.hasNext()) {
-			Object child = children.next();
-			if (isCachedDecendant(child, parent)) {
-				cachedChildren.add(child);
-			}
-		}
-		return cachedChildren;
-	}
-	
-	/**
-	 * Returns whether the given child is a cached descendant
-	 * of the given parent.
-	 * 
-	 * @return whether the given child is a cached descendant
-	 * of the given parent
-	 */
-	protected boolean isCachedDecendant(Object child, Object parent) {
-		Object p = getParent(child);
-		while (p != null) {
-			if (p.equals(parent)) {
-				return true;
-			}
-			p = getParent(p);
-		}
-		return false;
-	}
-	
-	/**
-	 * Extract the debug model id from the specified <code>IDebugElement</code>
-	 * and return it.
-	 */
-	protected  String getDebugModelId(IDebugElement debugElement) {
-		return debugElement.getModelIdentifier();
-	}
-
-	/**
-	 * Sets an exception handler for this content provider.
-	 * 
-	 * @param handler debug exception handler or <code>null</code>
-	 */
-	protected void setExceptionHandler(IDebugExceptionHandler handler) {
-		fExceptionHandler = handler;
-	}
-	
-	/**
-	 * Returns the exception handler for this content provider.
-	 * 
-	 * @return debug exception handler or <code>null</code>
-	 */
-	protected IDebugExceptionHandler getExceptionHandler() {
-		return fExceptionHandler;
-	}	
-	
-	/** 
-	 * Show logical structure of values 
-	 */
-	public void setShowLogicalStructure(boolean flag) {
-		fUseObjectBrowsers = flag;
-	}
-	
-	public boolean isShowLogicalStructure() {
-		return fUseObjectBrowsers;
-	}
-	
-	private void setDebugView(IDebugView view) {
-		fDebugView = view;
-	}
-
-	protected IDebugView getDebugView() {
-		return fDebugView;
-	}
-	
-	/**
-	 * Returns the number of entries that should be displayed in each
-	 * partition of an indexed collection.
-	 * 
-	 * @return the number of entries that should be displayed in each
-	 * partition of an indexed collection
-	 */
-	protected int getArrayPartitionSize() {
-		if (getDebugView() == null) {
-			// TODO: should fix this with a user pref
-			return 100;
-		}
-		return ((VariablesView)getDebugView()).getArrayPartitionSize();
-	}
-	
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
deleted file mode 100644
index 5f6a831..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewEventHandler.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler;
-import org.eclipse.debug.ui.AbstractDebugView;
-
-/**
- * Updates the variables view
- */
-public class VariablesViewEventHandler extends AbstractDebugEventHandler {	
-	
-	/**
-	 * Constructs a new event handler on the given view
-	 * 
-	 * @param view variables view
-	 */
-	public VariablesViewEventHandler(AbstractDebugView view) {
-		super(view);
-	}
-	
-	/**
-	 * @see AbstractDebugEventHandler#handleDebugEvents(DebugEvent[])
-	 */
-	protected void doHandleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {	
-			DebugEvent event = events[i];
-			switch (event.getKind()) {
-				case DebugEvent.SUSPEND:
-						doHandleSuspendEvent(event);
-					break;
-				case DebugEvent.CHANGE:
-						doHandleChangeEvent(event);
-					break;
-				case DebugEvent.RESUME:
-						doHandleResumeEvent(event);
-					break;
-			}
-		}
-	}
-	
-	/**
-	 * @see AbstractDebugEventHandler#updateForDebugEvents(DebugEvent[])
-	 */
-	protected void updateForDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {	
-			DebugEvent event = events[i];
-			switch (event.getKind()) {
-				case DebugEvent.TERMINATE:
-					doHandleTerminateEvent(event);
-					break;
-			}
-		}
-	}	
-
-	/**
-	 * Clear cached variable expansion state
-	 */
-	protected void doHandleResumeEvent(DebugEvent event) {
-		if (!event.isStepStart() && !event.isEvaluation()) {
-			// clear variable expansion state
-			getVariablesView().clearExpandedVariables(event.getSource());
-		}
-	}
-
-	/**
-	 * Clear any cached variable expansion state for the
-	 * terminated thread/target. Also, remove the part listener if there are
-	 * no more active debug targets.
-	 */
-	protected void doHandleTerminateEvent(DebugEvent event) {
-		getVariablesView().clearExpandedVariables(event.getSource());
-	}
-	
-	/**
-	 * Process a SUSPEND event
-	 */
-	protected void doHandleSuspendEvent(DebugEvent event) {
-		if (event.getDetail() != DebugEvent.EVALUATION_IMPLICIT) {
-			// Don't refresh everytime an implicit evaluation finishes
-			if (event.getSource() instanceof ISuspendResume) {
-				if (!((ISuspendResume)event.getSource()).isSuspended()) {
-					// no longer suspended
-					return;
-				}
-			}
-			refresh();
-			getVariablesView().populateDetailPane();
-		}		
-	}
-	
-	/**
-	 * Process a CHANGE event
-	 */
-	protected void doHandleChangeEvent(DebugEvent event) {
-		if (event.getDetail() == DebugEvent.STATE) {
-			// only process variable state changes
-			if (event.getSource() instanceof IVariable) {
-				refresh(event.getSource());
-			}
-		} else {
-			if (!(event.getSource() instanceof IExpression)) {
-				refresh();
-			}
-		}	
-	}	
-
-	/**
-	 * Returns the view that event handler updates.
-	 */
-	protected VariablesView getVariablesView() {
-		return (VariablesView)getView();
-	}
-	
-	/**
-	 * Also update the details area.
-	 * 
-	 * @see org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler#viewBecomesVisible()
-	 */
-	protected void viewBecomesVisible() {
-		super.viewBecomesVisible();
-		getVariablesView().populateDetailPane();
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
deleted file mode 100644
index 130afc7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariablesViewMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private VariablesViewMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties
deleted file mode 100644
index dc87486..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
-
-VariablesView.&Copy_8=&Copy
-VariablesView.&Paste_14=&Paste
-VariablesView.<error_occurred_retrieving_value>_18=<error occurred retrieving value>
-VariablesView.Co&ntent_Assist_3=Co&ntent Assist
-VariablesView.Cu&t_11=Cu&t
-VariablesView.Error_1=Error
-VariablesView.Select_&All_5=Select &All
-VariablesView.Unable_to_configure_variable_details_area._2=Unable to configure variable details area.
-VariablesView.44=Details
-VariablesView.56={0} : {1}
-
-ToggleObjectBrowsersAction.1=Show Logical Structure
-VariablesView.41=Variables View Only
-ExpressionView.4=Expressions View Only
-
-IndexedVariablePartition.4=Value modification not supported for indexed partitions.
-
-AvailableLogicalStructuresAction.0=Select From Available Logical Structures
-AvailableLogicalStructuresAction.1=&Show As
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
deleted file mode 100644
index 5cfd93c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
- 
-import org.eclipse.debug.internal.ui.views.DebugViewInterimLabelProvider;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Variables viewer. As the user steps through code, this
- * we ensure that newly added varibles are visible.
- */
-public class VariablesViewer extends TreeViewer {
-
-	private Item fNewItem;
-	
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param parent
-	 */
-	public VariablesViewer(Composite parent) {
-		super(parent);
-	}
-
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param parent
-	 * @param style
-	 */
-	public VariablesViewer(Composite parent, int style) {
-		super(parent, style);
-	}
-
-	/**
-	 * Constructor for VariablesViewer.
-	 * @param tree
-	 */
-	public VariablesViewer(Tree tree) {
-		super(tree);
-	}
-	
-	/**
-	 * Refresh the view, and then do another pass to
-	 * update the foreground color for values that have changed
-	 * since the last refresh. Values that have not
-	 * changed are drawn with the default system foreground color.
-	 * If the viewer has no selection, ensure that new items
-	 * are visible.
-	 * 
-	 * @see Viewer#refresh()
-	 */
-	public void refresh() {
-		super.refresh();
-		
-		if (getSelection().isEmpty() && getNewItem() != null) {
-			if (!getNewItem().isDisposed()) {
-				//ensure that new items are visible
-				showItem(getNewItem());
-			}
-			setNewItem(null);
-		}
-	}
-	
-	/**
-	 * @see AbstractTreeViewer#newItem(Widget, int, int)
-	 */
-	protected Item newItem(Widget parent, int style, int index) {
-		if (index != -1) {
-			//ignore the dummy items
-			setNewItem(super.newItem(parent, style, index));
-			return getNewItem();
-		} 
-		return	super.newItem(parent, style, index);
-	}
-	
-	protected Item getNewItem() {
-		return fNewItem;
-	}
-
-	protected void setNewItem(Item newItem) {
-		fNewItem = newItem;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#setExpandedElements(Object[])
-	 */
-	public void setExpandedElements(Object[] elements) {
-		getControl().setRedraw(false);
-		super.setExpandedElements(elements);
-		getControl().setRedraw(true);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.AbstractTreeViewer#collapseAll()
-	 */
-	public void collapseAll() {
-		//see https://bugs.eclipse.org/bugs/show_bug.cgi?id=39449
-		if (getRoot() != null) {
-			super.collapseAll();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared in AbstractTreeViewer.
-	 */
-	protected void doUpdateItem(Item item, Object element) {
-		// update icon and label
-		ILabelProvider provider= (ILabelProvider) getLabelProvider();
-		String text= provider.getText(element);
-		if ("".equals(item.getText()) || !DebugViewInterimLabelProvider.PENDING_LABEL.equals(text)) { //$NON-NLS-1$
-			// If an element already has a label, don't set the label to
-			// the pending label. This avoids labels flashing when they're
-			// updated.
-			item.setText(text);
-		}
-		Image image = provider.getImage(element);
-		if (item.getImage() != image) {
-			item.setImage(image);
-		}
-		if (provider instanceof IColorProvider) {
-			IColorProvider cp = (IColorProvider) provider;
-			TreeItem treeItem = (TreeItem) item;
-			treeItem.setForeground(cp.getForeground(element));
-			treeItem.setBackground(cp.getBackground(element));
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
deleted file mode 100644
index 25e5d9f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/ViewerState.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.views.variables;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.views.AbstractViewerState;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Memento of the expanded and selected items in a variables viewer.
- * 
- * @since 2.1
- */
-public class ViewerState extends AbstractViewerState {
-
-	/**
-	 * Constructs a memento for the given viewer.
-	 */
-	public ViewerState(TreeViewer viewer) {
-		super(viewer);
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractViewerState#encodeElement(org.eclipse.swt.widgets.TreeItem)
-	 */
-	protected IPath encodeElement(TreeItem item) throws DebugException {
-		IVariable variable = (IVariable)item.getData();
-		IPath path = new Path(variable.getName());
-		TreeItem parent = item.getParentItem();
-		while (parent != null) {
-			variable = (IVariable)parent.getData();
-			path = new Path(variable.getName()).append(path);
-			parent = parent.getParentItem();
-		}
-		return path;
-	}
-
-	/**
-	 * @see org.eclipse.debug.internal.ui.views.AbstractViewerState#decodePath(org.eclipse.core.runtime.IPath, org.eclipse.jface.viewers.TreeViewer)
-	 */
-	protected Object decodePath(IPath path, TreeViewer viewer) throws DebugException {
-		ITreeContentProvider contentProvider = (ITreeContentProvider)viewer.getContentProvider();
-		String[] names = path.segments();
-		Object parent = viewer.getInput();
-		IVariable variable = null;
-		for (int i = 0; i < names.length; i++) {
-			variable = null;
-			Object[] children = contentProvider.getChildren(parent);
-			String name = names[i];
-			for (int j = 0; j < children.length; j++) {
-				IVariable var = (IVariable)children[j];
-				if (var.getName().equals(name)) {
-					variable = var;
-					break;
-				}
-			}
-			if (variable == null) {
-				return null;
-			} else {
-				parent = variable;
-			}
-		}
-		return variable;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
deleted file mode 100644
index e2ca72c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractDebugView.java
+++ /dev/null
@@ -1,990 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-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.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.Page;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Common function for views related to debugging. Clients implementing
- * views for a debugger should subclass this class. Common function 
- * includes:
- * <ul>
- * <li>Debug view adpater implementation - <code>IDebugView</code></li>
- * <li>Action registry - actions can be stored in this view
- * 		with a key. Actions that implement <code>IUpdate</code>
- *      are updated when <code>updateActions()</code> is
- *		called.</li>
- * <li>Hooks the context menu associated with this view's
- * 		underlying viewer and registers the menu with this
- * 		view's site, such that other plug-ins may contribute.</li>
- * <li>Hooks a key press listener, and invokes the
- * 		<code>REMOVE_ACTION</code> when the delete key 
- * 		is pressed.</li>
- * <li>Hooks a double-click listener, and invokes the
- * 		<code>DOUBLE_CLICK_ACTION</code> when the mouse 
- * 		is double-clicked.</li>
- * <li>Provides a mechanism for displaying an error message
- * 		in the view, via the <code>PageBookView</code> mechanism.
- * 		By default, a page book is created with a page showing
- * 		this view's viewer. A message page is also created
- * 		and shown when <code>showMessage(String)</code> is
- * 		called.</li>
- * </ul>
- * <p>
- * This class may be subclassed.
- * </p>
- * @since 2.0
- */
-
-public abstract class AbstractDebugView extends PageBookView implements IDebugView, IDoubleClickListener {
-	
-	/**
-	 * Underlying viewer that displays the contents of
-	 * this view.
-	 */
-	private Viewer fViewer = null;
-	
-	/**
-	 * This view's message page.
-	 */
-	private MessagePage fMessagePage = null;
-	
-	/**
-	 * Map of actions. Keys are strings, values
-	 * are <code>IAction</code>.
-	 */
-	private Map fActionMap = null;
-	
-	/**
-	 * Map of actions. Keys are strings, values
-	 * are <code>IAction</code>.
-	 */
-	private List fUpdateables = null;
-	
-	/**
-	 * The collection of menu managers that are
-	 * relevant for this view.
-	 */
-	private List fContextMenuManagers;
-	
-	/**
-	 * The memento that was used to persist the state of this view.
-	 * May be <code>null</code>.
-	 */
-	private IMemento fMemento;
-	
-	/**
-	 * Whether this view is currently visible.
-	 */
-	private boolean fIsVisible = false;
-	
-	/**
-	 * The part listener for this view, used to notify this view when it
-	 * becomes visible and hidden. Set to <code>null</code> when this view isn't
-	 * currently listening to part changes.
-	 */
-	private DebugViewPartListener fPartListener= null;
-	
-	/**
-	 * A message was requested to be displayed before the view was fully
-	 * created. The message is cached until it can be properly displayed.
-	 */
-	private String fEarlyMessage= null;
-
-	/**
-	 * Part listener that disables updating when the view is not visible and
-	 * reenables updating when the view appears.
-	 */
-	private class DebugViewPartListener implements IPartListener2 {
-		/**
-		 * 
-		 * @see org.eclipse.ui.IPartListener2#partVisible(IWorkbenchPartReference)
-		 */
-		public void partVisible(IWorkbenchPartReference ref) {
-			IWorkbenchPart part= ref.getPart(false);
-			if (part == AbstractDebugView.this) {
-				fIsVisible = true;
-				becomesVisible();
-			}
-		}
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partHidden(IWorkbenchPartReference)
-		 */
-		public void partHidden(IWorkbenchPartReference ref) {
-			IWorkbenchPart part= ref.getPart(false);
-			if (part == AbstractDebugView.this) {
-				fIsVisible = false;
-				becomesHidden();
-			}
-		}
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partActivated(IWorkbenchPartReference)
-		 */
-		public void partActivated(IWorkbenchPartReference ref) {
-		}
-
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(IWorkbenchPartReference)
-		 */
-		public void partBroughtToTop(IWorkbenchPartReference ref) {
-		}
-
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partClosed(IWorkbenchPartReference)
-		 */
-		public void partClosed(IWorkbenchPartReference ref) {
-		}
-
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partDeactivated(IWorkbenchPartReference)
-		 */
-		public void partDeactivated(IWorkbenchPartReference ref) {
-		}
-
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partOpened(IWorkbenchPartReference)
-		 */
-		public void partOpened(IWorkbenchPartReference ref) {
-		}
-		
-		/**
-		 * @see org.eclipse.ui.IPartListener2#partInputChanged(IWorkbenchPartReference)
-		 */
-		public void partInputChanged(IWorkbenchPartReference ref){
-		}
-
-	}	
-	
-	/**
-	 * Constructs a new debug view.
-	 */
-	public AbstractDebugView() {
-		fActionMap = new HashMap(5);
-		fUpdateables= new ArrayList(3);
-	}
-	
-	/**
-	 * Debug views implement the debug view adapter which
-	 * provides access to a view's underlying viewer and
-	 * debug model presentation for a specific debug model.
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 * @see IDebugView
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IDebugView.class) {
-			return this;
-		}
-		if (adapter == IDebugModelPresentation.class) {
-			StructuredViewer viewer = getStructuredViewer();
-			if (viewer != null) {
-				IBaseLabelProvider labelProvider = viewer.getLabelProvider();
-				if (labelProvider instanceof IDebugModelPresentation) {
-					return (IDebugModelPresentation)labelProvider;
-				}
-			}
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	/**
-	 * A page in this view's page book that contains this
-	 * view's viewer.
-	 */
-	class ViewerPage extends Page {
-		/**
-		 * @see IPage#createControl(Composite)
-		 */
-		public void createControl(Composite parent) {
-			Viewer viewer = createViewer(parent);
-			setViewer(viewer);			
-		}
-
-		/**
-		 * @see IPage#getControl()
-		 */
-		public Control getControl() {
-			return getDefaultControl();
-		}
-
-		/**
-		 * @see IPage#setFocus()
-		 */
-		public void setFocus() {
-			Viewer viewer= getViewer();
-			if (viewer != null) {
-				Control c = viewer.getControl();
-				if (!c.isFocusControl()) {
-					c.setFocus();
-				}
-			}
-		}
-
-}
-	
-	/**
-	 * 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)
-	 * @see AbstractDebugView#createPartControl(Composite)
-	 * @see AbstractDebugView#createActions()
-	 * @see AbstractDebugView#configureToolBar(IToolBarManager)
-	 * @see AbstractDebugView#getHelpContextId()
-	 * @see AbstractDebugView#fillContextMenu(IMenuManager)
-	 */
-	public void createPartControl(Composite parent) {
-		registerPartListener();
-		super.createPartControl(parent);
-		createActions();
-		initializeToolBar();
-		Viewer viewer = getViewer();
-		if (viewer != null) {
-			createContextMenu(viewer.getControl());
-		}
-		String helpId = getHelpContextId();
-		if (helpId != null) {
-			WorkbenchHelp.setHelp(parent, helpId);
-		}
-		if (viewer != null) {
-			getViewer().getControl().addKeyListener(new KeyAdapter() {
-				public void keyPressed(KeyEvent e) {
-					handleKeyPressed(e);
-				}
-			});
-			if (getViewer() instanceof StructuredViewer) {
-				((StructuredViewer)getViewer()).addDoubleClickListener(this);	
-			}
-		}
-		// create the message page
-		setMessagePage(new MessagePage());
-		getMessagePage().createControl(getPageBook());
-		initPage(getMessagePage());
-		
-		if (fEarlyMessage != null) { //bug 28127
-			showMessage(fEarlyMessage);
-			fEarlyMessage= null;
-		}
-	}	
-	
-	/**
-	 * The default page for a debug view is its viewer.
-	 * 
-	 * @see PageBookView#createDefaultPage(PageBook)
-	 */
-	protected IPage createDefaultPage(PageBook book) {
-		ViewerPage page = new ViewerPage();
-		page.createControl(book);
-		initPage(page);
-		return page;
-	}	
-
-	/**
-	 * Creates and returns this view's underlying viewer.
-	 * The viewer's control will automatically be hooked
-	 * to display a pop-up menu that other plug-ins may
-	 * contribute to. Subclasses must override this method.
-	 * 
-	 * @param parent the parent control
-	 */
-	protected abstract Viewer createViewer(Composite parent);
-	
-	/**
-	 * Creates this view's actions. Subclasses must
-	 * override this method, which is called after
-	 * <code>createViewer(Composite)</code>
-	 */
-	protected abstract void createActions();	
-	
-	/**
-	 * Returns this view's help context id, which is hooked
-	 * to this view on creation.
-	 * 
-	 * @return help context id
-	 */
-	protected abstract String getHelpContextId();
-	
-	/**
-	 * @see IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		saveAllCheckedActionStates();
-		deregisterPartListener();
-		if (getViewer() instanceof StructuredViewer) {
-			((StructuredViewer)getViewer()).removeDoubleClickListener(this);
-		}
-		setViewer(null);
-		fActionMap.clear();
-		super.dispose();
-	}
-	
-	/**
-	 * Saves the checked state for all actions contributed to the toolbar
-	 * manager that function as a toggleable action.  The states are saved in
-	 * the Debug UI plugin's preference store.
-	 * 
-	 * @since 2.1
-	 */
-	protected void saveAllCheckedActionStates() {
-		IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
-		IContributionItem[] items= tbm.getItems();
-		for (int i = 0; i < items.length; i++) {
-			IContributionItem iContributionItem = items[i];
-			if (iContributionItem instanceof ActionContributionItem) {
-				ActionContributionItem item= (ActionContributionItem)iContributionItem;
-				IAction action= item.getAction();
-				if (action.getStyle() == IAction.AS_CHECK_BOX && action.isEnabled()) {
-					saveCheckedActionState(action);					
-				}
-			}		
-		}		
-	}
-	
-	/**
-	 * Save the checked state of the specified action in the Debug UI plugin's
-	 * preference store.  The specified action is expected to be enabled and
-	 * support the style <code>IAction.AS_CHECK_BOX</code>.
-	 * 
-	 * @param action the enabled, toggleable action whose checked state will be
-	 * saved in preferences
-	 * @since 2.1
-	 */
-	protected void saveCheckedActionState(IAction action) {
-		String prefKey = generatePreferenceKey(action);
-		IPreferenceStore prefStore = getPreferenceStore();
-		prefStore.setValue(prefKey, action.isChecked());
-	}
-	
-	/**
-	 * Generate a String that can be used as a key into a preference store based
-	 * on the specified action.  The resulting String will be unique across
-	 * views.
-	 * 
-	 * @return a String suitable for use as a preference store key for the given
-	 * action
-	 * @since 2.1
-	 */
-	protected String generatePreferenceKey(IAction action) {
-		return getViewSite().getId() + '+' + action.getId();		
-	}
-	
-	/**
-	 * Convenience method to return the preference store for the Debug UI
-	 * plugin.
-	 * 
-	 * @return the preference store for the Debug UI plugin
-	 * @since 2.1
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/**
-	 * @see IDebugView#getViewer()
-	 */
-	public Viewer getViewer() {
-		return fViewer;
-	}
-	
-	/**
-	 * Returns this view's viewer as a structured viewer,
-	 * or <code>null</code> if none.
-	 * 
-	 * @return this view's viewer as a structured viewer
-	 * 	or <code>null</code>
-	 */
-	protected StructuredViewer getStructuredViewer() {
-		if (getViewer() instanceof StructuredViewer) {
-			return (StructuredViewer)getViewer();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns this view's viewer as a text viewer,
-	 * or <code>null</code> if none.
-	 * 
-	 * @return this view's viewer as a text viewer
-	 * 	or <code>null</code>
-	 */
-	protected TextViewer getTextViewer() {
-		if (getViewer() instanceof TextViewer) {
-			return (TextViewer)getViewer();
-		}
-		return null;
-	}	
-	
-	/**
-	 * @see IDebugView#getPresentation(String)
-	 */
-	public IDebugModelPresentation getPresentation(String id) {
-		if (getViewer() instanceof StructuredViewer) {
-			IBaseLabelProvider lp = ((StructuredViewer)getViewer()).getLabelProvider();
-			if (lp instanceof DelegatingModelPresentation) {
-				return ((DelegatingModelPresentation)lp).getPresentation(id);
-			}
-			if (lp instanceof LazyModelPresentation) {
-				if (((LazyModelPresentation)lp).getDebugModelIdentifier().equals(id)) {
-					return (IDebugModelPresentation)lp;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates a pop-up menu on the given control. The menu
-	 * is registered with this view's site, such that other
-	 * plug-ins may contribute to the menu. Subclasses should
-	 * call this method, specifying the menu control as the
-	 * control used in their viewer (for example, tree viewer).
-	 * Subclasses must implement the method
-	 * <code>#fillContextMenu(IMenuManager)</code> which will
-	 * be called each time the context menu is realized.
-	 * 
-	 * @param menuControl the control with which the pop-up
-	 *  menu will be associated with.
-	 */
-	protected void createContextMenu(Control menuControl) {
-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillContextMenu(mgr);
-			}
-		});
-		Menu menu= menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		if (getSite() != null) {
-			getSite().registerContextMenu(menuMgr, getViewer());
-		}
-		addContextMenuManager(menuMgr);
-	}
-	
-	/**
-	 * @see IDebugView#getContextMenuManager()
-	 * 
-	 * @deprecated @see AbstractDebugView.getContextMenuManagers()
-	 */
-	public IMenuManager getContextMenuManager() {
-		if (fContextMenuManagers != null) {
-			fContextMenuManagers.get(fContextMenuManagers.size() - 1);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the context menu managers relevant to this view.
-	 * 
-	 * @return the context menu managers relevant to this view
-	 * @since 2.1
-	 */
-	public List getContextMenuManagers() {
-		return fContextMenuManagers;
-	}
-	
-	/**
-	 * Subclasses must override this method to fill the context
-	 * menu each time it is realized.
-	 * 
-	 * @param menu the context menu
-	 */
-	protected abstract void fillContextMenu(IMenuManager menu);	
-	
-	/**
-	 * Configures this view's toolbar. Subclasses implement
-	 * <code>#configureToolBar(IToolBarManager)</code> to
-	 * contribute actions to the toolbar.
-	 * <p>
-	 * To properly initialize toggle actions that are contributed
-	 * to this view, state is restored for toggle actions that have
-	 * a persisted state in the Debug UI plugin's preferences.  As well, any
-	 * toggle actions that have an initial state of 'checked' are invoked. The
-	 * actions' states are restored and the actions are invoked in a runnable,
-	 * after the view is created.
-	 * </p>
-	 */
-	protected void initializeToolBar() {
-		final IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
-		configureToolBar(tbm);
-		getViewSite().getActionBars().updateActionBars();
-		
-		// This is done in a runnable to be run after this view's pane
-		// is created
-		Runnable r = new Runnable() {
-			public void run() {
-				if (!isAvailable()) {
-					return;
-				}
-				IContributionItem[] items = tbm.getItems();
-				if (items != null) {
-					for (int i = 0; i < items.length; i++) {
-						if (items[i] instanceof ActionContributionItem) {
-							IAction action = ((ActionContributionItem)items[i]).getAction();
-							if (action.getStyle() == IAction.AS_CHECK_BOX) {
-								initActionState(action);	
-								if (action.isChecked()) {
-									action.run();
-								}
-							}
-						}
-					}
-					setMemento(null);
-				}
-				updateObjects();
-			}
-		};
-		asyncExec(r);
-	}
-	
-	/**
-	 * Restores the persisted checked state of the specified action that was
-	 * stored in preferences. If the action is disabled, its persisted state
-	 * is not restored (because a disabled action cannot be run).
-	 * 
-	 * @param action the action whose checked state will be restored
-	 * @since 2.1
-	 */
-	protected void initActionState(IAction action) {
-		String id = action.getId();
-		if (id != null && action.isEnabled()) {
-			String prefKey = generatePreferenceKey(action);
-			boolean checked = getPreferenceStore().getBoolean(prefKey);
-			action.setChecked(checked);
-		}
-	}
-
-	/**
-	 * @see IViewPart#init(IViewSite, IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		//store the memento to be used when this view is created.
-		setMemento(memento);
-	}	 
-
-	/**
-	 * Sets the viewer for this view.
-	 * 
-	 * @param viewer viewer
-	 */
-	private void setViewer(Viewer viewer) {
-		fViewer = viewer;
-	}
-	
-	/**
-	 * Subclasses implement this menu to contribute actions
-	 * to the toolbar. This method is called after 
-	 * <code>createActions()</code>.
-	 * 
-	 * @param tbm the tool bar manager for this view's site
-	 * @see #createViewer(Composite)
-	 */
-	protected abstract void configureToolBar(IToolBarManager tbm);	
-	
-	/**
-	 * @see IDebugView#setAction(String, IAction)
-	 */
-	public void setAction(String actionID, IAction action) {
-		if (action == null) {
-			Object removedAction= fActionMap.remove(actionID);
-			fUpdateables.remove(removedAction);
-		} else {
-			fActionMap.put(actionID, action);
-			if (action instanceof IUpdate) {
-				fUpdateables.add(action);
-			}
-		}
-		if (actionID.equals(SELECT_ALL_ACTION)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
-			actionBars.setGlobalActionHandler(actionID, action);
-		} else if (actionID.equals(COPY_ACTION)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
-			actionBars.setGlobalActionHandler(actionID, action);
-		} else if (actionID.equals(CUT_ACTION)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
-			actionBars.setGlobalActionHandler(actionID, action);
-		} else if (actionID.equals(PASTE_ACTION)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
-			actionBars.setGlobalActionHandler(actionID, action);
-		} else if (actionID.equals(FIND_ACTION)) {
-			IActionBars actionBars = getViewSite().getActionBars();	
-			actionBars.setGlobalActionHandler(actionID, action);
-		}
-	}	
-	
-	/**
-	 * @see IDebugView#getAction(String)
-	 */
-	public IAction getAction(String actionID) {
-		return (IAction) fActionMap.get(actionID);
-	}
-	
-	/**
-	 * Updates all the registered updatables.
-	 */
-	public void updateObjects() {
-		Iterator actions = fUpdateables.iterator();
-		while (actions.hasNext()) {
-			((IUpdate)actions.next()).update();
-		}
-	}
-			
-	/**
-	 * Handles key events in viewer. Invokes
-	 * <ol> 
-	 * <li><code>REMOVE_ACTION</code> when the delete
-	 * key is pressed</li>
-	 */
-	protected void handleKeyPressed(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0) {
-			IAction action = getAction(REMOVE_ACTION);
-			if (action != null && action.isEnabled()) {
-				action.run();
-			}
-		}
-	}	
-	
-	/**
-	 * Delegate to the <code>DOUBLE_CLICK_ACTION</code>,
-	 * if any.
-	 *  
-	 * @see IDoubleClickListener#doubleClick(DoubleClickEvent)
-	 */
-	public void doubleClick(DoubleClickEvent event) {
-		IAction action = getAction(DOUBLE_CLICK_ACTION);
-		if (action != null && !event.getSelection().isEmpty() && action.isEnabled()) {
-			action.run();
-		}
-	}	
-	
-	/**
-	 * 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()) {
-			getControl().getDisplay().asyncExec(r);
-		}
-	}
-	
-	/**
-	 * Returns the control for this view, or <code>null</code> if none.
-	 * 
-	 * @return the control for this view, or <code>null</code> if none
-	 * @since 3.0
-	 */
-	protected Control getControl() {
-		return getViewer().getControl();
-	}
-	
-	/**
-	 * Registers the given runnable with the display
-	 * associated with this view's control, if any.
- 	 *
-	 * @see org.eclipse.swt.widgets.Display#syncExec(java.lang.Runnable)
-	 */
-	public void syncExec(Runnable r) {
-		if (isAvailable()) {
-			getControl().getDisplay().syncExec(r);
-		}
-	}	
-	
-	/**
-	 * Returns the memento that contains the persisted state of
-	 * the view.  May be <code>null</code>.
-	 */
-	protected IMemento getMemento() {
-		return fMemento;
-	}
-
-	/** 
-	 * Sets the memento that contains the persisted state of the 
-	 * view.
-	 */
-	protected void setMemento(IMemento memento) {
-		fMemento = memento;
-	}
-	
-	/**
-	 * Returns the specified view in this view's page
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id view identifier
-	 * @return view part
-	 */
-	protected IViewPart findView(String id) {
-		IWorkbenchPage page = getSite().getPage();
-		IViewPart view = null;
-		if (page != null) {
-			view = page.findView(id);
-		}
-		return view;	
-	}
-	
-	/**
-	 * @see PageBookView#isImportant(IWorkbenchPart)
-	 */
-	protected boolean isImportant(IWorkbenchPart part) {
-		return false;
-	}
-
-	/**
-	 * @see PageBookView#doCreatePage(IWorkbenchPart)
-	 */
-	protected PageRec doCreatePage(IWorkbenchPart part) {
-		return null;
-	}
-
-	/**
-	 * @see PageBookView#doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)
-	 */
-	protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
-	}
-
-	/**
-	 * @see PageBookView#getBootstrapPart()
-	 */
-	protected IWorkbenchPart getBootstrapPart() {
-		return null;
-	}
-
-	/**
-	 * Returns the default control for this view. By default,
-	 * this view's viewer's control is returned. Subclasses
-	 * should override if required - for example, if this
-	 * view has its viewer nested inside other controls.
-	 * 
-	 * @return this view's default control.
-	 */ 
-	protected Control getDefaultControl() {
-		Viewer viewer = getViewer();
-		if (viewer != null) {
-			return viewer.getControl();
-		} 
-		return null;
-	}
-	
-	/**
-	 * Sets this view's message page
-	 * 
-	 * @param page message page
-	 */
-	private void setMessagePage(MessagePage page) {
-		fMessagePage = page;
-	}
-	
-	/**
-	 * Returns this view's message page
-	 * 
-	 * @return message page
-	 */
-	protected MessagePage getMessagePage() {
-		return fMessagePage;
-	}	
-	
-	/**
-	 * Shows the given message in this view's message'
-	 * page. Makes the message page the visible page.
-	 * 
-	 * @param message the message to display
-	 */
-	public void showMessage(String message) {
-		if (getPageBook().isDisposed()) {
-			return;
-		}
-		if (getMessagePage() == null) {
-			//not fully created yet
-			fEarlyMessage= message;
-			return;
-		}
-		getMessagePage().setMessage(message);
-		getPageBook().showPage(getMessagePage().getControl());
-	}
-	
-	/**
-	 * Shows this view's viewer page.
-	 */
-	public void showViewer() {
-		if (getPageBook().isDisposed()) {
-			return;
-		}
-		getPageBook().showPage(getDefaultPage().getControl());
-	}
-	
-	/**
-	 * Returns whether this view's viewer is
-	 * currently available.
-	 * 
-	 * @return whether this view's viewer is
-	 * currently available
-	 */
-	public boolean isAvailable() {
-		return !(getViewer() == null || getViewer().getControl() == null || getViewer().getControl().isDisposed());
-	}	
-	/**
-	 * @see IDebugView#add(IUpdate)
-	 */
-	public void add(IUpdate updatable) {
-		if (!fUpdateables.contains(updatable)) {
-			fUpdateables.add(updatable);
-		}
-	}
-
-	/**
-	 * @see IDebugView#remove(IUpdate)
-	 */
-	public void remove(IUpdate updatable) {
-		fUpdateables.remove(updatable);
-	}
-	
-	/**
-	 * Adds a context menu manager that is relevant to this view.
-	 * @param contextMenuManager The contextMenuManager to add
-	 * 
-	 * @since 2.1
-	 */
-	public void addContextMenuManager(IMenuManager contextMenuManager) {
-		if (fContextMenuManagers == null) {
-			fContextMenuManagers= new ArrayList();
-		}
-		fContextMenuManagers.add(contextMenuManager);
-	}
-	
-	/**
-	 * Notification this view is now visible.
-	 * 
-	 * @since 2.1
-	 */
-	protected void becomesVisible() {
-	}
-	
-	/**
-	 * Notification this view is now hidden.
-	 * 
-	 * @since 2.1
-	 */
-	protected void becomesHidden() {
-	}
-	
-	/**
-	 * Returns whether this view is currently visible.
-	 * 
-	 * @return whether this view is currently visbile
-	 * @since 2.1
-	 */
-	public boolean isVisible() {
-		return fIsVisible;
-	}
-	
-	/**
-	 * Creates and registers a part listener with this event handler's page,
-	 * if one does not already exist.
-	 * 
-	 * @since 2.1
-	 */
-	protected void registerPartListener() {
-		if (fPartListener == null) {
-			fPartListener= new DebugViewPartListener();
-			getSite().getPage().addPartListener(fPartListener);
-		}
-	}
-
-	/**
-	 * Deregisters and disposes this event handler's part listener.
-	 * 
-	 * @since 2.1
-	 */
-	protected void deregisterPartListener() {
-		if (fPartListener != null) {
-			getSite().getPage().removePartListener(fPartListener);
-			fPartListener = null;
-		}
-	}	
-
-	/**
-	 * Returns a map of the current attribute settings in the model
-	 * presentation in this view associated with the given debug model.
-	 * 
-	 * @return a map of the current attribute settings in the model
-	 * presentation in this view associated with the given debug model
-	 * @since 3.0
-	 */
-	public Map getPresentationAttributes(String modelId) {
-		IDebugModelPresentation presentation = getPresentation(modelId);
-		if (presentation instanceof DelegatingModelPresentation) {
-			return ((DelegatingModelPresentation)presentation).getAttributeMap();
-		} else if (presentation instanceof LazyModelPresentation) {
-			return ((LazyModelPresentation)presentation).getAttributeMap();
-		}
-		return new HashMap();
-	}
-}	
-
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
deleted file mode 100644
index aef0aab..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTab.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
- 
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.SWTUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Common function for launch configuration tabs.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @see ILaunchConfigurationTab
- * @since 2.0
- */
-public abstract class AbstractLaunchConfigurationTab implements ILaunchConfigurationTab {
-	
-	/**
-	 * The control for this page, or <code>null</code>
-	 */
-	private Control fControl;
-
-	/**
-	 * The launch configuration dialog this tab is
-	 * contained in.
-	 */
-	private ILaunchConfigurationDialog fLaunchConfigurationDialog;
-	
-	/**
-	 * Current error message, or <code>null</code>
-	 */
-	private String fErrorMessage;
-	
-	/**
-	 * Current message, or <code>null</code>
-	 */
-	private String fMessage;
-	
-	/**
-	 * Whether this tab needs to apply changes. This attribute is initialized to
-	 * <code>true</code> to be backwards compatible. If clients want to take advantage
-	 * of such a feature, they should set the flag to false, and check it before
-	 * applying changes to the launch configuration working copy.
-	 * 
-	 * @since 2.1
-	 */
-	private boolean fDirty = true;	
-		
-	/**
-	 * Returns the dialog this tab is contained in, or
-	 * <code>null</code> if not yet set.
-	 * 
-	 * @return launch configuration dialog, or <code>null</code>
-	 */
-	protected ILaunchConfigurationDialog getLaunchConfigurationDialog() {
-		return fLaunchConfigurationDialog;
-	}	
-		
-	/**
-	 * Updates the buttons and message in this page's launch
-	 * configuration dialog.
-	 */
-	protected void updateLaunchConfigurationDialog() {
-		if (getLaunchConfigurationDialog() != null) {
-			//order is important here due to the call to 
-			//refresh the tab viewer in updateButtons()
-			//which ensures that the messages are up to date
-			getLaunchConfigurationDialog().updateButtons();
-			getLaunchConfigurationDialog().updateMessage();
-		}
-	}
-				
-	/**
-	 * @see ILaunchConfigurationTab#getControl()
-	 */
-	public Control getControl() {
-		return fControl;
-	}
-
-	/**
-	 * Sets the control to be displayed in this tab.
-	 * 
-	 * @param control the control for this tab
-	 */
-	protected void setControl(Control control) {
-		fControl = control;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		return fMessage;
-	}
-
-	/**
-	 * By default, do nothing.
-	 * 
-	 * @see ILaunchConfigurationTab#launched(ILaunch)
-	 * @deprecated
-	 */
-	public void launched(ILaunch launch) {
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setLaunchConfigurationDialog(ILaunchConfigurationDialog)
-	 */
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		fLaunchConfigurationDialog = dialog;
-	}
-	
-	/**
-	 * Sets this page's error message, possibly <code>null</code>.
-	 * 
-	 * @param errorMessage the error message or <code>null</code>
-	 */
-	protected void setErrorMessage(String errorMessage) {
-		fErrorMessage = errorMessage;
-	}
-
-	/**
-	 * Sets this page's message, possibly <code>null</code>.
-	 * 
-	 * @param message the message or <code>null</code>
-	 */
-	protected void setMessage(String message) {
-		fMessage = message;
-	}
-	
-	/**
-	 * Convenience method to return the launch manager.
-	 * 
-	 * @return the launch manager
-	 */
-	protected ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}	
-	
-	/**
-	 * By default, do nothing.
-	 * 
-	 * @see ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-	}
-	
-	/**
-	 * Returns the shell this tab is contained in, or <code>null</code>.
-	 * 
-	 * @return the shell this tab is contained in, or <code>null</code>
-	 */
-	protected Shell getShell() {
-		Control control = getControl();
-		if (control != null) {
-			return control.getShell();
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * 
-	 * @return a new push button
-	 */
-	protected Button createPushButton(Composite parent, String label, Image image) {
-		return SWTUtil.createPushButton(parent, label, image);	
-	}
-	
-	/**
-	 * Creates and returns a new radio button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * 
-	 * @return a new radio button
-	 */
-	protected Button createRadioButton(Composite parent, String label) {
-		return SWTUtil.createRadioButton(parent, label);	
-	}	
-	
-	/**
-	 * Creates and returns a new check button with the given
-	 * label.
-	 * 
-	 * @param parent the parent composite
-	 * @param label the button label
-	 * @return a new check button
-	 * @since 3.0
-	 */
-	protected Button createCheckButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.CHECK);
-		button.setText(label);
-		GridData data = new GridData();
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		SWTUtil.setButtonDimensionHint(button);
-		return button;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return true;
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		return true;
-	}
-
-	/**
-	 * Create some empty space.
-	 */
-	protected void createVerticalSpacer(Composite comp, int colSpan) {
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-		label.setFont(comp.getFont());
-	}	
-	
-	/**
-	 * Create a horizontal separator.
-	 * 
-	 * @param comp parent widget
-	 * @param colSpan number of columns to span
-	 * @since 3.0
-	 */
-	protected void createSeparator(Composite comp, int colSpan) {
-		Label label = new Label(comp, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-	}	
-		
-	/**
-	 * @see ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return null;
-	}
-
-	/**
-	 * Convenience method to set a boolean attribute of on a launch
-	 * configuration. If the value being set is the default, the attribute's
-	 * value is set to <code>null</code>.
-	 * 
-	 * @param attribute attribute identifier
-	 * @param configuration the configuration on which to set the attribute
-	 * @param value the value of the attribute
-	 * @param defaultValue the default value of the attribute
-	 * @since 2.1
-	 */
-	protected void setAttribute(String attribute, ILaunchConfigurationWorkingCopy configuration, boolean value, boolean defaultValue) {
-		if (value == defaultValue) {
-			configuration.setAttribute(attribute, (String)null);
-		} else {
-			configuration.setAttribute(attribute, value);
-		}
-	}
-
-
-
-	/**
-	 * Returns whether this tab is dirty. It is up to clients to set/reset and consult
-	 * this attribute as required. By default, a tab is initialized to dirty.
-	 * 
-	 * @return whether this tab is dirty
-	 * @since 2.1
-	 */
-	protected boolean isDirty() {
-		return fDirty;
-	}
-
-	/**
-	 * Returns whether this tab is dirty. It is up to clients to set/reset and consult
-	 * this attribute as required. By default, a tab is initialized to dirty.
-	 * 
-	 * @param dirty whether this tab is dirty
-	 * @since 2.1
-	 */
-	protected void setDirty(boolean dirty) {
-		fDirty = dirty;
-	}
-	
-	/**
-	 * This method was added to the <code>ILaunchConfigurationTab</code> interface
-	 * in the 3.0 release to allow tabs to distinguish between a tab being activated
-	 * and a tab group be initialized for the first time, from a selected launch
-	 * configuration. To maintain backwards compatible behavior, the default
-	 * implementation provided, calls this tab's <code>initializeFrom</code> method.
-	 * Tabs should override this method as required.
-	 * <p>
-	 * The launch tab framework was originially designed to take care of inter tab
-	 * communication by applying attributes from the active tab to the launch configuration
-	 * being edited, when a tab is exited, and by initializing a tab when activated.
-	 * The addition of the methods <code>activated</code> and <code>deactivated</code>
-	 * allow tabs to determine the appropriate course of action. 
-	 * </p>
-	 * 
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 * @since 3.0
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		initializeFrom(workingCopy);
-	}
-
-	/**
-	 * This method was added to the <code>ILaunchConfigurationTab</code> interface
-	 * in the 3.0 release to allow tabs to distinguish between a tab being deactivated
-	 * and saving its attributes to a launch configuration. To maintain backwards
-	 * compatible behavior, the default implementation provided, calls this tab's
-	 * <code>performApply</code> method. Tabs should override this method as required.
-	 * <p>
-	 * The launch tab framework was originially designed to take care of inter tab
-	 * communication by applying attributes from the active tab to the launch configuration
-	 * being edited, when a tab is exited, and by initializing a tab when activated.
-	 * The addition of the methods <code>activated</code> and <code>deactivated</code>
-	 * allow tabs to determine the appropriate course of action. 
-	 * </p>
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 * @since 3.0
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		performApply(workingCopy);
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
deleted file mode 100644
index 6d25a2e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/AbstractLaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-/**
- * Common function for launch configuration tab groups.
- * Generally, a launch configuration tab group will subclass
- * this class, and define a method to create and set the tabs
- * in that group.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @see ILaunchConfigurationTabGroup
- * @since 2.0
- */
-public abstract class AbstractLaunchConfigurationTabGroup implements ILaunchConfigurationTabGroup {
-	
-	/**
-	 * The tabs in this tab group, or <code>null</code> if not yet instantiated.
-	 */
-	protected ILaunchConfigurationTab[] fTabs = null;
-
-	/**
-	 * @see ILaunchConfigurationTabGroup#getTabs()
-	 */
-	public ILaunchConfigurationTab[] getTabs() {
-		return fTabs;
-	}
-	
-	/**
-	 * Sets the tabs in this group
-	 * 
-	 * @param tabs the tabs in this group
-	 */
-	protected void setTabs(ILaunchConfigurationTab[] tabs) {
-		fTabs = tabs;
-	}
-
-	/**
-	 * By default, dispose all the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#dispose()
-	 */
-	public void dispose() {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		if (tabs != null) {
-			for (int i = 0; i < tabs.length; i++) {
-				tabs[i].dispose();
-			}
-		}
-	}
-
-	/**
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].setDefaults(configuration);
-		}		
-	}
-
-	/** 
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].initializeFrom(configuration);
-		}		
-	}
-
-	/**
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].performApply(configuration);
-		}		
-	}
-
-	/**
-	 * By default, delegate to all of the tabs in this group.
-	 * 
-	 * @see ILaunchConfigurationTabGroup#launched(ILaunch)
-	 * @deprecated
-	 */
-	public void launched(ILaunch launch) {
-		ILaunchConfigurationTab[] tabs = getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			tabs[i].launched(launch);
-		}		
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
deleted file mode 100644
index 49af4f7..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
- 
-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.IContainer;
-import org.eclipse.core.resources.IFile;
-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.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-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.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Launch configuration tab used to specify the location a launch configuration
- * is stored in, whether it should appear in the favorites list, and perspective
- * switching behavior for an associated launch.
- * <p>
- * Clients may instantiate this class. This class is not intended to be subclassed.
- * </p>
- * @since 2.0
- */
-public class CommonTab extends AbstractLaunchConfigurationTab {
-		
-	// Local/shared UI widgets
-	private Label fLocalSharedLabel;
-	private Button fLocalRadioButton;
-	private Button fSharedRadioButton;
-	
-	// Shared location UI widgets
-	private Label fSharedLocationLabel;
-	private Text fSharedLocationText;
-	private Button fSharedLocationButton;
-	
-	protected Button fLaunchInBackgroundButton;
-	
-	/**
-	 * Check box list for specifying favorites
-	 */
-	private CheckboxTableViewer fFavoritesTable;
-			
-	/**
-	 * Modify listener that simply updates the owning launch configuration dialog.
-	 */
-	private ModifyListener fBasicModifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent evt) {
-				updateLaunchConfigurationDialog();
-			}
-	};
-	
-	/**
-	 * @see ILaunchConfigurationTab#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);
-		comp.setFont(font);
-
-		createVerticalSpacer(comp, 1);
-		
-		Composite radioComp = new Composite(comp, SWT.NONE);
-		GridLayout radioLayout = new GridLayout();
-		radioLayout.marginHeight = 0;
-		radioLayout.marginWidth = 0;
-		radioComp.setLayout(radioLayout);
-		
-		setLocalSharedLabel(new Label(radioComp, SWT.NONE));
-		getLocalSharedLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Type_of_launch_configuration__2")); //$NON-NLS-1$
-		getLocalSharedLabel().setFont(font);
-		
-		setLocalRadioButton(new Button(radioComp, SWT.RADIO));
-		getLocalRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.L&ocal_3")); //$NON-NLS-1$
-		getLocalRadioButton().setFont(font);
-		setSharedRadioButton(new Button(radioComp, SWT.RADIO));
-		getSharedRadioButton().setText(LaunchConfigurationsMessages.getString("CommonTab.S&hared_4")); //$NON-NLS-1$
-		getSharedRadioButton().setFont(font);
-		getSharedRadioButton().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSharedRadioButtonSelected();
-			}
-		});
-		
-		Composite locationComp = new Composite(comp, SWT.NONE);
-		GridLayout locationLayout = new GridLayout();
-		locationLayout.numColumns = 2;
-		locationLayout.marginHeight = 0;
-		locationLayout.marginWidth = 0;
-		locationComp.setLayout(locationLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		locationComp.setLayoutData(gd);
-		locationComp.setFont(font);
-		
-		setSharedLocationLabel(new Label(locationComp, SWT.NONE));
-		getSharedLocationLabel().setText(LaunchConfigurationsMessages.getString("CommonTab.Location_of_shared_confi&guration__5")); //$NON-NLS-1$
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		getSharedLocationLabel().setLayoutData(gd);
-		getSharedLocationLabel().setFont(font);
-		
-		setSharedLocationText(new Text(locationComp, SWT.SINGLE | SWT.BORDER));
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		getSharedLocationText().setLayoutData(gd);
-		getSharedLocationText().setFont(font);
-		getSharedLocationText().addModifyListener(fBasicModifyListener);
-		
-		setSharedLocationButton(createPushButton(locationComp, LaunchConfigurationsMessages.getString("CommonTab.&Browse_6"), null));	 //$NON-NLS-1$
-		getSharedLocationButton().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleSharedLocationButtonSelected();
-			}
-		});	
-
-		getLocalRadioButton().setSelection(true);
-		setSharedEnabled(false);
-
-		createVerticalSpacer(comp, 1);
-		
-		Composite favComp = new Composite(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		favComp.setLayoutData(gd);
-		GridLayout favLayout = new GridLayout();
-		favLayout.marginHeight = 0;
-		favLayout.marginWidth = 0;
-		favLayout.numColumns = 2;
-		favLayout.makeColumnsEqualWidth = true;
-		favComp.setLayout(favLayout);
-		favComp.setFont(font);
-		
-		Label favLabel = new Label(favComp, SWT.HORIZONTAL | SWT.LEFT);
-		favLabel.setText(LaunchConfigurationsMessages.getString("CommonTab.Display_in_favorites_menu__10")); //$NON-NLS-1$
-		gd = new GridData(GridData.BEGINNING);
-		gd.horizontalSpan = 2;
-		favLabel.setLayoutData(gd);
-		favLabel.setFont(font);
-		
-		fFavoritesTable = CheckboxTableViewer.newCheckList(favComp, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		Control table = fFavoritesTable.getControl();
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 1;
-		table.setLayoutData(gd);
-		table.setFont(font);
-		fFavoritesTable.setContentProvider(new FavoritesContentProvider());
-		fFavoritesTable.setLabelProvider(new FavoritesLabelProvider());
-		fFavoritesTable.addCheckStateListener(
-			new ICheckStateListener() {
-				/**
-				 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-				 */
-				public void checkStateChanged(CheckStateChangedEvent event) {
-					updateLaunchConfigurationDialog();
-				}
-			});
-		
-		createVerticalSpacer(comp, 1);
-		createLaunchInBackgroundComponent(comp);
-	}
-
-	/**
-	 * 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 createLaunchInBackgroundComponent(Composite parent) {
-		fLaunchInBackgroundButton = createCheckButton(parent, LaunchConfigurationsMessages.getString("CommonTab.10")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fLaunchInBackgroundButton.setLayoutData(data);
-		fLaunchInBackgroundButton.setFont(parent.getFont());
-		fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-
-	
-	private void setSharedLocationButton(Button sharedLocationButton) {
-		this.fSharedLocationButton = sharedLocationButton;
-	}
-
-	private Button getSharedLocationButton() {
-		return fSharedLocationButton;
-	}
-
-	private void setSharedLocationText(Text sharedLocationText) {
-		this.fSharedLocationText = sharedLocationText;
-	}
-
-	private Text getSharedLocationText() {
-		return fSharedLocationText;
-	}
-
-	private void setSharedLocationLabel(Label sharedLocationLabel) {
-		this.fSharedLocationLabel = sharedLocationLabel;
-	}
-
-	private Label getSharedLocationLabel() {
-		return fSharedLocationLabel;
-	}
-
-	private void setLocalSharedLabel(Label localSharedLabel) {
-		fLocalSharedLabel = localSharedLabel;
-	}
-
-	private Label getLocalSharedLabel() {
-		return fLocalSharedLabel;
-	}
-
- 	private void setLocalRadioButton(Button button) {
- 		fLocalRadioButton = button;
- 	}
- 	
- 	private Button getLocalRadioButton() {
- 		return fLocalRadioButton;
- 	} 	
- 	
- 	private void setSharedRadioButton(Button button) {
- 		fSharedRadioButton = button;
- 	}
- 	
- 	private Button getSharedRadioButton() {
- 		return fSharedRadioButton;
- 	} 	
-
-	private void handleSharedRadioButtonSelected() {
-		setSharedEnabled(isShared());
-		updateLaunchConfigurationDialog();
-	}
-	
-	private void setSharedEnabled(boolean enable) {
-		getSharedLocationLabel().setEnabled(enable);
-		getSharedLocationText().setEnabled(enable);
-		getSharedLocationButton().setEnabled(enable);
-	}
-	
-	private boolean isShared() {
-		return getSharedRadioButton().getSelection();
-	}
-	
-	private void handleSharedLocationButtonSelected() {
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(),
-																	   getWorkspaceRoot(),
-																	   false,
-																	   LaunchConfigurationsMessages.getString("CommonTab.Select_a_location_for_the_launch_configuration_13")); //$NON-NLS-1$
-		
-		String currentContainerString = getSharedLocationText().getText();
-		IContainer currentContainer = getContainer(currentContainerString);
-		if (currentContainer != null) {
-			IPath path = currentContainer.getFullPath();
-			dialog.setInitialSelections(new Object[] {path});
-		}
-		
-		dialog.showClosedProjects(false);
-		dialog.open();
-		Object[] results = dialog.getResult();		
-		if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
-			IPath path = (IPath)results[0];
-			String containerName = path.toOSString();
-			getSharedLocationText().setText(containerName);
-		}		
-	}
-	
-	private IContainer getContainer(String path) {
-		Path containerPath = new Path(path);
-		return (IContainer) getWorkspaceRoot().findMember(containerPath);
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {	
-		updateLocalSharedFromConfig(configuration);
-		updateSharedLocationFromConfig(configuration);
-		updateFavoritesFromConfig(configuration);
-		updateLaunchInBackground(configuration);
-	}
-	
-	protected void updateLaunchInBackground(ILaunchConfiguration configuration) { 
-		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
-	}
-	
-	/**
-	 * Returns whether the given configuration should be launched in the background.
-	 * 
-	 * @param configuration the configuration
-	 * @return whether the configuration is configured to launch in the background
-	 */
-	public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
-		boolean launchInBackground= true;
-		try {
-			launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(ce);
-		}
-		return launchInBackground;
-	}
-	
-	private void updateLocalSharedFromConfig(ILaunchConfiguration config) {
-		boolean isShared = !config.isLocal();
-		getSharedRadioButton().setSelection(isShared);
-		getLocalRadioButton().setSelection(!isShared);
-		setSharedEnabled(isShared);
-	}
-	
-	private void updateSharedLocationFromConfig(ILaunchConfiguration config) {
-		IFile file = config.getFile();
-		if (file != null) {
-			IContainer parent = file.getParent();
-			if (parent != null) {
-				String containerName = parent.getFullPath().toOSString();
-				getSharedLocationText().setText(containerName);
-			}
-		}
-	}
-		
-	private void updateFavoritesFromConfig(ILaunchConfiguration config) {
-		fFavoritesTable.setInput(config);
-		fFavoritesTable.setCheckedElements(new Object[]{});
-		try {
-			List groups = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, new ArrayList());
-			if (groups.isEmpty()) {
-				// check old attributes for backwards compatible
-				if (config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false)) {
-					groups.add(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-				}
-				if (config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false)) {
-					groups.add(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-				}
-			}
-			if (!groups.isEmpty()) {
-				List list = new ArrayList();
-				Iterator iterator = groups.iterator();
-				while (iterator.hasNext()) {
-					String id = (String)iterator.next();
-					LaunchGroupExtension extension = getLaunchConfigurationManager().getLaunchGroup(id);
-					list.add(extension);
-				}
-				fFavoritesTable.setCheckedElements(list.toArray());
-			}
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-	}
-
-	private void updateConfigFromLocalShared(ILaunchConfigurationWorkingCopy config) {
-		if (isShared()) {
-			String containerPathString = getSharedLocationText().getText();
-			IContainer container = getContainer(containerPathString);
-			config.setContainer(container);
-		} else {
-			config.setContainer(null);
-		}
-	}
-		
-	/**
-	 * Update the favorite settings.
-	 * 
-	 * NOTE: set to NULL instead of false for backwards compatibility
-	 *  when comparing if content is equal, since 'false' is default
-	 * 	and will be missing for older configs.
-	 */
-	private void updateConfigFromFavorites(ILaunchConfigurationWorkingCopy config) {
-		try {
-			Object[] checked = fFavoritesTable.getCheckedElements();
-			boolean debug = config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
-			boolean run = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
-			if (debug || run) {
-				// old attributes
-				List groups = new ArrayList();
-				int num = 0;
-				if (debug) {
-					groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
-					num++;
-				}
-				if (run) {
-					num++;
-					groups.add(getLaunchConfigurationManager().getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
-				}
-				// see if there are any changes
-				if (num == checked.length) {
-					boolean different = false;
-					for (int i = 0; i < checked.length; i++) {
-						if (!groups.contains(checked[i])) {
-							different = true;
-							break;
-						}
-					}
-					if (!different) {
-						return;
-					}
-				}
-			} 
-			// erase old attributes (if any)
-			config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String)null);
-			config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String)null);
-			// new attribute
-			List groups = null;
-			for (int i = 0; i < checked.length; i++) {
-				LaunchGroupExtension group = (LaunchGroupExtension)checked[i];
-				if (groups == null) {
-					groups = new ArrayList();
-				}
-				groups.add(group.getIdentifier());
-			}
-			config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}		
-	}	
-	
-	/**
-	 * Convenience method for getting the workspace root.
-	 */
-	private IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#isValid(ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		setMessage(null);
-		setErrorMessage(null);
-		
-		return validateLocalShared();		
-	}
-	
-	private boolean validateLocalShared() {
-		if (isShared()) {
-			String path = fSharedLocationText.getText().trim();
-			IContainer container = getContainer(path);
-			if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {
-				setErrorMessage(LaunchConfigurationsMessages.getString("CommonTab.Invalid_shared_configuration_location_14")); //$NON-NLS-1$
-				return false;
-			} else if (!container.getProject().isOpen()) {
-				setErrorMessage(LaunchConfigurationsMessages.getString("CommonTab.Cannot_save_launch_configuration_in_a_closed_project._1")); //$NON-NLS-1$
-				return false;				
-			}
-		}
-		
-		return true;		
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		config.setContainer(null);
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		updateConfigFromLocalShared(configuration);
-		updateConfigFromFavorites(configuration);
-		setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration, fLaunchInBackgroundButton.getSelection(), true);
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LaunchConfigurationsMessages.getString("CommonTab.&Common_15"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return validateLocalShared();
-	}
-
-	/**
-	 * @see ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugUITools.getImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB);
-	}
-
-	class FavoritesContentProvider implements IStructuredContentProvider {
-		/**
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
-			List possibleGroups = new ArrayList();
-			ILaunchConfiguration configuration = (ILaunchConfiguration)inputElement;
-			for (int i = 0; i < groups.length; i++) {
-				ILaunchGroup extension = groups[i];
-				LaunchHistory history = getLaunchConfigurationManager().getLaunchHistory(extension.getIdentifier());
-				if (history != null && history.accepts(configuration)) {
-					possibleGroups.add(extension);
-				} 
-			}
-			return possibleGroups.toArray();
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/**
-		 * @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) {
-		}
-
-	}
-	
-	class FavoritesLabelProvider implements ITableLabelProvider {
-		
-		private Map fImages = new HashMap();
-		
-		/**
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-		 */
-		public Image getColumnImage(Object element, int columnIndex) {
-			Image image = (Image)fImages.get(element);
-			if (image == null) {
-				ImageDescriptor descriptor = ((LaunchGroupExtension)element).getImageDescriptor();
-				if (descriptor != null) {
-					image = descriptor.createImage();
-					fImages.put(element, image);
-				}
-			}
-			return image;
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-		 */
-		public String getColumnText(Object element, int columnIndex) {
-			String label = ((LaunchGroupExtension)element).getLabel();
-			// strip out any '&' (accelerators)
-			int index = label.indexOf('&');
-			if (index == 0) {
-				label = label.substring(1);
-			} else if (index > 0 && index < (label.length() - 1)){
-				String first = label.substring(0, index);
-				String last = label.substring(index + 1);
-				label = first + last;
-			}
-			return label;
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void addListener(ILabelProviderListener listener) {
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-			Iterator images = fImages.values().iterator();
-			while (images.hasNext()) {
-				Image image = (Image)images.next();
-				image.dispose();
-			}
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-		 */
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
-
-		/**
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-		 */
-		public void removeListener(ILabelProviderListener listener) {
-		}
-		
-	}
-	
-	/**
-	 * Convenience accessor
-	 */
-	protected LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing when activated
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing when deactivated
-	}
-
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
deleted file mode 100644
index 6edeb96..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-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.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DefaultLabelProvider;
-import org.eclipse.debug.internal.ui.DelegatingModelPresentation;
-import org.eclipse.debug.internal.ui.LazyModelPresentation;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IConsole;
-
-/**
- * This class provides utilities for clients of the debug UI.
- * <p>
- * Images retrieved from this facility should not be disposed.
- * The images will be disposed when this plugin is shutdown.
- * </p>
- * <p>
- * This class is not intended to be subclassed or instantiated.
- * </p>
- */
-public class DebugUITools {
-	
-	/**
-	 * Returns the shared image managed under the given key, or <code>null</code>
-	 * if none.
-	 * <p>
-	 * Note that clients <b>MUST NOT</b> dispose the image returned by this method.
-	 * </p>
-	 * <p>
-	 * See <code>IDebugUIConstants</code> for available images.
-	 * </p>
-	 *
-	 * @param key the image key
-	 * @return the image, or <code>null</code> if none
-	 * @see IDebugUIConstants
-	 */
-	public static Image getImage(String key) {
-		return DebugPluginImages.getImage(key);
-	}
-	
-	/**
-	 * Returns the shared image descriptor managed under the given key, or
-	 * <code>null</code> if none.
-	 * <p>
-	 * See <code>IDebugUIConstants</code> for available image descriptors.
-	 * </p>
-	 *
-	 * @param key the image descriptor key
-	 * @return the image descriptor, or <code>null</code> if none
-	 * @see IDebugUIConstants
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return DebugPluginImages.getImageDescriptor(key);
-	}
-		
-	/**
-	 * Returns the default image descriptor for the given element
-	 * or <code>null</code> if none is defined.
-	 */
-	public static ImageDescriptor getDefaultImageDescriptor(Object element) {
-		String imageKey= getDefaultImageKey(element);
-		if (imageKey == null) {
-			return null;
-		}
-		return DebugPluginImages.getImageDescriptor(imageKey);
-	}
-	
-	private static String getDefaultImageKey(Object element) {
-		return ((DefaultLabelProvider)DebugUIPlugin.getDefaultLabelProvider()).getImageKey(element);
-	}
-	
-	/**
-	 * Returns the preference store for the debug UI plugin.
-	 *
-	 * @return preference store
-	 */
-	public static IPreferenceStore getPreferenceStore() {
-		return DebugUIPlugin.getDefault().getPreferenceStore();
-	}
-	
-	/**
-	 * Returns a new debug model presentation that delegates to
-	 * appropriate debug models.
-	 * <p>
-	 * It is the client's responsibility dispose the presentation.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 * @return a debug model presentation
-	 * @since 2.0
-	 */
-	public static IDebugModelPresentation newDebugModelPresentation() {
-		return new DelegatingModelPresentation();
-	}
-	
-	/**
-	 * Returns a new debug model presentation for specified
-	 * debug model, or <code>null</code> if a presentation does
-	 * not exist.
-	 * <p>
-	 * It is the client's responsibility dispose the presentation.
-	 * </p>
-	 * 
-	 * @param identifier debug model identifier
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 * @return a debug model presentation, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static IDebugModelPresentation newDebugModelPresentation(String identifier) {
-		IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.ID_DEBUG_MODEL_PRESENTATION);
-		if (point != null) {
-			IExtension[] extensions= point.getExtensions();
-			for (int i= 0; i < extensions.length; i++) {
-				IExtension extension= extensions[i];
-				IConfigurationElement[] configElements= extension.getConfigurationElements();
-				for (int j= 0; j < configElements.length; j++) {
-					IConfigurationElement elt= configElements[j];
-					String id= elt.getAttribute("id"); //$NON-NLS-1$
-					if (id != null && id.equals(identifier)) {
-						return new LazyModelPresentation(elt);
-					}
-				}
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the currently selected element in the 
-	 * debug view of the current workbench page,
-	 * or <code>null</code> if there is no current
-	 * debug context, or if not called from the UI
-	 * thread.
-	 * 
-	 * @return the currently selected debug context, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static IAdaptable getDebugContext() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow() ;
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IWorkbenchPart part = page.findView(IDebugUIConstants.ID_DEBUG_VIEW);
-				if (part != null) {
-					IDebugView view = (IDebugView)part.getAdapter(IDebugView.class);
-					if (view != null) {
-						Viewer viewer = view.getViewer();
-						if (viewer != null) {
-							ISelection s = viewer.getSelection();
-							if (s != null) {
-								if (s instanceof IStructuredSelection) {
-									IStructuredSelection ss = (IStructuredSelection)s;
-									if (ss.size() == 1) {
-										Object element = ss.getFirstElement();
-										if (element instanceof IAdaptable) {
-											return (IAdaptable)element;
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the currently selected resource in the active workbench window,
-	 * or <code>null</code> if none. If an editor is active, the resource adapater
-	 * assocaited with the editor is returned, if any.
-	 * 
-	 * @return selected resource or <code>null</code>
-	 * @since 3.0
-	 */
-	public static IResource getSelectedResource() {
-		return SelectedResourceManager.getDefault().getSelectedResource();
-	}
-			
-	/**
-	 * Returns the process associated with the current debug context.
-	 * If there is no debug context currently, the most recently
-	 * launched process is returned. If there is no current process
-	 * <code>null</code> is returned.
-	 * 
-	 * @return the current process, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static IProcess getCurrentProcess() {
-		IAdaptable context = getDebugContext();
-		if (context == null) {
-			ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches();
-			if (launches.length > 0) {
-				context = launches[launches.length - 1];
-			}
-		}
-		if (context instanceof IDebugElement) {
-			return ((IDebugElement)context).getDebugTarget().getProcess();
-		}
-		if (context instanceof IProcess) {
-			return (IProcess)context;
-		}
-		if (context instanceof ILaunch) {
-			ILaunch launch= (ILaunch)context;
-			IDebugTarget target= launch.getDebugTarget();
-			if (target != null) {
-				IProcess process = target.getProcess();
-				if (process != null) {
-					return process;
-				}
-			}
-			IProcess[] ps = launch.getProcesses();
-			if (ps.length > 0) {
-				return ps[ps.length - 1];
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
-	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
-	 * elements.
-	 * <p>
-	 * Before opening a new dialog, this method checks if there is an existing open
-	 * launch configuration dialog.  If there is, this dialog is used with the
-	 * specified selection.  If there is no existing dialog, a new one is created.
-	 * </p>
-	 * <p>
-	 * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
-	 * and the existing dialog keeps its original mode.
-	 * </p>
-	 * 
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param selection the initial selection for the dialog
-	 * @param mode the mode (run or debug) in which to open the launch configuration dialog.
-	 *  This should be one of the constants defined in <code>ILaunchManager</code>.
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @since 2.0
-	 * @deprecated use openLaunchConfigurationDialogOnGroup(Shell, IStructuredSelection, String)
-	 *  to specify the launch group that the dialog should be opened on. This method will open
-	 *  on the launch group with the specified mode and a <code>null</code> category 
-	 */
-	public static int openLaunchConfigurationDialog(Shell shell, IStructuredSelection selection, String mode) {
-		ILaunchGroup[] groups = getLaunchGroups();
-		for (int i = 0; i < groups.length; i++) {
-			ILaunchGroup group = groups[i];
-			if (group.getMode().equals(mode) && group.getCategory() == null) {
-				return openLaunchConfigurationDialogOnGroup(shell, selection, group.getIdentifier());
-			}
-		}
-		return Window.CANCEL;
-	}
-	
-	/**
-	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
-	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
-	 * elements.
-	 * <p>
-	 * Before opening a new dialog, this method checks if there is an existing open
-	 * launch configuration dialog.  If there is, this dialog is used with the
-	 * specified selection.  If there is no existing dialog, a new one is created.
-	 * </p>
-	 * <p>
-	 * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
-	 * and the existing dialog keeps its original mode.
-	 * </p>
-	 * 
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param selection the initial selection for the dialog
-	 * @param groupIdentifier the identifier of the launch group to display (corresponds to
-	 * the identifier of a launch group extension)
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @since 2.1
-	 */
-	public static int openLaunchConfigurationDialogOnGroup(Shell shell, IStructuredSelection selection, String groupIdentifier) {
-		return openLaunchConfigurationDialogOnGroup(shell, selection, groupIdentifier, null);
-	}
-	
-	/**
-	 * Open the launch configuration dialog with the specified initial selection.
-	 * The selection may be <code>null</code>, or contain any mix of 
-	 * <code>ILaunchConfiguration</code> or <code>ILaunchConfigurationType</code>
-	 * elements.
-	 * <p>
-	 * Before opening a new dialog, this method checks if there is an existing open
-	 * launch configuration dialog.  If there is, this dialog is used with the
-	 * specified selection.  If there is no existing dialog, a new one is created.
-	 * </p>
-	 * <p>
-	 * Note that if an existing dialog is reused, the <code>mode</code> argument is ignored
-	 * and the existing dialog keeps its original mode.
-	 * </p>
-	 * <p>
-	 * If a status is specified, a status handler is consulted to handle the
-	 * status. The status handler is passed the instance of the launch
-	 * configuration dialog that is opened. This gives the status handler an
-	 * opportunity to perform error handling/initialization as required.
-	 * </p>
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param selection the initial selection for the dialog
-	 * @param groupIdentifier the identifier of the launch group to display (corresponds to
-	 * the identifier of a launch group extension)
-	 * @param status the status to display in the dialog, or <code>null</code>
-	 * if none
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @see org.eclipse.debug.core.IStatusHandler
-	 * @since 2.1
-	 */
-	public static int openLaunchConfigurationDialogOnGroup(final Shell shell, final IStructuredSelection selection, final String groupIdentifier, final IStatus status) {
-		final int[] result = new int[1];
-		Runnable r = new Runnable() {
-			/**
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				LaunchConfigurationsDialog dialog = (LaunchConfigurationsDialog) LaunchConfigurationsDialog.getCurrentlyVisibleLaunchConfigurationDialog();
-				if (dialog != null) {
-					dialog.setInitialSelection(selection);
-					dialog.doInitialTreeSelection();
-					if (status != null) {
-						dialog.handleStatus(status); 
-					}
-					result[0] = Window.OK;
-				} else {
-					dialog = new LaunchConfigurationsDialog(shell, DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier));
-					dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION);
-					dialog.setInitialSelection(selection);
-					dialog.setInitialStatus(status);
-					result[0] = dialog.open();			
-				}
-			}
-		};
-		BusyIndicator.showWhile(DebugUIPlugin.getStandardDisplay(), r);
-		return result[0];
-	}
-		
-	/**
-	 * Open the launch configuration properties dialog on the specified launch
-	 * configuration.
-	 *
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param configuration the configuration to display
-	 * @param group identifier of the launch group the launch configuration
-	 * belongs to
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @since 2.1
-	 */
-	public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier) {
-		return openLaunchConfigurationPropertiesDialog(shell, configuration, groupIdentifier, null);
-	}
-	
-	/**
-	 * Open the launch configuration properties dialog on the specified launch
-	 * configuration.
-	 *
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param configuration the configuration to display
-	 * @param group identifier of the launch group the launch configuration
-	 * belongs to
-	 * @param status the status to display, or <code>null</code> if none
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @since 3.0
-	 */
-	public static int openLaunchConfigurationPropertiesDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, IStatus status) {
-		LaunchGroupExtension group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
-		if (group != null) {
-			LaunchConfigurationPropertiesDialog dialog = new LaunchConfigurationPropertiesDialog(shell, configuration, group);
-			dialog.setInitialStatus(status);
-			return dialog.open();
-		} 
-		
-		return Window.CANCEL;
-	}
-	
-	/**
-	 * Open the launch configuration dialog on the specified launch
-	 * configuration. The dialog displays the tabs for a single configuration
-	 * only (a tree of launch configuration is not displayed), and provides a
-	 * launch (run or debug) button.
-	 * <p>
-	 * If a status is specified, a status handler is consulted to handle the
-	 * status. The status handler is passed the instance of the launch
-	 * configuration dialog that is opened. This gives the status handler an
-	 * opportunity to perform error handling/initialization as required.
-	 * </p>
-	 * @param shell the parent shell for the launch configuration dialog
-	 * @param configuration the configuration to display
-	 * @param group identifier of the launch group the launch configuration
-	 * belongs to
-	 * @param status the status to display, or <code>null</code> if none 
-	 * @return the return code from opening the launch configuration dialog -
-	 *  one  of <code>Window.OK</code> or <code>Window.CANCEL</code>
-	 * @since 2.1
-	 */
-	public static int openLaunchConfigurationDialog(Shell shell, ILaunchConfiguration configuration, String groupIdentifier, IStatus status) {
-		LaunchGroupExtension group = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier);
-		if (group != null) {
-			LaunchConfigurationDialog dialog = new LaunchConfigurationDialog(shell, configuration, group);
-			dialog.setInitialStatus(status);
-			return dialog.open();
-		} 
-			
-		return Window.CANCEL;
-	}
-			
-	/**
-	 * Saves all dirty editors and builds the workspace according to current
-	 * preference settings, and returns whether a launch should proceed.
-	 * <p>
-	 * The following preferences effect whether dirty editors are saved,
-	 * and/or if the user is prompted to save dirty edtiors:<ul>
-	 * <li>PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * <li>PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * </ul>
-	 * The following preference effects whether a build is performed before
-	 * launching (if required):<ul>
-	 * <li>PREF_BUILD_BEFORE_LAUNCH</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @return whether a launch should proceed
-	 * @since 2.0
-	 */
-	public static boolean saveAndBuildBeforeLaunch() {
-		return DebugUIPlugin.saveAndBuild();
-	}
-	
-	/**
-	 * Saves all dirty editors according to current
-	 * preference settings, and returns whether a launch should proceed.
-	 * <p>
-	 * The following preferences effect whether dirty editors are saved,
-	 * and/or if the user is prompted to save dirty edtiors:<ul>
-	 * <li>PREF_NEVER_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * <li>PREF_PROMPT_SAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * <li>PREF_AUTOSAVE_DIRTY_EDITORS_BEFORE_LAUNCH</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @return whether a launch should proceed
-	 * @since 2.1
-	 */
-	public static boolean saveBeforeLaunch() {
-		return DebugUIPlugin.preLaunchSave();
-	}	
-	
-	/**
-	 * Saves and builds the workspace according to current preference settings, and
-	 * launches the given launch configuration in the specified mode.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode launch mode - run or debug
-	 * @since 2.1
-	 */
-	public static void launch(final ILaunchConfiguration configuration, final String mode) {
-		boolean launchInBackground= true;
-		try {
-			launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e);
-		}
-		if (launchInBackground) {
-			DebugUIPlugin.launchInBackground(configuration, mode);
-		} else {
-			DebugUIPlugin.launchInForeground(configuration, mode);
-		}
-	}
-	
-
-	
-	/**
-	 * Builds the workspace according to current preference settings, and launches
-	 * the given configuration in the specified mode, returning the resulting launch
-	 * object.
-	 * <p>
-	 * The following preference effects whether a build is performed before
-	 * launching (if required):<ul>
-	 * <li>PREF_BUILD_BEFORE_LAUNCH</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param mode the mode to launch in
-	 * @param monitor progress monitor
-	 * @return the resulting launch object
-	 * @throws CoreException if building or launching fails
-	 * @since 2.1
-	 */
-	public static ILaunch buildAndLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		return DebugUIPlugin.buildAndLaunch(configuration, mode, monitor);
-	}
-	
-	/**
-	 * Returns the perspective to switch to when a configuration of the given type
-	 * is launched in the given mode, or <code>null</code> if no switch should take
-	 * place.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode identifier
-	 * @return perspective identifier or <code>null</code>
-	 * @since 3.0
-	 */
-	public static String getLaunchPerspective(ILaunchConfigurationType type, String mode) {
-		return DebugUIPlugin.getDefault().getPerspectiveManager().getLaunchPerspective(type, mode);
-	}
-	
-	/**
-	 * Sets the perspective to switch to when a configuration of the given type
-	 * is launched in the given mode. <code>PERSPECTIVE_NONE</code> indicates no
-	 * perspective switch should take place. <code>PERSPECTIVE_DEFAULT</code> indicates
-	 * a default perspective switch should take place, as defined by the associated
-	 * launch tab group extension.
-	 * 
-	 * @param type launch configuration type
-	 * @param mode launch mode identifier
-	 * @param perspective identifier, <code>PERSPECTIVE_NONE</code>, or
-	 *   <code>PERSPECTIVE_DEFAULT</code>
-	 * @since 3.0
-	 */
-	public static void setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective) {
-		DebugUIPlugin.getDefault().getPerspectiveManager().setLaunchPerspective(type, mode, perspective);
-	}	
-		
-	/**
-	 * Returns whether the given launch configuraiton is private. Generally,
-	 * private launch configurations should not be displayed to the user. The
-	 * private status of a launch configuration is determined by the
-	 * <code>IDebugUIConstants.ATTR_PRIVATE</code> attribute.
-	 * 
-	 * @param configuration launch configuration
-	 * @return whether the given launch configuration is private
-	 * @since 3.0
-	 */
-	public static boolean isPrivate(ILaunchConfiguration configuration) {
-		return !LaunchConfigurationManager.isVisible(configuration);
-	}
-
-	/**
-	 * 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.0
-	 * @see org.eclipse.debug.core.model.IStepFilters
-	 */
-	public static void setUseStepFilters(boolean useStepFilters) {
-		DebugUIPlugin.getDefault().getStepFilterManager().setUseStepFilters(useStepFilters);
-	}
-		
-	/**
-	 * Returns whether step filters are applied to step commands.
-	 * 
-	 * @return whether step filters are applied to step commands
-	 * @since 3.0
-	 * @see org.eclipse.debug.core.model.IStepFilters
-	 */
-	public static boolean isUseStepFilters() {
-		return DebugUIPlugin.getDefault().getStepFilterManager().isUseStepFilters();
-	}
-		
-	/**
-	 * Returns the console associated with the given process, or 
-	 * <code>null</code> if none.
-	 * 
-	 * @param process a process
-	 * @return console associated with the given process, or 
-	 * <code>null</code> if none
-	 * @since 3.0
-	 */
-	public static IConsole getConsole(IProcess process) {
-		return DebugUIPlugin.getDefault().getConsoleDocumentManager().getConsole(process);
-	}
-	
-	/**
-	 * Returns the console associated with the given debug element, or 
-	 * <code>null</code> if none.
-	 * 
-	 * @param element a debug model element
-	 * @return console associated with the given element, or 
-	 * <code>null</code> if none
-	 * @since 3.0
-	 */
-	public static IConsole getConsole(IDebugElement element) {
-		IProcess process = element.getDebugTarget().getProcess();
-		if (process != null) {
-			return getConsole(process);
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns all registered launch group extensions.
-	 *  
-	 * @return all registered launch group extensions
-	 * @since 3.0
-	 */
-	public static ILaunchGroup[] getLaunchGroups() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroups();
-	}
-	
-	/**
-	 * Returns the launch group that the given launch configuration belongs
-	 * to, for the specified mode, or <code>null</code> if none.
-	 * 
-	 * @param configuration
-	 * @param mode
-	 * @return the launch group the given launch configuration belongs to, for
-	 * the specified mode, or <code>null</code> if none
-	 */
-	public static ILaunchGroup getLaunchGroup(ILaunchConfiguration configuration, String mode) {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(configuration, mode);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
deleted file mode 100644
index 016a0d3..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ /dev/null
@@ -1,687 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 Keith Seitz and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Keith Seitz (keiths@redhat.com) - initial implementation
- *     IBM Corporation - integration and code cleanup
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import java.text.MessageFormat;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.TreeMap;
-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.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.DialogSettingsHelper;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.MultipleInputDialog;
-import org.eclipse.debug.internal.ui.launchConfigurations.EnvironmentVariable;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-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.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Launch configuration tab for configuring the environment passed
- * into Runtime.exec(...) when a config is launched.
- * <p>
- * This class may be instantiated; this class is not intended
- * to be subclassed.
- * </p> 
- * @since 3.0
- */
-public class EnvironmentTab extends AbstractLaunchConfigurationTab {
-
-	protected TableViewer environmentTable;
-	protected String[] envTableColumnHeaders =
-	{
-		LaunchConfigurationsMessages.getString("EnvironmentTab.Variable_1"), //$NON-NLS-1$
-		LaunchConfigurationsMessages.getString("EnvironmentTab.Value_2"), //$NON-NLS-1$
-	};
-	protected ColumnLayoutData[] envTableColumnLayouts =
-	{
-		new ColumnWeightData(50),
-		new ColumnWeightData(50)
-	};
-	private static final String NAME_LABEL= LaunchConfigurationsMessages.getString("EnvironmentTab.8"); //$NON-NLS-1$
-	private static final String VALUE_LABEL= LaunchConfigurationsMessages.getString("EnvironmentTab.9"); //$NON-NLS-1$
-	protected static final String P_VARIABLE = "variable"; //$NON-NLS-1$
-	protected static final String P_VALUE = "value"; //$NON-NLS-1$
-	protected static String[] envTableColumnProperties =
-	{
-		P_VARIABLE,
-		P_VALUE
-	};
-	protected Button envAddButton;
-	protected Button envEditButton;
-	protected Button envRemoveButton;
-	protected Button appendEnvironment;
-	protected Button replaceEnvironment;
-	protected Button envSelectButton;
-	
-	/**
-	 * Content provider for the environment table
-	 */
-	protected class EnvironmentVariableContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			EnvironmentVariable[] elements = new EnvironmentVariable[0];
-			ILaunchConfiguration config = (ILaunchConfiguration) inputElement;
-			Map m;
-			try {
-				m = config.getAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-			} catch (CoreException e) {
-				DebugUIPlugin.log(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IStatus.ERROR, "Error reading configuration", e)); //$NON-NLS-1$
-				return elements;
-			}
-			if (m != null && !m.isEmpty()) {
-				elements = new EnvironmentVariable[m.size()];
-				String[] varNames = new String[m.size()];
-				m.keySet().toArray(varNames);
-				for (int i = 0; i < m.size(); i++) {
-					elements[i] = new EnvironmentVariable(varNames[i], (String) m.get(varNames[i]));
-				}
-			}
-			return elements;
-		}
-		public void dispose() {
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			if (newInput == null){
-				return;
-			}
-			if (viewer instanceof TableViewer){
-				TableViewer tableViewer= (TableViewer) viewer;
-				if (tableViewer.getTable().isDisposed()) {
-					return;
-				}
-				tableViewer.setSorter(new ViewerSorter() {
-					public int compare(Viewer iviewer, Object e1, Object e2) {
-						if (e1 == null) {
-							return -1;
-						} else if (e2 == null) {
-							return 1;
-						} else {
-							return ((EnvironmentVariable)e1).getName().compareToIgnoreCase(((EnvironmentVariable)e2).getName());
-						}
-					}
-				});
-			}
-		}
-	}
-	
-	/**
-	 * Label provider for the environment table
-	 */
-	public class EnvironmentVariableLabelProvider extends LabelProvider implements ITableLabelProvider {
-		public String getColumnText(Object element, int columnIndex) 	{
-			String result = null;
-			if (element != null) {
-				EnvironmentVariable var = (EnvironmentVariable) element;
-				switch (columnIndex) {
-					case 0: // variable
-						result = var.getName();
-						break;
-					case 1: // value
-						result = var.getValue();
-						break;
-				}
-			}
-			return result;
-		}
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		// Create main composite
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_ENVIRONMENT_TAB);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		
-		createEnvironmentTable(mainComposite);
-		createTableButtons(mainComposite);
-		createAppendReplace(mainComposite);
-		
-		Dialog.applyDialogFont(mainComposite);
-	}
-	
-	/**
-	 * Creates and configures the widgets which allow the user to
-	 * choose whether the specified environment should be appended
-	 * to the native environment or if it should completely replace it.
-	 * @param parent the composite in which the widgets should be created
-	 */
-	protected void createAppendReplace(Composite parent) {
-		Composite appendReplaceComposite= new Composite(parent, SWT.NONE);
-		GridData gridData= new GridData();
-		gridData.horizontalSpan= 2;
-		GridLayout layout= new GridLayout();
-		appendReplaceComposite.setLayoutData(gridData);
-		appendReplaceComposite.setLayout(layout);
-		appendReplaceComposite.setFont(parent.getFont());
-		
-		appendEnvironment= createRadioButton(appendReplaceComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.16")); //$NON-NLS-1$
-		appendEnvironment.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		replaceEnvironment= createRadioButton(appendReplaceComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.17")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Updates the enablement of the append/replace widgets. The
-	 * widgets should disable when there are no environment variables specified.
-	 */
-	protected void updateAppendReplace() {
-		boolean enable= environmentTable.getTable().getItemCount() > 0;
-		appendEnvironment.setEnabled(enable);
-		replaceEnvironment.setEnabled(enable);
-	}
-	
-	/**
-	 * Creates and configures the table that displayed the key/value
-	 * pairs that comprise the environment.
-	 * @param parent the composite in which the table should be created
-	 */
-	protected void createEnvironmentTable(Composite parent) {
-		Font font= parent.getFont();
-		// Create table composite
-		Composite tableComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_BOTH);
-		gridData.heightHint = 150;
-		tableComposite.setLayout(layout);
-		tableComposite.setLayoutData(gridData);
-		tableComposite.setFont(font);
-		// Create label
-		Label label = new Label(tableComposite, SWT.NONE);
-		label.setFont(font);
-		label.setText(LaunchConfigurationsMessages.getString("EnvironmentTab.Environment_variables_to_set__3")); //$NON-NLS-1$
-		// Create table
-		environmentTable = new TableViewer(tableComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		Table table = environmentTable.getTable();
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setFont(font);
-		gridData = new GridData(GridData.FILL_BOTH);
-		environmentTable.getControl().setLayoutData(gridData);
-		environmentTable.setContentProvider(new EnvironmentVariableContentProvider());
-		environmentTable.setLabelProvider(new EnvironmentVariableLabelProvider());
-		environmentTable.setColumnProperties(envTableColumnProperties);
-		environmentTable.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleTableSelectionChanged(event);
-			}
-		});
-		environmentTable.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!environmentTable.getSelection().isEmpty()) {
-					handleEnvEditButtonSelected();
-				}
-			}
-		});
-		// Create columns
-		for (int i = 0; i < envTableColumnHeaders.length; i++) {
-			tableLayout.addColumnData(envTableColumnLayouts[i]);
-			TableColumn tc = new TableColumn(table, SWT.NONE, i);
-			tc.setResizable(envTableColumnLayouts[i].resizable);
-			tc.setText(envTableColumnHeaders[i]);
-		}
-	}
-	
-	/**
-	 * Responds to a selection changed event in the environment table
-	 * @param event the selection change event
-	 */
-	protected void handleTableSelectionChanged(SelectionChangedEvent event) {
-		int size = ((IStructuredSelection)event.getSelection()).size();
-		envEditButton.setEnabled(size == 1);
-		envRemoveButton.setEnabled(size > 0);
-	}
-	
-	/**
-	 * Creates the add/edit/remove buttons for the environment table
-	 * @param parent the composite in which the buttons should be created
-	 */
-	protected void createTableButtons(Composite parent) {
-		// Create button composite
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		GridLayout glayout = new GridLayout();
-		glayout.marginHeight = 0;
-		glayout.marginWidth = 0;
-		glayout.numColumns = 1;
-		GridData gdata = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(glayout);
-		buttonComposite.setLayoutData(gdata);
-		buttonComposite.setFont(parent.getFont());
-
-		createVerticalSpacer(buttonComposite, 1);
-		// Create buttons
-		envAddButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.New_4"), null); //$NON-NLS-1$
-		envAddButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvAddButtonSelected();
-			}
-				});
-		envSelectButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.18"), null); //$NON-NLS-1$
-		envSelectButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvSelectButtonSelected();
-			}
-		});
-		envEditButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.Edit_5"), null); //$NON-NLS-1$
-		envEditButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvEditButtonSelected();
-			}
-		});
-		envEditButton.setEnabled(false);
-		envRemoveButton = createPushButton(buttonComposite, LaunchConfigurationsMessages.getString("EnvironmentTab.Remove_6"), null); //$NON-NLS-1$
-		envRemoveButton.addSelectionListener(new SelectionAdapter()
-		{
-			public void widgetSelected(SelectionEvent event) {
-				handleEnvRemoveButtonSelected();
-			}
-		});
-		envRemoveButton.setEnabled(false);
-	}
-	
-	/**
-	 * Adds a new environment variable to the table.
-	 */
-	protected void handleEnvAddButtonSelected() {
-		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.getString("EnvironmentTab.22")); //$NON-NLS-1$
-		dialog.addTextField(NAME_LABEL, null, false);
-		dialog.addVariablesField(VALUE_LABEL, null, true);
-		
-		if (dialog.open() != Window.OK) {
-			return;
-		}
-		
-		String name = dialog.getStringValue(NAME_LABEL);
-		String value = dialog.getStringValue(VALUE_LABEL);
-		
-		if (name != null && value != null && name.length() > 0 && value.length() >0) {
-			addVariable(new EnvironmentVariable(name.trim(), value.trim()));
-			updateAppendReplace();
-		}
-	}
-	
-	/**
-	 * Attempts to add the given variable. Returns whether the variable
-	 * was added or not (as when the user answers not to overwrite an
-	 * existing variable).
-	 * @param variable the variable to add
-	 * @return whether the variable was added
-	 */
-	protected boolean addVariable(EnvironmentVariable variable) {
-		String name= variable.getName();
-		TableItem[] items = environmentTable.getTable().getItems();
-		for (int i = 0; i < items.length; i++) {
-			EnvironmentVariable existingVariable = (EnvironmentVariable) items[i].getData();
-			if (existingVariable.getName().equals(name)) {
-				boolean overWrite= MessageDialog.openQuestion(getShell(), LaunchConfigurationsMessages.getString("EnvironmentTab.12"), MessageFormat.format(LaunchConfigurationsMessages.getString("EnvironmentTab.13"), new String[] {name})); //$NON-NLS-1$ //$NON-NLS-2$
-				if (!overWrite) {
-					return false;
-				}
-				environmentTable.remove(existingVariable);
-				break;
-			}
-		}
-		environmentTable.add(variable);
-		updateLaunchConfigurationDialog();
-		return true;
-	}
-	
-	/**
-	 * Displays a dialog that allows user to select native environment variables 
-	 * to add to the table.
-	 */
-	private void handleEnvSelectButtonSelected() {
-		//get Environment Variables from the OS
-		Map envVariables = getNativeEnvironment();
-		
-		//get Environment Variables from the table
-		TableItem[] items = environmentTable.getTable().getItems();
-		for (int i = 0; i < items.length; i++) {
-			EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
-			envVariables.remove(var.getName());
-		}
-		
-		ListSelectionDialog dialog = new NativeEnvironmentDialog(getShell(), envVariables, createSelectionDialogContentProvider(), createSelectionDialogLabelProvider(), LaunchConfigurationsMessages.getString("EnvironmentTab.19")); //$NON-NLS-1$
-		dialog.setTitle(LaunchConfigurationsMessages.getString("EnvironmentTab.20")); //$NON-NLS-1$
-		
-		int button = dialog.open();
-		if (button == Window.OK) {
-			Object[] selected = dialog.getResult();		
-			for (int i = 0; i < selected.length; i++) {
-				environmentTable.add(selected[i]);				
-			}
-		}
-		
-		updateAppendReplace();
-		updateLaunchConfigurationDialog();
-	}
-
-	/**
-	 * Creates a label provider for the native native environment variable selection dialog.
-	 * @return A label provider for the native native environment variable selection dialog.
-	 */
-	private ILabelProvider createSelectionDialogLabelProvider() {
-		return new ILabelProvider() {
-			public Image getImage(Object element) {
-				return null;
-			}
-			public String getText(Object element) {
-				EnvironmentVariable var = (EnvironmentVariable) element;
-				return var.getName() + " [" + var.getValue() + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			public void addListener(ILabelProviderListener listener) {
-			}
-			public void dispose() {
-			}
-			public boolean isLabelProperty(Object element, String property) {
-				return false;
-			}
-			public void removeListener(ILabelProviderListener listener) {
-			}				
-		};
-	}
-
-	/**
-	 * Creates a content provider for the native native environment variable selection dialog.
-	 * @return A content provider for the native native environment variable selection dialog.
-	 */
-	private IStructuredContentProvider createSelectionDialogContentProvider() {
-		return new IStructuredContentProvider() {
-			public Object[] getElements(Object inputElement) {
-				EnvironmentVariable[] elements = null;
-				if (inputElement instanceof HashMap) {
-					Comparator comparator = new Comparator() {
-						public int compare(Object o1, Object o2) {
-							String s1 = (String)o1;
-							String s2 = (String)o2;
-							return s1.compareTo(s2);
-						}
-					
-					};
-					TreeMap envVars = new TreeMap(comparator);
-					envVars.putAll((Map)inputElement);
-					elements = new EnvironmentVariable[envVars.size()];
-					int index = 0;
-					for (Iterator iterator = envVars.keySet().iterator(); iterator.hasNext(); index++) {
-						Object key = iterator.next();
-						elements[index] = (EnvironmentVariable) envVars.get(key);
-					}
-				}
-				return elements;
-			}
-			public void dispose() {	
-			}
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-		};
-	}
-
-	/**
-	 * Gets native environment variable from the LaunchManager. Creates EnvironmentVariable objects.
-	 * @return Map of name - EnvironmentVariable pairs based on native environment.
-	 */
-	private Map getNativeEnvironment() {
-		Map stringVars = DebugPlugin.getDefault().getLaunchManager().getNativeEnvironment();
-		HashMap vars = new HashMap();
-		for (Iterator i = stringVars.keySet().iterator(); i.hasNext(); ) {
-			String key = (String) i.next();
-			String value = (String) stringVars.get(key);
-			vars.put(key, new EnvironmentVariable(key, value));
-		}
-		return vars;
-	}
-
-	/**
-	 * Creates an editor for the value of the selected environment variable.
-	 */
-	private void handleEnvEditButtonSelected() {
-		IStructuredSelection sel= (IStructuredSelection) environmentTable.getSelection();
-		EnvironmentVariable var= (EnvironmentVariable) sel.getFirstElement();
-		if (var == null) {
-			return;
-		}
-		String originalName= var.getName();
-		String value= var.getValue();
-		MultipleInputDialog dialog= new MultipleInputDialog(getShell(), LaunchConfigurationsMessages.getString("EnvironmentTab.11")); //$NON-NLS-1$
-		dialog.addTextField(NAME_LABEL, originalName, false);
-		dialog.addVariablesField(VALUE_LABEL, value, true);
-		
-		if (dialog.open() != Window.OK) {
-			return;
-		}
-		String name= dialog.getStringValue(NAME_LABEL);
-		value= dialog.getStringValue(VALUE_LABEL);
-		if (!originalName.equals(name)) {
-			if (addVariable(new EnvironmentVariable(name, value))) {
-				environmentTable.remove(var);
-			}
-		} else {
-			var.setValue(value);
-			environmentTable.update(var, null);
-			updateLaunchConfigurationDialog();
-		}
-	}
-
-	/**
-	 * Removes the selected environment variable from the table.
-	 */
-	private void handleEnvRemoveButtonSelected() {
-		IStructuredSelection sel = (IStructuredSelection) environmentTable.getSelection();
-		environmentTable.getControl().setRedraw(false);
-		for (Iterator i = sel.iterator(); i.hasNext(); ) {
-			EnvironmentVariable var = (EnvironmentVariable) i.next();	
-		environmentTable.remove(var);
-		}
-		environmentTable.getControl().setRedraw(true);
-		updateAppendReplace();
-		updateLaunchConfigurationDialog();
-	}
-
-	/**
-	 * Updates the environment table for the given launch configuration
-	 * @param configuration
-	 */
-	protected void updateEnvironment(ILaunchConfiguration configuration) {
-		environmentTable.setInput(configuration);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		boolean append= true;
-		try {
-			append = configuration.getAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, true);
-		} catch (CoreException e) {
-			DebugUIPlugin.log(e.getStatus());
-		}
-		if (append) {
-			appendEnvironment.setSelection(true);
-		} else {
-			replaceEnvironment.setSelection(true);
-		}
-		updateEnvironment(configuration);
-		updateAppendReplace();
-	}
-
-	/**
-	 * Stores the environment in the given configuration
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {	
-		// Convert the table's items into a Map so that this can be saved in the
-		// configuration's attributes.
-		TableItem[] items = environmentTable.getTable().getItems();
-		Map map = new HashMap(items.length);
-		for (int i = 0; i < items.length; i++)
-		{
-			EnvironmentVariable var = (EnvironmentVariable) items[i].getData();
-			map.put(var.getName(), var.getValue());
-		} 
-		if (map.size() == 0) {
-			configuration.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, (Map) null);
-		} else {
-			configuration.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, map);
-		}
-		configuration.setAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, appendEnvironment.getSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return LaunchConfigurationsMessages.getString("EnvironmentTab.Environment_7"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugPluginImages.getImage(IDebugUIConstants.IMG_OBJS_ENVIRONMENT);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing when activated
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing when deactivated
-	}
-	
-	private class NativeEnvironmentDialog extends ListSelectionDialog {
-		public NativeEnvironmentDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message) {
-			super(parentShell, input, contentProvider, labelProvider, message);
-			setShellStyle(getShellStyle() | SWT.RESIZE);
-		}
-		
-		protected IDialogSettings getDialogSettings() {
-			IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
-			IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-			if (section == null) {
-				section = settings.addNewSection(getDialogSettingsSectionName());
-			} 
-			return section;
-		}
-		
-		/**
-		 * Returns the name of the section that this dialog stores its settings in
-		 * 
-		 * @return String
-		 */
-		protected String getDialogSettingsSectionName() {
-			return IDebugUIConstants.PLUGIN_ID + ".ENVIRONMENT_TAB.NATIVE_ENVIROMENT_DIALOG"; //$NON-NLS-1$
-		}
-
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-		 */
-		protected Point getInitialLocation(Point initialSize) {
-			Point initialLocation= DialogSettingsHelper.getInitialLocation(getDialogSettingsSectionName());
-			if (initialLocation != null) {
-				return initialLocation;
-			}
-			return super.getInitialLocation(initialSize);
-		}
-			
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.window.Window#getInitialSize()
-		 */
-		protected Point getInitialSize() {
-			Point size = super.getInitialSize();
-			return DialogSettingsHelper.getInitialSize(getDialogSettingsSectionName(), size);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.window.Window#close()
-		 */
-		public boolean close() {
-			DialogSettingsHelper.persistShellGeometry(getShell(), getDialogSettingsSectionName());
-			return super.close();
-		}
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
deleted file mode 100644
index c61e92b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugEditorPresentation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A debug model presentation may implement this interface to override
- * standard editor positioning and annotations associated with
- * source code display for stack frames.
- * 
- * @since 3.0
- */
-public interface IDebugEditorPresentation {
-	/**
-	 * Positions and adds annotations to the given editor for the specified
-	 * stack frame and returns whether any annotations were added. When
-	 * <code>true</code> is returned, a call will be made to remove anntations
-	 * when the source selection is cleared for the stack frame. When
-	 * <code>false</code> is returned, the debugger will position and add
-	 * standard annotations to the editor, and a corresponding call to remove
-	 * annotations will not be made. This method is called when the debugger is
-	 * has opened an editor to display source for the given stack frame. 
-	 * 
-	 * @param editorPart the editor the debugger has opened
-	 * @param frame the stack frame for which the debugger is displaying
-	 *  source
-	 */
-	public boolean addAnnotations(IEditorPart editorPart, IStackFrame frame);
-	
-	/**
-	 * Removes any debug related annotations from the given editor.
-	 * This method is called when the debugger clears the source selection
-	 * in an editor opened by the debugger. For example, when a debug
-	 * session is resumed or terminated.
-	 *   
-	 * @param editorPart an editor that annotations were added to for
-	 *  a stack frame
-	 * @param thread the thread for which stack frame annotations were
-	 *  added to the editor
-	 */
-	public void removeAnnotations(IEditorPart editorPart, IThread thread);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
deleted file mode 100644
index c9ab262..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugModelPresentation.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * A debug model presentation is responsible for providing labels, images,
- * and editors associated with debug elements in a specific debug model.
- * Extensions of type <code>org.eclipse.debug.ui.debugModelPresentations</code> implement
- * this interface. Generally, a debug model implementation will also provide a
- * debug model presentation extension to render and display its elements. A debug
- * model presentation is registered for a specific debug model, and is responsible
- * for the presentation elements defined/implemented by that model.
- * <p>
- * A debug model presentation extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a debug model presentation extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.debugModelPresentations"&gt;
- *   &lt;debugModelPresentation 
- *      id="com.example.debugModelIdentifier"
- *      class="com.example.ExamplePresentation"
- *      detailsViewerConfiguration="com.example.ExampleSourceViewerConfiguration"&gt;
- *   &lt;/debugModelPresentation&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies the identifier of the debug model this presentation
- *    is responsible for. Corresponds to the model identifier returned from a debug
- *	element - see <code>IDebugElement.getModelIndentifier</code></li>
- * <li><code>class</code> specifies the fully qualified name of the Java class
- *   that implements this interface.</li>
- * <li><code>detailsViewerConfiguration</code> optionally specifies the fully qualified name of the Java class
- *   that is an instance of <code>org.eclipse.jface.text.source.SourceViewerConfiguration</code>.
- *   When specified, the source viewer configuration will be used in the "details" area of the
- *   variables and expressions view when displaying the details of an element from the
- *   debug model associated with this debug model presentation. When unspecified,
- *   a default configuration is used.</li>
- * </ul>
- * </p>
- * <p>
- * To allow for an extensible configuration, this interface defines
- * a <code>setAttribute</code> method. The debug UI plug-in defines
- * one presentation attribute:
- * <ul>
- *  <li><code>DISPLAY_VARIABLE_TYPE_NAMES</code> - This is a boolean attribute 
- *     indicating whether variable elements should be rendered with the declared
- *     type of a variable. For example, a Java debug model presentation would render
- *     an integer as <code>"int x = 3"</code> when true, and <code>"x = 3"</code>
- *     when false.</li>
- * </ul>
- * </p>
- * <p>
- * Clients may define new presentation attributes. For example, a client may wish
- * to define a "hexadecimal" property to display numeric values in hexadecimal. Implementations
- * should honor the presentation attributes defined by this interface where possible,
- * but do not need to honor presentation attributes defined by other clients.
- * To access the debug model presentation for a debug view, clients should use
- * <code>IDebugView#getPresentation(String)</code>.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.model.IDebugElement
- * @see org.eclipse.jface.viewers.ILabelProvider
- * @see org.eclipse.debug.ui.IDebugView
- */
-
-public interface IDebugModelPresentation extends ILabelProvider, ISourcePresentation {
-	/** 
-	 * Variable type names presentation property (value <code>"org.eclipse.debug.ui.displayVariableTypeNames"</code>).
-	 * When <code>DISPLAY_VARIABLE_TYPE_NAMES</code> is set to <code>true</code>,
-	 * this label provider should include the reference type of a variable  when rendering
-	 * variables. When set to <code>false</code>, this label provider 
-	 * should not include the reference type of a variable when rendering
-	 * variables.
-	 * @see #setAttribute(String, Object)
-	 */
-	public final static String DISPLAY_VARIABLE_TYPE_NAMES= IDebugUIConstants.PLUGIN_ID + ".displayVariableTypeNames"; //$NON-NLS-1$
-	/**
-	 * Sets a presentation attribute of this label provider. For example,
-	 * see the presentation attribute <code>DISPLAY_VARIABLE_TYPE_NAMES</code>
-	 * defined by this interface.
-	 *
-	 * @param attribute the presentation attribute identifier
-	 * @param value the value of the attribute
-	 */
-	void setAttribute(String attribute, Object value);
-	/**
-	 * Returns an image for the element, or <code>null</code> if a default
-	 * image should be used.
-	 *
-	 * @param element the debug model element
-	 * @return an image for the element, or <code>null</code> if a default
-	 *    image should be used
-	 * @see ILabelProvider
-	 */
-	public Image getImage(Object element);
-	/**
-	 * Returns a label for the element, or <code>null</code> if a default
-	 * label should be used.
-	 *
-	 * @param element the debug model element
-	 * @return a label for the element, or <code>null</code> if a default
-	 *    label should be used
-	 * @see ILabelProvider
-	 */
-	public String getText(Object element);
-	
-	/**
-	 * Computes a detailed description of the given value, reporting
-	 * the result to the specified listener. This allows a presentation
-	 * to provide extra details about a selected value in the variable detail
-	 * portion of the variables view. Since this can be a long-running operation,
-	 * the details are reported back to the specified listener asynchronously.
-	 * If <code>null</code> is reported, the value's value string is displayed
-	 * (<code>IValue.getValueString()</code>).
-	 * 
-	 * @param value the value for which a detailed description
-	 * 	is required
-	 * @param listener the listener to report the details to
-	 * 	asynchronously
-	 * @since 2.0
-	 */
-	void computeDetail(IValue value, IValueDetailListener listener);	
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
deleted file mode 100644
index c052680..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java
+++ /dev/null
@@ -1,872 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     QNX Software Systems - Mikhail Khodjaiants - Registers View (Bug 53640)
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
- 
-/**
- * Constant definitions for debug UI plug-in.
- * <p>
- * Popup menus in the debug UI support action contribution via the
- * <code>org.eclipse.ui.popupMenus</code>  extension. Actions may be
- * contributed to any group on the menu. To facilitate insertion of actions
- * inbetween existing groups, empty groups have been defined
- * in the menu. Each group prefixed by "empty" indicates an empty group.
- * </p>
- * <h3>Debug View Popup Menu</h3>
- * <ul>
- *   <li>Empty edit group</li>
- *   <li>Edit group</li>
- *   <li>Copy stack action</li>
- *   <li>Empty step group</li>
- *   <li>Step group</li>
- *   <li>Step into group</li>
- *   <li>Step into action</li>
- * 	 <li>Step over group</li>
- *   <li>Step over action</li>
- *   <li>Step return group</li> 
- *   <li>Step return action</li>
- *   <li>Empty thread group</li>
- *   <li>Thread group</li>
- *   <li>Resume action</li>
- *   <li>Suspend action</li>
- *   <li>Terminate action</li>
- *   <li>Disconnect action</li>
- *   <li>Empty launch group</li>
- *   <li>Launch group</li>
- *   <li>Remove all terminated action</li>
- *   <li>Terminate and Remove action</li>
- *   <li>Relaunch action</li>
- *   <li>Terminate all action</li>
- *   <li>Empty render group</li>
- *   <li>Render group</li>
- *   <li>Property group</li>
- *   <li>Property dialog action</li>
- *   <li>Additions group</li>
- * </ul>
- * <h3>Variables View Popup Menus</h3>
- * <ul>
- *   <li>Empty variable group</li>
- *   <li>Variable group</li>
- *   <li>Select all action</li>
- *   <li>Copy to clipboard action</li>
- *   <li>Change value action</li>
- *   <li>Empty render group</li>
- *   <li>Render group</li>
- *   <li>Show type names action</li>
- *   <li>Additions group</li>
- * </ul>
- * <h3>Breakpoints View Popup Menu</h3>
- * <ul>
- *   <li>Empty Navigation group</li>
- *   <li>Navigation group</li>
- *   <li>Open action</li>
- *   <li>Empty Breakpoint goup</li>
- *   <li>Breakpoint group</li>
- *   <li>Enable action</li> 
- *   <li>Disable action</li>
- *   <li>Remove action</li>
- *   <li>Remove all action</li>
- *   <li>Empty render group</li>
- *   <li>Render group</li>
- * 	 <li>Show breakpoints for model action</li>
- *   <li>Additions group</li>
- * </ul>
- * <h3>Expressions View Popup Menu</h3>
- * <ul>
- *   <li>Empty Expression group</li>
- *   <li>Expression group</li>
- *   <li>Select all action</li>
- * 	 <li>Copy to clipboard action</li>	 
- *   <li>Remove action</li>
- *   <li>Remove all action</li>
- *   <li>Change variable value action</li>
- *   <li>Empty Render group</li>
- *   <li>Render group</li>
- * 	 <li>Show type names action</li>
- *   <li>Additions group</li>
- * </ul>
- * <p>
- * Constants only; not intended to be implemented or extended.
- * </p>
- */
-
-public interface IDebugUIConstants {
-	
-	/**
-	 * Debug UI plug-in identifier (value <code>"org.eclipse.debug.ui"</code>).
-	 */
-	public static final String PLUGIN_ID = DebugUIPlugin.getUniqueIdentifier();
-	
-	/**
-	 * Debug perspective identifier (value <code>"org.eclipse.debug.ui.DebugPerspective"</code>).
-	 */
-	public static final String ID_DEBUG_PERSPECTIVE = PLUGIN_ID + ".DebugPerspective"; //$NON-NLS-1$
-			
-	/**
-	 * Constant for referring to no perspective.
-	 */
-	public static final String PERSPECTIVE_NONE = "perspective_none"; //$NON-NLS-1$
-	
-	/**
-	 * Constant for referring to a default perspective.
-	 */
-	public static final String PERSPECTIVE_DEFAULT = "perspective_default"; //$NON-NLS-1$
-
-	// Preferences
-
-	/**
-	 * String preference that identifies the default 'switch to perspective id' when running a 
-	 * launch configuration.  This default is used if a particular launch configuration does not
-	 * override the 'switch to perspective when in run mode' attribute with something else.
-	 */
-	public static final String PREF_SHOW_RUN_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_run_perspective_default";  //$NON-NLS-1$
-	
-	/**
-	 * String preference that identifies the default 'switch to perspective id' when debugging a 
-	 * launch configuration.  This default is used if a particular launch configuration does not
-	 * override the 'switch to perspective when in debug mode' attribute with something else.
-	 */
-	public static final String PREF_SHOW_DEBUG_PERSPECTIVE_DEFAULT= PLUGIN_ID + ".show_debug_perspective_default";  //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether a build is done before
-	 * launching a program (if one is needed).
-	 */
-	public static final String PREF_BUILD_BEFORE_LAUNCH= PLUGIN_ID + ".build_before_launch"; //$NON-NLS-1$
-	/**
-	 * Boolean preference controlling automatic removal of terminated launches
-	 * when a new launch is registered.
-	 * @since 2.0
-	 */
-	public static final String PREF_AUTO_REMOVE_OLD_LAUNCHES= PLUGIN_ID + ".auto_remove_old_launches"; //$NON-NLS-1$
-
-	/**
-	 * Boolean preference controlling whether the debugger re-uses non-dirty editors
-	 * that it opens when displaying source. When <code>true</code> the debugger
-	 * re-uses the same editor when showing source for a selected stack frame (unless
-	 * the editor is dirty).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String PREF_REUSE_EDITOR = PLUGIN_ID + ".reuse_editor"; //$NON-NLS-1$
-	
-	/**
-	 * Integer preference that specifies the length of the Run & Debug launch history lists.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String PREF_MAX_HISTORY_SIZE = PLUGIN_ID + ".max_history_size"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether the debugger shows types names
-	 * in its variable view. When <code>true</code> the debugger
-	 * will display type names in new variable views.
-	 * 
-	 * @since 2.0
-	 * @deprecated no longer used
-	 */
-	public static final String PREF_SHOW_TYPE_NAMES = PLUGIN_ID + ".show_type_names"; //$NON-NLS-1$	
-	
-	/**
-	 * Boolean preference controlling whether the debugger shows the detail pane
-	 * in its variable view. When <code>true</code> the debugger
-	 * will show the detail panes in new variable views.
-	 * 
-	 * @since 2.0
-	 * @deprecated no longer used
-	 */
-	public static final String PREF_SHOW_DETAIL_PANE = PLUGIN_ID + ".show_detail_pane"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether the debugger will force activate the active
-	 * shell/window of the Eclipse workbench when a breakpoint is hit.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String PREF_ACTIVATE_WORKBENCH= PLUGIN_ID + ".activate_workbench"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference controlling whether breakpoints are
-	 * automatically skipped during a Run To Line operation.
-	 * If true, breakpoints will be skipped automatically
-	 * during Run To Line. If false, they will be hit.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE= PLUGIN_ID + ".skip_breakpoints_during_run_to_line"; //$NON-NLS-1$
-	
-	/**
-	 * String preference controlling in which perspectives view
-	 * management will occur. The value is a comma-separated list
-	 * of plug-in identifiers.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PREF_MANAGE_VIEW_PERSPECTIVES= PLUGIN_ID + ".manage_view_perspectives"; //$NON-NLS-1$
-	
-	/**
-	 * Debug view identifier (value <code>"org.eclipse.debug.ui.DebugView"</code>).
-	 */
-	public static final String ID_DEBUG_VIEW= "org.eclipse.debug.ui.DebugView"; //$NON-NLS-1$
-	
-	/**
-	 * Breakpoint view identifier (value <code>"org.eclipse.debug.ui.BreakpointView"</code>).
-	 */
-	public static final String ID_BREAKPOINT_VIEW= "org.eclipse.debug.ui.BreakpointView"; //$NON-NLS-1$
-	
-	/**
-	 * Variable view identifier (value <code>"org.eclipse.debug.ui.VariableView"</code>).
-	 */
-	public static final String ID_VARIABLE_VIEW= "org.eclipse.debug.ui.VariableView"; //$NON-NLS-1$
-	
-	/**
-	 * Expression view identifier (value <code>"org.eclipse.debug.ui.ExpressionView"</code>).
-	 * @since 2.0
-	 */
-	public static final String ID_EXPRESSION_VIEW= "org.eclipse.debug.ui.ExpressionView"; //$NON-NLS-1$
-		
-	/**
-	 * Register view identifier (value <code>"org.eclipse.debug.ui.RegisterView"</code>).
-	 * @since 3.0
-	 */
-	public static final String ID_REGISTER_VIEW= "org.eclipse.debug.ui.RegisterView"; //$NON-NLS-1$
-		
-	/**
-	 * Console view identifier (value <code>"org.eclipse.debug.ui.ConsoleView"</code>).
-	 * @deprecated Use org.eclipse.ui.console.IConsoleConstants.ID_CONSOLE_VIEW 
-	 * @since 3.0
-	 */
-	public static final String ID_CONSOLE_VIEW= "org.eclipse.debug.ui.ConsoleView"; //$NON-NLS-1$
-	
-	// Console stream identifiers
-	
-	/**
-	 * Identifier for the standard out stream.
-	 * 
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
-	 * @since 2.1
-	 */
-	public static final String ID_STANDARD_OUTPUT_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_OUTPUT_STREAM"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for the standard error stream.
-	 *
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
-	 * @since 2.1
-	 */	
-	public static final String ID_STANDARD_ERROR_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_ERROR_STREAM"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for the standard input stream.
-	 *
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(String)
-	 * @since 2.1
-	 */	
-	public static final String ID_STANDARD_INPUT_STREAM = IDebugUIConstants.PLUGIN_ID + ".ID_STANDARD_INPUT_STREAM"; //$NON-NLS-1$
-	
-	// Debug Action images
-	
-	/**
-	 * Debug action image identifier.
-	 */
-	public static final String IMG_ACT_DEBUG= "IMG_ACT_DEBUG"; //$NON-NLS-1$
-
-	/**
-	 * Run action image identifier.
-	 */
-	public static final String IMG_ACT_RUN= "IMG_ACT_RUN"; //$NON-NLS-1$
-
-	/** "Link with View" action image identifier. */
-	public static final String IMG_ACT_SYNCED= "IMG_ACT_SYNCED"; //$NON-NLS-1$
-	
-	/** "Skip Breakpoints" action image identifier */
-	public static final String IMG_SKIP_BREAKPOINTS= "IMG_SKIP_BREAKPOINTS"; //$NON-NLS-1$
-	
-	/** Clear action image identifier. 
-	 * @deprecated */
-	public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$
-	
-	/** Display variable type names action image identifier. */
-	public static final String IMG_LCL_TYPE_NAMES= "IMG_LCL_TYPE_NAMES"; //$NON-NLS-1$
-	
-	/** Toggle detail pane action image identifier.*/
-	public static final String IMG_LCL_DETAIL_PANE= "IMG_LCL_DETAIL_PANE"; //$NON-NLS-1$
-	
-	/** Change variable value action image identifier.*/
-	public static final String IMG_LCL_CHANGE_VARIABLE_VALUE= "IMG_LCL_CHANGE_VARIABLE_VALUE"; //$NON-NLS-1$
-		
-	/**
-	 * Disconnect action image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_LCL_DISCONNECT= "IMG_LCL_DISCONNECT"; //$NON-NLS-1$
-	
-	/**
-	 * Scroll lock action image identifier
-	 * 
-	 * @since 2.1
-	 */
-	public static final String IMG_LCL_LOCK = "IMG_LCL_LOCK"; //$NON-NLS-1$	
-	
-	/**
-	 * Remove all action image identifier
-	 * 
-	 * @since 2.1
-	 */
-	public static final String IMG_LCL_REMOVE_ALL = "IMG_LCL_REMOVE_ALL"; //$NON-NLS-1$	
-	
-	/**
-	 * Content assist action image identifier.
-	 */
-	public static final String IMG_LCL_CONTENT_ASSIST= "IMG_LCL_CONTENT_ASSIST"; //$NON-NLS-1$
-		
-	/**
-	 * Content assist action image identifier (enabled).
-	 */
-	public static final String IMG_ELCL_CONTENT_ASSIST= "IMG_ELCL_CONTENT_ASSIST"; //$NON-NLS-1$
-	
-	/**
-	 * Content assist action image identifier (disabled).
-	 */
-	public static final String IMG_DLCL_CONTENT_ASSIST= "IMG_DLCL_CONTENT_ASSIST"; //$NON-NLS-1$
-	
-	/**
-	 * Content assist action image identifier.
-	 */
-	public static final String IMG_LCL_DETAIL_PANE_UNDER= "IMG_LCL_DETAIL_PANE_UNDER"; //$NON-NLS-1$
-	
-	/**
-	 * Content assist action image identifier.
-	 */
-	public static final String IMG_LCL_DETAIL_PANE_RIGHT= "IMG_LCL_DETAIL_PANE_RIGHT"; //$NON-NLS-1$
-	
-	/**
-	 * Content assist action image identifier.
-	 */
-	public static final String IMG_LCL_DETAIL_PANE_HIDE= "IMG_LCL_DETAIL_PANE_HIDE"; //$NON-NLS-1$
-	
-	// Debug element images
-	
-	/** Debug mode launch image identifier. */
-	public static final String IMG_OBJS_LAUNCH_DEBUG= "IMG_OBJS_LAUNCH_DEBUG"; //$NON-NLS-1$
-	
-	/** Run mode launch image identifier. */
-	public static final String IMG_OBJS_LAUNCH_RUN= "IMG_OBJS_LAUNCH_RUN"; //$NON-NLS-1$
-	
-	/** Terminated run mode launch image identifier. */
-	public static final String IMG_OBJS_LAUNCH_RUN_TERMINATED= "IMG_OBJS_LAUNCH_RUN_TERMINATED"; //$NON-NLS-1$
-	
-	/** Running debug target image identifier. */
-	public static final String IMG_OBJS_DEBUG_TARGET= "IMG_OBJS_DEBUG_TARGET"; //$NON-NLS-1$
-	
-	/** Suspended debug target image identifier. */
-	public static final String IMG_OBJS_DEBUG_TARGET_SUSPENDED= "IMG_OBJS_DEBUG_TARGET_SUSPENDED"; //$NON-NLS-1$
-	
-	/** Terminated debug target image identifier. */
-	public static final String IMG_OBJS_DEBUG_TARGET_TERMINATED= "IMG_OBJS_DEBUG_TARGET_TERMINATED"; //$NON-NLS-1$
-	
-	/** Running thread image identifier. */
-	public static final String IMG_OBJS_THREAD_RUNNING= "IMG_OBJS_THREAD_RUNNING"; //$NON-NLS-1$
-	
-	/** Suspended thread image identifier. */
-	public static final String IMG_OBJS_THREAD_SUSPENDED= "IMG_OBJS_THREAD_SUSPENDED"; //$NON-NLS-1$
-	
-	/** Terminated thread image identifier. */
-	public static final String IMG_OBJS_THREAD_TERMINATED= "IMG_OBJS_THREAD_TERMINATED"; //$NON-NLS-1$
-	
-	/** Stack frame (suspended) image identifier. */
-	public static final String IMG_OBJS_STACKFRAME= "IMG_OBJS_STACKFRAME"; //$NON-NLS-1$
-	
-	/** Stack frame (running) image identifier. */
-	public static final String IMG_OBJS_STACKFRAME_RUNNING= "IMG_OBJS_STACKFRAME_RUNNING"; //$NON-NLS-1$
-	
-	/** Enabled breakpoint image identifier. */
-	public static final String IMG_OBJS_BREAKPOINT= "IMG_OBJS_BREAKPOINT"; //$NON-NLS-1$
-	
-	/** Disabled breakpoint image identifier. */
-	public static final String IMG_OBJS_BREAKPOINT_DISABLED= "IMG_OBJS_BREAKPOINT_DISABLED"; //$NON-NLS-1$
-		
-	/**
-	 * Enabled watchpoint image identifier.
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_WATCHPOINT= "IMG_OBJS_WATCHPOINT"; //$NON-NLS-1$
-	
-	/**
-	 * Disabled watchpoint image identifier.
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_WATCHPOINT_DISABLED= "IMG_OBJS_WATCHPOINT_DISABLED"; //$NON-NLS-1$
-	
-	/** Running system process image identifier. */
-	public static final String IMG_OBJS_OS_PROCESS= "IMG_OBJS_OS_PROCESS"; //$NON-NLS-1$
-	
-	/** Terminated system process image identifier. */
-	public static final String IMG_OBJS_OS_PROCESS_TERMINATED= "IMG_OBJS_OS_PROCESS_TERMINATED"; //$NON-NLS-1$
-		
-	/**
-	 * Expression image identifier.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_OBJS_EXPRESSION= "IMG_OBJS_EXPRESSION"; //$NON-NLS-1$
-	
-	/**
-	 * Generic variable image identifier.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_OBJS_VARIABLE= "IMG_OBJS_VARIABLE"; //$NON-NLS-1$
-
-	/**
-	 * Generic identifier of register group image.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_REGISTER_GROUP= "IMG_OBJS_REGISTER_GROUP"; //$NON-NLS-1$
-
-	/**
-	 * Generic register image identifier.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_REGISTER= "IMG_OBJS_REGISTER"; //$NON-NLS-1$
-
-	/**
-	 * Environment image identifier.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_ENVIRONMENT = "IMG_OBJS_ENVIRONMENT"; //$NON-NLS-1$
-	
-	/**
-	 * Environment variable image identifier.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String IMG_OBJS_ENV_VAR = "IMG_OBJS_ENV_VAR"; //$NON-NLS-1$	
-	
-	// views
-	
-	/** 
-	 * Launches view image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_VIEW_LAUNCHES= "IMG_VIEW_LAUNCHES"; //$NON-NLS-1$
-	
-	/** 
-	 * Breakpoints view image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_VIEW_BREAKPOINTS= "IMG_VIEW_BREAKPOINTS"; //$NON-NLS-1$	
-
-	/** 
-	 * Variables view image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_VIEW_VARIABLES= "IMG_VIEW_VARIABLES"; //$NON-NLS-1$
-	
-	/** 
-	 * Expressions view image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_VIEW_EXPRESSIONS= "IMG_VIEW_EXPRESSIONS"; //$NON-NLS-1$	
-
-	/** 
-	 * Console view image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$
-	
-	// perspective
-	/** 
-	 * Debug perspective image identifier
-	 * 
-	 * @since 2.0
-	 */
-	public static final String IMG_PERSPECTIVE_DEBUG= "IMG_PERSPECTIVE_DEBUG"; //$NON-NLS-1$			
-			
-	// wizard banners
-	/** Debug wizard banner image identifier. */
-	public static final String IMG_WIZBAN_DEBUG= "IMG_WIZBAN_DEBUG"; //$NON-NLS-1$
-	
-	/** Run wizard banner image identifier. */
-	public static final String IMG_WIZBAN_RUN= "IMG_WIZBAN_RUN"; //$NON-NLS-1$
-	
-	// overlays
-	/** Error overlay image identifier. */
-	public static final String IMG_OVR_ERROR = "IMG_OVR_ERROR";  //$NON-NLS-1$
-
-	/**
-	 * Debug action set identifier (value <code>"org.eclipse.debug.ui.debugActionSet"</code>).
-	 */
-	public static final String DEBUG_ACTION_SET= PLUGIN_ID + ".debugActionSet"; //$NON-NLS-1$
-	
-	/**
-	 * Launch action set identifier (value <code>"org.eclipse.debug.ui.LaunchActionSet"</code>).
-	 */
-	public static final String LAUNCH_ACTION_SET= PLUGIN_ID + ".launchActionSet"; //$NON-NLS-1$
-	
-	// extensions
-	/**
-	 * Identifier for the standard 'debug' launch group.
-	 * @since 2.1 
-	 */
-	public static final String ID_DEBUG_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.debug"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for the standard 'run' launch group.
-	 * @since 2.1 
-	 */
-	public static final String ID_RUN_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.run"; //$NON-NLS-1$	
-	
-	/**
-	 * Identifier for the standard 'profile' launch group.
-	 * @since 3.0 
-	 */
-	public static final String ID_PROFILE_LAUNCH_GROUP = PLUGIN_ID + ".launchGroup.profile"; //$NON-NLS-1$	
-	
-	// menus 
-	
-	/** 
-	 * Identifier for an empty group preceding an
-	 * edit group in a menu (value <code>"emptyEditGroup"</code>).
-	 */
-	public static final String EMPTY_EDIT_GROUP = "emptyEditGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an edit group in a menu (value <code>"editGroup"</code>).
-	 */
-	public static final String EDIT_GROUP = "editGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * step group in a menu (value <code>"emptyStepGroup"</code>).
-	 */
-	public static final String EMPTY_STEP_GROUP = "emptyStepGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a step group in a menu or toolbar (value <code>"stepGroup"</code>).
-	 */
-	public static final String STEP_GROUP = "stepGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a step into group in a menu or toolbar (value <code>"stepIntoGroup"</code>).
-	 */
-	public static final String STEP_INTO_GROUP = "stepIntoGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a step over group in a menu or toolbar (value <code>"stepOverGroup"</code>).
-	 */
-	public static final String STEP_OVER_GROUP = "stepOverGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a step return group in a menu or toolbar (value <code>"stepReturnGroup"</code>).
-	 */
-	public static final String STEP_RETURN_GROUP = "stepReturnGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * thread group in a menu (value <code>"emptyThreadGroup"</code>).
-	 */
-	public static final String EMPTY_THREAD_GROUP = "emptyThreadGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a thread group in a menu or toolbar(value <code>"threadGroup"</code>).
-	 */
-	public static final String THREAD_GROUP = "threadGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * launch group in a menu (value <code>"emptyLaunchGroup"</code>).
-	 */
-	public static final String EMPTY_LAUNCH_GROUP = "emptyLaunchGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a launch group in a menu (value <code>"launchGroup"</code>).
-	 */
-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an output group in a menu (value
-	 * <code>"outputGroup"</code>).
-	 */
-	public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$	
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * variable group in a menu (value <code>"emptyVariableGroup"</code>).
-	 */
-	public static final String EMPTY_VARIABLE_GROUP = "emptyVariableGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a variable group in a menu (value <code>"variableGroup"</code>).
-	 */
-	public static final String VARIABLE_GROUP = "variableGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * navigation group in a menu (value <code>"emptyNavigationGroup"</code>).
-	 */
-	public static final String EMPTY_NAVIGATION_GROUP = "emptyNavigationGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a navigation group in a menu (value <code>"navigationGroup"</code>).
-	 */
-	public static final String NAVIGATION_GROUP = "navigationGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * breakpoint group in a menu (value <code>"emptyBreakpointGroup"</code>).
-	 */
-	public static final String EMPTY_BREAKPOINT_GROUP = "emptyBreakpointGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a breakpoint group in a menu (value <code>"breakpointGroup"</code>).
-	 */
-	public static final String BREAKPOINT_GROUP = "breakpointGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding an
-	 * expression group in a menu (value <code>"emptyExpressionGroup"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EMPTY_EXPRESSION_GROUP = "emptyExpressionGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for an expression group in a menu (value <code>"expressionGroup"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXPRESSION_GROUP = "expressionGroup"; //$NON-NLS-1$
-	/** 
-	 * Identifier for an empty group preceding a
-	 * render group in a menu (value <code>"emptyRenderGroup"</code>).
-	 */
-	public static final String EMPTY_RENDER_GROUP = "emptyRenderGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a render group in a menu or toolbar(value <code>"renderGroup"</code>).
-	 */
-	public static final String RENDER_GROUP = "renderGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a property group in a menu (value <code>"propertyGroup"</code>).
-	 */
-	public static final String PROPERTY_GROUP = "propertyGroup"; //$NON-NLS-1$
-	
-	/** 
-	 * Identifier for an empty group preceding a
-	 * register group in a menu (value <code>"emptyRegisterGroup"</code>).
-	 */
-	public static final String EMPTY_REGISTER_GROUP = "emptyRegisterGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a register group in a menu (value <code>"registerGroup"</code>).
-	 */
-	public static final String REGISTER_GROUP = "registerGroup"; //$NON-NLS-1$
-	
-	/**
-	 * Id for the popup menu associated with the variables (tree viewer) part of the VariableView
-	 */
-	public static final String VARIABLE_VIEW_VARIABLE_ID = "org.eclipse.debug.ui.VariableView.variables"; //$NON-NLS-1$
-	
-	/**
-	 * Id for the popup menu associated with the detail (text viewer) part of the VariableView
-	 */
-	public static final String VARIABLE_VIEW_DETAIL_ID = "org.eclipse.debug.ui.VariableView.detail"; //$NON-NLS-1$
-	
-	// status codes
-	/**
-	 * Status indicating an invalid extension definition.
-	 */
-	public static final int STATUS_INVALID_EXTENSION_DEFINITION = 100;
-		
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	// launch configuration attribute keys
-	/**
-	 * Launch configuration attribute - the perspective to
-	 * switch to when a launch configuration is launched in
-	 * run mode (value <code>org.eclipse.debug.ui.target_run_perspective</code>).
-	 * Value is a string corresponding to a perspective identifier,
-	 * or <code>null</code> indicating no perspective change.
-	 * 
-	 * @since 2.0
-	 * @deprecated Since 3.0, this launch configuration attribute is no longer supported.
-	 *  Use <code>DebugUITools.setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective)</code>.
-	 */
-	public static final String ATTR_TARGET_RUN_PERSPECTIVE = PLUGIN_ID + ".target_run_perspective";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute - the perspective to
-	 * switch to when a launch configuration is launched in
-	 * debug mode (value <code>org.eclipse.debug.ui.target_debug_perspective</code>).
-	 * Value is a string corresponding to a perspective identifier,
-	 * or <code>null</code> indicating no perspective change.
-	 * 
-	 * @since 2.0
-	 * @deprecated Since 3.0, this launch configuration attribute is no longer supported.
-	 *  Use <code>DebugUITools.setLaunchPerspective(ILaunchConfigurationType type, String mode, String perspective)</code>.
-	 */
-	public static final String ATTR_TARGET_DEBUG_PERSPECTIVE = PLUGIN_ID + ".target_debug_perspective";		 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute - the container where the configuration file
-	 * is stored.  The container is set via the 'setContainer()' call on ILaunchConfigurationWorkingCopy.
-	 * This constant is only needed for persisting and reading the default value of the
-	 * container value for individual resources.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String ATTR_CONTAINER = PLUGIN_ID + ".container"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
-	 * is 'private'.  A private configuration is one that does not appear to the user in the launch
-	 * history or the launch configuration dialog.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String ATTR_PRIVATE = PLUGIN_ID + ".private"; //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
-	 * is displayed in the debug favorites menu. Default value is
-	 * <code>false</code> if absent.
-	 * 
-	 * @since 2.0
-	 * @deprecated use <code>ATTR_FAVORITE_GROUPS</code> instead
-	 */
-	public static final String ATTR_DEBUG_FAVORITE = PLUGIN_ID + ".debugFavorite"; //$NON-NLS-1$	
-	
-	/**
-	 * Launch configuration attribute - a boolean value that indicates if the launch configuration
-	 * is displayed in the run favorites menu.Default value is
-	 * <code>false</code> if absent.
-	 * 
-	 * @since 2.0
-	 * @deprecated use <code>ATTR_FAVORITE_GROUPS</code> instead
-	 */
-	public static final String ATTR_RUN_FAVORITE = PLUGIN_ID + ".runFavorite"; //$NON-NLS-1$		
-	
-	/**
-	 * Launch configuration attribute - a list of launch group identifiers
-	 * representing the favorite histories a launch configuration should appear
-	 * in. When <code>null</code>, the configuration does not appear in any
-	 * favorite lists.
-	 * 
-	 * @since 2.1
-	 */
-	public static final String ATTR_FAVORITE_GROUPS = PLUGIN_ID + ".favoriteGroups"; //$NON-NLS-1$
-		
-	/**
-	 * Launch configuration attribute - a boolean value indicating whether a
-	 * configuration should be launched in the background. Default value is <code>true</code>.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_LAUNCH_IN_BACKGROUND = PLUGIN_ID + ".ATTR_LAUNCH_IN_BACKGROUND"; //$NON-NLS-1$
-	
-	// Extension points
-	
-	/**
-	 * Debug model presentation simple extension point identifier (value <code>"debugModelPresentations"</code>).
-	 */
-	public static final String ID_DEBUG_MODEL_PRESENTATION= "debugModelPresentations"; //$NON-NLS-1$
-	
-	/**
-	 * Debug action groups extension point identifier
-	 * (value <code>"debugActionGroups"</code>).
-	 * 
-	 * @since 2.0
-	 * @deprecated The Debug Action Groups extension point no longer exists. Product
-	 *  vendors should use Activities instead. 
-	 */
-	public static final String EXTENSION_POINT_DEBUG_ACTION_GROUPS= "debugActionGroups";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch configuration tab groups extension point identifier
-	 * (value <code>"launchConfigurationTabGroups"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS= "launchConfigurationTabGroups";	 //$NON-NLS-1$	
-
-	/**
-	 * Launch shortcuts extension point identifier
-	 * (value <code>"launchShortcuts"</code>).
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_SHORTCUTS= "launchShortcuts";	 //$NON-NLS-1$
-	
-	/**
-	 * Extension point for launch configuration type images.
-	 * 
-	 * @since 2.0
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPE_IMAGES = "launchConfigurationTypeImages"; //$NON-NLS-1$	
-	
-	/**
-	 * Console document color provider extension point identifier
-	 * (value <code>"consoleColorProviders"</code>).
-	 * 
-	 * @since 2.1
-	 */
-	public static final String EXTENSION_POINT_CONSOLE_COLOR_PROVIDERS = "consoleColorProviders";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch groups extension point identifier (value
-	 * <code>"launchGroups"</code>).
-	 * 
-	 * @since 2.1
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_GROUPS = "launchGroups";	 //$NON-NLS-1$
-	
-	/**
-	 * Console line trackers extension point identifier (value
-	 * <code>"consoleLineTrackers"</code>).
-	 *
-	 * @since 2.1
-	 */
-	public static final String EXTENSION_POINT_CONSOLE_LINE_TRACKERS = "consoleLineTrackers";	 //$NON-NLS-1$		
-		
-	/**
-	 * Variables content providers extension point identifier (value
-	 * <code>"variablesContentProviders"</code>).
-	 *
-	 * @since 3.0
-	 */
-	public static final String EXTENSION_POINT_OBJECT_BROWSERS = "objectBrowsers";	 //$NON-NLS-1$
-	
-	/**
-	 * Launch variable components extension point identifier (value
-	 * <code>"launchVariableComponents"</code>). The launch variable
-	 * components extension point specifies an <code>IVariableComponent</code>
-	 * for an <code>IContextLaunchVariable</code>.
-	 */
-	public static final String EXTENSION_POINT_LAUNCH_VARIABLE_COMPONENTS = "launchVariableComponents";		//$NON-NLS-1$	
-		
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
deleted file mode 100644
index 123606a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugView.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Common function for debug views. Provides access to the underlying viewer and
- * debug model presentation being used by a viewer. This allows clients to do
- * such things as add and remove filters to a viewer, and configure a debug
- * model presentation.
- * <p>
- * Clients may implement this interface. Generally, clients should subclass
- * <code>AbstractDebugView</code> when creating a new debug view.
- * </p>
- * @see org.eclipse.core.runtime.IAdaptable
- * @see org.eclipse.debug.ui.IDebugModelPresentation
- * @see org.eclipse.debug.ui.AbstractDebugView
- * @since 2.0
- */
-
-public interface IDebugView extends IViewPart {
-	
-	/**
-	 * Action id for a view's copy action. Any view
-	 * with a copy action that should be invoked when
-	 * ctrl+c is pressed should store their
-	 * copy action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String COPY_ACTION = ActionFactory.COPY.getId();
-
-	/**
-	 * Action id for a view's cut action. Any view
-	 * with a cut action that should be invoked when
-	 * ctrl+x is pressed should store their
-	 * copy action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String CUT_ACTION = ActionFactory.CUT.getId();
-
-	/**
-	 * Action id for a view's double-click action. Any view
-	 * with an action that should be invoked when
-	 * the mouse is double-clicked should store their
-	 * action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String DOUBLE_CLICK_ACTION = "Double_Click_ActionId";	 //$NON-NLS-1$
-
-	/**
-	 * Action id for a view's find action. Any view
-	 * with a find action that should be invoked when
-	 * ctrl+f is pressed should store their
-	 * copy action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String FIND_ACTION = ActionFactory.FIND.getId();
-
-	/**
-	 * Action id for a view's paste action. Any view
-	 * with a paste action that should be invoked when
-	 * ctrl+v is pressed should store their
-	 * copy action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String PASTE_ACTION = ActionFactory.PASTE.getId();
-
-	/**
-	 * Action id for a view's remove action. Any view
-	 * with a remove action that should be invoked when
-	 * the delete key is pressed should store their
-	 * remove action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String REMOVE_ACTION = "Remove_ActionId"; //$NON-NLS-1$
-
-	/**
-	 * Action id for a view's select all action. Any view
-	 * with a select all action that should be invoked when
-	 * ctrl+a is pressed should store their
-	 * select all action with this key.
-	 * 
-	 * @see #setAction(String, IAction)
-	 */
-	public static final String SELECT_ALL_ACTION = ActionFactory.SELECT_ALL.getId();
-	
-	/**
-	 * Returns the viewer contained in this debug view.
-	 *
-	 * @return viewer
-	 */
-	public Viewer getViewer();
-	
-	/**
-	 * Returns the debug model presentation for this view specified
-	 * by the debug model identifier.
-	 *
-	 * @param id the debug model identifier that corresponds to the <code>id</code>
-	 *     attribute of a debug model presentation extension
-	 * @return the debug model presentation, or <code>null</code> if no
-	 *     presentation is registered for the specified id
-	 */
-	public IDebugModelPresentation getPresentation(String id);
-	
-	/**
-	 * Installs the given action under the given action id.
-	 *
-	 * If the action has an id that maps to one of the global
-	 * action ids defined by this interface, the action is registered 
-	 * as a global action handler.
-	 *
-	 * If the action is an instance of <code>IUpdate</code> it is added/remove
-	 * from the collection of updateables associated with this view.
-	 * 
-	 * @param actionId the action id
-	 * @param action the action, or <code>null</code> to clear it
-	 * @see #getAction
-	 */
-	public void setAction(String actionID, IAction action);
-	
-	/**
-	 * Adds the given IUpdate to this view's collection of updatable
-	 * objects.  Allows the view to periodically update these registered
-	 * objects.  
-	 * Has no effect if an identical IUpdate is already registered.
-	 * 
-	 * @param updatable The IUpdate instance to be added
-	 */
-	public void add(IUpdate updatable);
-	
-	/**
-	 * Removes the given IUpdate from this view's collection of updatable
-	 * objects.
- 	 * Has no effect if an identical IUpdate was not already registered.
- 	 * 
-	 * @param updatable The IUpdate instance to be removed
-	 */
-	public void remove(IUpdate updatable);
-	
-	/**
-	 * Returns the action installed under the given action id.
-	 *
-	 * @param actionId the action id
-	 * @return the action, or <code>null</code> if none
-	 * @see #setAction
-	 */
-	public IAction getAction(String actionID);
-	
-	/**
-	 * Returns the context menu manager for this view.
-	 *
-	 * @return the context menu manager for this view, or <code>null</code> if none
-	 * @deprecated See AbstractDebugView#getContextMenuManagers()
-	 */
-	public IMenuManager getContextMenuManager();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
deleted file mode 100644
index fce3e2c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationDialog.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-import org.eclipse.jface.operation.IRunnableContext;
-
- 
- /**
-  * A launch configuration dialog is used to edit and launch
-  * launch configurations. It contains a launch configuration
-  * tab group.
-  * <p>
-  * Clients are not intended to implement this interface.
-  * </p>
-  * @see ILaunchConfigurationTabGroup
-  * @see ILaunchConfigurationTab
-  * @since 2.0
-  */
-
-public interface ILaunchConfigurationDialog extends IRunnableContext {
-	
-	/**
-	 * Return value from <code>open()</code> method of a
-	 * launch configuration dialog when a launch completed
-	 * successfully with a single click (without opening a
-	 * launch configuration dialog).
-	 * 
-	 * @deprecated the launch dialog no longer supports launching without
-	 * 	opening - this constant will never be returned by the dialog
-	 */
-	public static final int LAUNCHED_BEFORE_OPENING = 2;
-			
-	/**
-	 * Adjusts the enable state of this dialog's buttons
-	 * to reflect the state of the active tab group.
-	 * <p>
-	 * This may be called by to force a button state
-	 * update.
-	 * </p>
-	 */
-	public void updateButtons();
-	
-	/**
-	 * Updates the message (or error message) shown in the message line to 
-	 * reflect the state of the currently active tab in this launch
-	 * configuration dialog.
-	 * <p>
-	 * This method may be called to force a message 
-	 * update.
-	 * </p>
-	 */
-	public void updateMessage();
-	
-	/**
-	 * Sets the contents of the name field to the given name.
-	 * 
-	 * @param name new name value
-	 */ 
-	public void setName(String name);
-	
-	/**
-	 * Returns a unique launch configuration name, using the given name
-	 * as a seed.
-	 * 
-	 * @param name seed from which to generate a new unique name
-	 */ 
-	public String generateName(String name);
-	
-	/**
-	 * Returns the tabs currently being displayed, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return currently displayed tabs, or <code>null</code>
-	 */
-	public ILaunchConfigurationTab[] getTabs();
-	
-	/**
-	 * Returns the currently active <code>ILaunchConfigurationTab</code>
-	 * being displayed, or <code>null</code> if there is none.
-	 * 
-	 * @return currently active <code>ILaunchConfigurationTab</code>, or <code>null</code>.
-	 */
-	public ILaunchConfigurationTab getActiveTab();
-	
-	/**
-	 * Returns the mode in which this dialog was opened -
-	 * run or debug.
-	 * 
-	 * @return one of <code>RUN_MODE</code> or <code>DEBUG_MODE</code> defined in <code>ILaunchManager</code>
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	public String getMode();	
-	
-	/**
-	 * Sets the displayed tab to the given tab. Has no effect if the specified
-	 * tab is not one of the tabs being displayed in the dialog currently.
-	 * 
-	 * @param tab the tab to display/activate
-	 * @since 2.1
-	 */
-	public void setActiveTab(ILaunchConfigurationTab tab);
-	
-	/**
-	 * Sets the displayed tab to the tab with the given index. Has no effect if
-	 * the specified index is not within the limits of the tabs returned by
-	 * <code>getTabs()</code>.
-	 * 
-	 * @param index the index of the tab to dispay
-	 * @since 2.1
-	 */
-	public void setActiveTab(int index);	
-		
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
deleted file mode 100644
index e652df9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTab.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
- 
-/**
- * A launch configuration tab is used to edit/view attributes
- * of a specific type of launch configuration. Launch
- * configurations are presented in a dialog, with a tab folder.
- * Each tab manipulates one ore more attributes of a launch
- * configuration. 
- * <p>
- * A tab has the following lifecycle methods:
- * <ul>
- * <li><code>setLaunchConfigurationDialog(ILaunchConfigurationDialog)</code> - 
- *  this is the first method called on a tab after it is instantiated.</li>
- * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a 
- *  launch configuration is selected to be displayed.</li>
- * <li><code>activated(ILaunchConfigurationWorkingCopy)</code> - called when
- *  a tab is entered.</li>
- * <li><code>deactivated(ILaunchConfigurationWorkingCopy)</code> - called when
- *  a tab is exited.</li>
- * <li><code>performApply(ILaunchConfigurationWorkingCopy)</code> - called when
- *  a tab is to write its values to a launch configuration.</li>
- * <li><code>dispose()</code> - the last method called on a tab, when it is
- *  to perform any required cleanup. Note that a tab can be disposed before its control
- * has been created.</li>
- * </ul>
- * The method <code>setDefaults(ILaunchConfigurationWorkingCopy)</code>
- * can be called before a tab's controls are created.
- * <p>
- * The launch tab framework was originially designed to handle inter tab
- * communication by applying attributes from the active tab to a launch configuration
- * being edited, when a tab is exited, and by initializing a tab when activated.
- * In 3.0, the addition of the methods <code>activated</code> and <code>deactivated</code>
- * allow tabs to determine the appropriate course of action. The default implementation
- * in <code>AbstractLaunchConfigurationTab</code> is to call the old methods
- * (<code>initializeFrom</code> and <code>performApply</code>). Tabs should overeride
- * the new methods as required.
- * </p>
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see org.eclipse.debug.core.ILaunchConfiguration
- * @since 2.0
- */
-public interface ILaunchConfigurationTab {
-
-	/**
-	 * Creates the top level control for this launch configuration
-	 * tab under the given parent composite.  This method is called once on
-	 * tab creation, after <code>setLaunchConfigurationDialog</code>
-	 * is called.
-	 * <p>
-	 * Implementors are responsible for ensuring that
-	 * the created control can be accessed via <code>getControl</code>
-	 * </p>
-	 *
-	 * @param parent the parent composite
-	 */
-	public void createControl(Composite parent);
-	
-	/**
-	 * Returns the top level control for this tab.
-	 * <p>
-	 * May return <code>null</code> if the control
-	 * has not been created yet.
-	 * </p>
-	 *
-	 * @return the top level control or <code>null</code>
-	 */
-	public Control getControl();	
-	
-	/**
-	 * Initializes the given launch configuration with
-	 * default values for this tab. This method
-	 * is called when a new launch configuration is created
-	 * such that the configuration can be initialized with
-	 * meaningful values. This method may be called before this
-	 * tab's control is created.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	
-	
-	/**
-	 * Initializes this tab's controls with values from the given
-	 * launch configuration. This method is called when
-	 * a configuration is selected to view or edit, after this
-	 * tab's control has been created.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration);		
-	
-	/**
-	 * Notifies this launch configuration tab that it has
-	 * been disposed. Marks the end of this tab's lifecycle,
-	 * allowing this tab to perform any cleanup required.
-	 */
-	public void dispose();
-	
-	/**
-	 * Copies values from this tab into the given 
-	 * launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration);
-	
-	/**
-	 * Returns the current error message for this tab.
-	 * May be <code>null</code> to indicate no error message.
-	 * <p>
-	 * An error message should describe some error state,
-	 * as opposed to a message which may simply provide instruction
-	 * or information to the user.
-	 * </p>
-	 * 
-	 * @return the error message, or <code>null</code> if none
-	 */
-	public String getErrorMessage();
-	
-	/**
-	 * Returns the current message for this tab.
-	 * <p>
-	 * A message provides instruction or information to the 
-	 * user, as opposed to an error message which should 
-	 * describe some error state.
-	 * </p>
-	 * 
-	 * @return the message, or <code>null</code> if none
-	 */
-	public String getMessage();	
-	
-	/**
-	 * Returns whether this tab is in a valid state in the context of the specified launch configuration.
-	 * <p>
-	 * This information is typically used by the launch configuration
-	 * dialog to decide when it is okay to launch.
-	 * </p>
-	 *
-	 * @param launchConfig launch configuration which provides context for validating this tab.
-	 *         This value must not be <code>null</code>.
-	 *
-	 * @return whether this tab is in a valid state
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig);
-	
-	/**
-	 * Returns whether this tab is in a state that allows the launch configuration whose values
-	 * this tab is showing to be saved.  This differs from <code>isValid()</code> in that <code>canSave()</code>
-	 * determines if this tab prevents the current launch configuration from being saved, whereas
-	 * <code>isValid()</code> determines if this tab prevents the current launch configuration from
-	 * being launched.
-	 * 
-	 * <p>
-	 * This information is typically used by the launch configuration
-	 * dialog to decide when it is okay to save a launch configuration.
-	 * </p>
-	 * 
-	 * @return whether this tab is in a state that allows the current launch configuration to be saved
-	 */
-	public boolean canSave();
-	
-	/**
-	 * Sets the launch configuration dialog that hosts this tab.
-	 * This is the first method called on a launch configuration
-	 * tab, and marks the beginning of this tab's lifecycle.
-	 * 
-	 * @param dialog launch configuration dialog
-	 */
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog);
-	
-	/**
-	 * Notifies this tab that the specified configuration has been
-	 * launched, resulting in the given launch. This method can be
-	 * called when a tab's control does not exist, to support single-click
-	 * launching.
-	 * 
-	 * @param launch the result of launching the current
-	 *  launch configuration
-	 * @deprecated As of R3.0, this method is no longer called by the launch
-	 *  framework. Since tabs do not exist when launching is performed elsewhere
-	 *  than the launch dialog, this method cannot be relied upon for launching
-	 *  functionality.
-	 */
-	public void launched(ILaunch launch);
-	
-	/**
-	 * Returns the name of this tab.
-	 * 
-	 * @return the name of this tab
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the image for this tab, or <code>null</code> if none
-	 * 
-	 * @return the image for this tab, or <code>null</code> if none
-	 */
-	public Image getImage();	
-	
-	/**
-	 * Notification that this tab has become the active tab in the launch
-	 * configuration dialog.
-	 * 
-	 * @param workingCopy the launch configuration being edited
-	 * @since 3.0
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy);
-	
-	/**
-	 * Notification that this tab is no longer the active tab in the launch
-	 * configuration dialog.
-	 *  
-	 * @param workingCopy the launch configuration being edited
-	 * @since 3.0
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy);
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
deleted file mode 100644
index a3cdf73..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
- 
-/**
- * A launch configuration tab group is used to edit/view attributes
- * of a specific type of launch configuration. Launch
- * configurations are presented in a dialog, with a tab folder.
- * Each tab manipulates one or more attributes of a launch
- * configuration. The tab group controls which tabs are
- * displayed for a specific type of launch configuration,
- * and provides a mechanism for overriding configuration
- * initialization performed by tabs.
- * <p>
- * A tab group has the following lifecycle methods:
- * <ul>
- * <li><code>createTabs(ILaunchConfigurationDialog, String)</code> - 
- *  this is the first method called on a tab group after it is instantiated.</li>
- * <li><code>initializeFrom(ILaunchConfiguration)</code> - called when a 
- *  launch configuration is selected to be displayed.</li>
- * <li><code>performApply(ILaunchConfigurationWorkingCopy)</code> - called when
- *  a tab group's values are to be written to a launch configuration.</li>
- * <li><code>dispose()</code> - the last method called on a tab group, when it is
- *  to perform any required cleanup. Note that a tab can be disposed before its control
- *  has been created.</li>
- * </ul>
- * The method <code>setDefaults(ILaunchConfigurationWorkingCopy)</code>
- * can be called before a tab's controls are created.
- * </p>
- * <p>
- * The launch tab framework was originially designed to handle inter tab
- * communication by applying attributes from the active tab to a launch configuration
- * being edited, when a tab is exited, and by initializing a tab when activated.
- * In 3.0, the addition of the methods <code>activated</code> and <code>deactivated</code>
- * allow tabs to determine the appropriate course of action. The default implementation
- * in <code>AbstractLaunchConfigurationTab</code> is to call the old methods
- * (<code>initializeFrom</code> and <code>performApply</code>). Tabs should overeride
- * the new methods as required.
- * </p>
- * <p>
- * A launch configuration group extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch configuration
- * group extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.launchConfigurationTabGroups"&gt;
- *   &lt;launchConfigurationTabGroup 
- *      id="com.example.ExampleTabGroup"
- *      type="com.example.ExampleLaunchConfigurationTypeIdentifier"
- *      class="com.example.ExampleLaunchConfigurationTabGroupClass"&gt;
- *   &lt;/launchConfigurationTabGroup&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch configuration
- *  tab group.</li>
- * <li><code>type</code> specifies launch configuration type that this tab
- *  group is applicable to (corresponds to the id of a launch configuration type
- *  extension).</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>ILaunchConfigurationTabGroup</code>.</li>
- * </ul>
- * </p>
- * <p>
- * This interface is intended to be implemented by clients.
- * </p>
- * @see org.eclipse.debug.core.ILaunchConfigurationType
- * @see org.eclipse.debug.core.ILaunchConfiguration
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab
- * @since 2.0
- */
-public interface ILaunchConfigurationTabGroup {
-
-	/**
-	 * Creates the tabs contained in this tab group for the specified
-	 * launch mode. The tabs control's are not created. This is the
-	 * fist method called in the lifecycle of a tab group.
-	 * 
-	 * @param dialog the launch configuration dialog this tab group
-	 *  is contained in
-	 * @param mode the mode the launch configuration dialog was
-	 *  opened in
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode);
-	
-	/**
-	 * Returns the tabs contained in this tab group.
-	 * 
-	 * @return the tabs contained in this tab group
-	 */
-	public ILaunchConfigurationTab[] getTabs();
-
-	/**
-	 * Notifies this launch configuration tab group that it has
-	 * been disposed, and disposes this group's tabs. Marks the end
-	 * of this tab group's lifecycle, allowing this tab group to
-	 * perform any cleanup required.
-	 */
-	public void dispose();
-			
-	/**
-	 * Initializes the given launch configuration with
-	 * default values for this tab group. This method
-	 * is called when a new launch configuration is created
-	 * such that the configuration can be initialized with
-	 * meaningful values. This method may be called before
-	 * tab controls are created.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration);	
-	
-	/**
-	 * Initializes this group's tab controls with values from the given
-	 * launch configuration. This method is called when
-	 * a configuration is selected to view or edit.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration);		
-		
-	/**
-	 * Copies values from this group's tabs into the given 
-	 * launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration);
-	
-	/**
-	 * Notifies this tab that a configuration has been
-	 * launched, resulting in the given launch. This method can be
-	 * called when a tab's control does not exist, to support single-click
-	 * launching.
-	 * 
-	 * @param launch the result of launching the current
-	 *  launch configuration
-	 * @deprecated As of R3.0, this method is no longer called by the launch
-	 *  framework. Since tabs do not exist when launching is performed elsewhere
-	 *  than the launch dialog, this method cannot be relied upon for launching
-	 *  functionality.
-	 */
-	public void launched(ILaunch launch);
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
deleted file mode 100644
index cb2a11e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchGroup.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
- 
-import org.eclipse.jface.resource.ImageDescriptor;
-
-/**
- * A launch group identifies a group of launch configurations by a launch
- * mode and cateogory. The launch configuration dialog can be opened on
- * a launch group, and a launch history is maintained for each group.
- * A launch group is defined in plug-in XML via the <code>launchGroups</code>
- * extension point.
- * <p> 
- * Following is an example of a launch group contribution:
- * <pre>
- * 	&lt;extension point="org.eclipse.debug.ui.launchGroups"&gt;
- * 		&lt;launchGroup
- * 			  id="com.example.ExampleLaunchGroupId"
- * 			  mode="run"
- * 			  label="Run"
- * 			  image="icons\run.gif"
- * 			  bannerImage="icons\runBanner.gif"&gt;
- * 		&lt;/launchGroup&gt;
- * 	&lt;/extension&gt;
- * </pre>
- * </p>
- * @since 3.0
- */
-public interface ILaunchGroup {
-	
-	/**
-	 * Returns the image for this launch group, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the image for this launch group, or <code>null</code> if none
-	 */
-	public ImageDescriptor getImageDescriptor();
-	
-	/**
-	 * Returns the banner image for this launch group, or <code>null</code> if
-	 * none
-	 * 
-	 * @return the banner image for this launch group, or <code>null</code> if
-	 * none
-	 */
-	public ImageDescriptor getBannerImageDescriptor();
-	
-	/**
-	 * Returns the label for this launch group
-	 * 
-	 * @return the label for this launch group
-	 */
-	public String getLabel();
-		
-	/**
-	 * Returns the id for this launch group
-	 * 
-	 * @return the id for this launch group
-	 */
-	public String getIdentifier();
-	
-	/**
-	 * Returns the category for this launch group, possibly <code>null</code>
-	 * 
-	 * @return the category for this launch group, possibly <code>null</code>
-	 */
-	public String getCategory();
-	
-	/**
-	 * Returns the mode for this launch group
-	 * 
-	 * @return the mode for this launch group
-	 */
-	public String getMode();
-	
-	/**
-	 * Returns whether this launch group is public
-	 *  
-	 * @return boolean
-	 */
-	public boolean isPublic();
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
deleted file mode 100644
index 0b0778b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ILaunchShortcut.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * A launch shortcut is capable of launching a selection
- * or active editor in the workbench. The delegate is responsible for
- * interpretting the selection or active editor (if it applies), and launching
- * an application. This may require creating a new launch configuration
- * with default values, or re-using an existing launch configuration.
- * <p>
- * A launch shortcut is defined as an extension
- * of type <code>org.eclipse.debug.ui.launchShortcuts</code>.
- * A shortcut specifies the perspectives in which is should be available
- * from the "Run/Debug" cascade menus.
- * </p>
- * <p>
- * A launch shortcut extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a launch shortcut extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.launchShortcuts"&gt;
- *   &lt;launchShortcut
- *      id="com.example.ExampleLaunchShortcut"
- *      class="com.example.ExampleLaunchShortcutClass"
- *      filterClass="com.example.ExampleLaunchShortcutFilterClass"
- * 		label="Example Label"
- * 		icon="\icons\exampleshortcut.gif"
- * 		helpContextId="com.example.shortcut_context"
- * 		modes="run, debug"&gt;
- *      &lt;perspective id="com.example.perspectiveId1"/&gt;
- *      &lt;perspective id="com.example.perspectiveId2"/&gt;
- *      &lt;filter
- *           name="NameMatches"
- *           value="*.java"/&gt;
- *      &lt;filter
- *        	name="ContextualLaunchActionFilter"
- *        	value="supportsContextualLaunch"/&gt;
- *      &lt;contextLabel
- *        	mode="run"
- *        	label="%RunJavaApplet.label"/&gt;
- * 	    &lt;contextLabel
- * 		 	mode="debug"
- * 		 	label="%DebugJavaApplet.label"/&gt;
- * 		  ...
- *   &lt;/launchShortcut&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this launch shortcut.</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>ILaunchShortcut</code>.</li><li>
- * <code>filterClass</code> optionally specifies a fully qualified name of a Java class
- *  that implements <code>ILaunchFilter</code> for context menu filtering.</li>
- * <li><code>label</code> specifies a label used to render this shortcut.</li>
- * <li><code>icon</code> specifies a plug-in relative path to an icon used to
- * 	render this shortcut.</li>
- * <li><code>helpContextId</code> optional attribute specifying the help context
- * identifier to associate with the launch shortcut action in a menu.</li>
- * <li><code>modes</code> specifies a comma separated list of modes this shortcut
- *  supports.</li>
- * <li><code>perspective</code> one or more perspective entries enumerate the
- * 	perspectives that this shortcut is avilable in, from the run/debug cascade
- * 	menus.</li>
- * <li><code>filter</code> zero or more filter entries specify the attribute
- * <code>name</code> and attribute <code>value</code> that will be supplied to
- * the <code>testAttribute</code> method implemented by the <code>filterClass</code>
- * Java Class. If all filters in this list return <code>true</code> when applied
- * to a selection target, the shortcut will be avilable in the run/debug context menu.
- * 	menu.</li>
- * <li><code>contextLabel</code> zero or more context menu labels. For
- * shortcuts that pass their filter tests, the specified label will appear
- * in the "Run ->" context menu and be bound to a launch action of the
- * specified mode (e.g. run,debug,profile).</li>
- * </ul>
- * </p>
- * @since 2.0
- */
-public interface ILaunchShortcut {
-
-	/**
-	 * Locates a launchable entity in the given selection and launches
-	 * an application in the specified mode. This launch configuration
-	 * shortcut is responsible for progress reporting as well
-	 * as error handling, in the event that a launchable entity cannot
-	 * be found, or launching fails.
-	 * 
-	 * @param selection workbench selection
-	 * @param mode one of the launch modes defined by the 
-	 * 	launch manager
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	public void launch(ISelection selection, String mode);
-	
-	/**
-	 * Locates a launchable entity in the given active editor, and launches
-	 * an application in the specified mode. This launch configuration
-	 * shortcut is responsible for progress reporting as well as error
-	 * handling, in the event that a launchable entity cannot be found,
-	 * or launching fails.
-	 * 
-	 * @param editor the active editor in the workbench
-	 * @param mode one of the launch modes defined by the launch
-	 * 		manager
-	 * @see org.eclipse.debug.core.ILaunchManager
-	 */
-	public void launch(IEditorPart editor, String mode);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
deleted file mode 100644
index 1758463..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/ISourcePresentation.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.ui.IEditorInput;
- 
-/**
- * A source presentation is used to resolve an editor in
- * which to display a debug model element, breakpoint, or
- * source element. By default, a debug model presentation
- * (which implements this interface) is used to resolve
- * editors when performing source lookup. However, a source
- * locator may override default editor resolution by implementing
- * this interface. 
- * <p>
- * Source lookup consists of the following steps:<ol>
- * <li>Locating a source element - the source locator associated
- *  with a launch is queried for the source element associated
- *  with a stack frame.</li>
- * <li>Resolving an editor in which to display a source element -
- *  by default, the debug model presentation associated with the
- *  debug model being debugged is queried for an editor input
- *  and editor id in which to display a source element. However,
- *  clients may override editor resolution by specifying a source
- *  locator that is an instance of <code>ISourcePresentation</code>.
- *  When a source presentation is specified as a source locator,
- *  the source presentation is used to resolve an editor, rather
- *  than the default debug model presentation.</li>
- * </ol>
- * </p>
- * @since 2.0
- */ 
-public interface ISourcePresentation {
-
-	/**
-	 * Returns an editor input that should be used to display the given object
-	 * in an editor or <code>null</code> if unable to provide an editor input
-	 * for the given object.
-	 *
-	 * @param element a debug model element, breakpoint, or a source element
-	 *  that was returned by a source locator's <code>getSourceElement(IStackFrame)</code>
-	 *  method
-	 * @return an editor input, or <code>null</code> if none
-	 */
-	public IEditorInput getEditorInput(Object element);
-	
-	/**
-	 * Returns the id of the editor to use to display the
-	 * given editor input and object, or <code>null</code> if
-	 * unable to provide an editor id.
-	 *
-	 * @param input an editor input that was previously retrieved from this
-	 *    source presentation's <code>getEditorInput</code> method
-	 * @param element the object that was used in the call to
-	 *  <code>getEditorInput</code>, that corresponds to the given editor
-	 *  input
-	 * @return an editor id, or <code>null</code> if none
-	 */
-	public String getEditorId(IEditorInput input, Object element);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
deleted file mode 100644
index b25c922..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IValueDetailListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Notified of detailed value descriptions.
- * 
- * @see IDebugModelPresentation
- * @since 2.0
- */
-
-public interface IValueDetailListener {
-	/**
-	 * Notifies this listener that the details for the given
-	 * value have been computed as the specified result.
-	 *  
-	 * @param value the value for which the detail is provided
-	 * @param result the detailed description of the given value
-	 */
-	public void detailComputed(IValue value, String result);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
deleted file mode 100644
index 5605f0b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
+++ /dev/null
@@ -1,623 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui;
-
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.stringsubstitution.SelectedResourceManager;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringSubstitutionMessages;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.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.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab which allows the user to specify
- * which resources should be refreshed when the launch
- * terminates.
- * <p>
- * This class may be instantiated; this class is not intended
- * to be subclassed.
- * </p>
- * @since 3.0
- */
-public class RefreshTab extends AbstractLaunchConfigurationTab {
-
-	/**
-	 * Boolean attribute indicating if a refresh scope is recursive. Default
-	 * value is <code>false</code>.
-	 */
-	public static final String ATTR_REFRESH_RECURSIVE = DebugPlugin.getUniqueIdentifier() + ".ATTR_REFRESH_RECURSIVE"; //$NON-NLS-1$
-
-	/**
-	 * String attribute identifying the scope of resources that should be
-	 * refreshed after an external tool is run. The value is either a refresh
-	 * variable or the default value, <code>null</code>, indicating no refresh.
-	 */
-	public static final String ATTR_REFRESH_SCOPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_REFRESH_SCOPE"; //$NON-NLS-1$
-	
-	// indicates no working set has been selected
-	private static final String NO_WORKING_SET = "NONE"; //$NON-NLS-1$
-	
-	// Check Buttons
-	private Button fRefreshButton;
-	private Button fRecursiveButton;
-	
-	// Group box
-	private Group fGroup;
-	
-	// Radio Buttons
-	private Button fContainerButton;
-	private Button fProjectButton;
-	private Button fResourceButton;
-	private Button fWorkingSetButton;
-	private Button fWorkspaceButton;
-	
-	// Push Button
-	private Button fSelectButton;
-	
-	// Working set
-	private IWorkingSet fWorkingSet;
-
-	/**
-	 * XML tag used to designate the root of the persisted IWorkingSet
-	 */
-	private static final String TAG_LAUNCH_CONFIGURATION_WORKING_SET= "launchConfigurationWorkingSet"; //$NON-NLS-1$
-
-	/**
-	 * XML tag used for setting / getting the factory ID of the persisted IWorkingSet
-	 * Bug 37143
-	 */	
-	private static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-	
-	/**
-	 * @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);
-		WorkbenchHelp.setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_REFRESH_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gd);
-		mainComposite.setFont(parent.getFont());
-		
-		createVerticalSpacer(mainComposite, 1);
-		
-		fRefreshButton = createCheckButton(mainComposite, StringSubstitutionMessages.getString("RefreshTab.31")); //$NON-NLS-1$
-		fRefreshButton.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, StringSubstitutionMessages.getString("RefreshTab.32")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fWorkspaceButton.setLayoutData(gd);
-		fWorkspaceButton.addSelectionListener(adapter);
-
-		fResourceButton = createRadioButton(fGroup, StringSubstitutionMessages.getString("RefreshTab.33")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fResourceButton.setLayoutData(gd);
-		fResourceButton.addSelectionListener(adapter);
-
-		fProjectButton = createRadioButton(fGroup, StringSubstitutionMessages.getString("RefreshTab.34")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fProjectButton.setLayoutData(gd);		
-		fProjectButton.addSelectionListener(adapter);
-
-		fContainerButton = createRadioButton(fGroup, StringSubstitutionMessages.getString("RefreshTab.35")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fContainerButton.setLayoutData(gd);
-		fContainerButton.addSelectionListener(adapter);
-				
-		fWorkingSetButton = createRadioButton(fGroup, StringSubstitutionMessages.getString("RefreshTab.36")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		fWorkingSetButton.setLayoutData(gd);
-		fWorkingSetButton.addSelectionListener(adapter);		
-		
-		fSelectButton = createPushButton(fGroup, StringSubstitutionMessages.getString("RefreshTab.37"), null); //$NON-NLS-1$
-		gd = (GridData)fSelectButton.getLayoutData();
-		gd.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-		fSelectButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectResources();
-			}
-		});
-		
-		createVerticalSpacer(fGroup, 2);
-		createRecursiveComponent(fGroup);
-	}
-
-	/**
-	 * Prompts the user to select the resources to refresh.
-	 */
-	private void selectResources() {
-		IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-		
-		if (fWorkingSet == null){
-			fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.getString("RefreshTab.40"), new IAdaptable[0]); //$NON-NLS-1$
-		}
-		IWorkingSetEditWizard wizard= workingSetManager.createWorkingSetEditWizard(fWorkingSet);
-		WizardDialog dialog = new WizardDialog(DebugUIPlugin.getStandardDisplay().getActiveShell(), wizard);
-		dialog.create();		
-		
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		fWorkingSet = wizard.getSelection();
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Creates the controls needed to edit the refresh recursive
-	 * attribute of a launch configuration
-	 * 
-	 * @param parent the composite to create the controls in
-	 */
-	private void createRecursiveComponent(Composite parent) {
-		fRecursiveButton = createCheckButton(parent, StringSubstitutionMessages.getString("RefreshTab.0")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fRecursiveButton.setLayoutData(data);
-		fRecursiveButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				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) {
-		updateRefresh(configuration);
-		updateRecursive(configuration);
-		updateScope(configuration);
-		updateEnabledState();		
-	}
-	
-	/**
-	 * Updates the tab to display the refresh scope specified by the launch config
-	 */
-	private void updateScope(ILaunchConfiguration configuration) {
-		String scope = null;
-		try {
-			scope= configuration.getAttribute(ATTR_REFRESH_SCOPE, (String)null);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus("Exception reading launch configuration", ce)); //$NON-NLS-1$
-		}
-		fWorkspaceButton.setSelection(false);
-		fResourceButton.setSelection(false);
-		fContainerButton.setSelection(false);
-		fProjectButton.setSelection(false);
-		fWorkingSetButton.setSelection(false);
-		if (scope == null) {
-			// select the workspace by default
-			fWorkspaceButton.setSelection(true);
-		} else {
-			if (scope.equals("${workspace}")) { //$NON-NLS-1$
-				fWorkspaceButton.setSelection(true);
-			} else if (scope.equals("${resource}")) { //$NON-NLS-1$
-				fResourceButton.setSelection(true);
-			} else if (scope.equals("${container}")) { //$NON-NLS-1$
-				fContainerButton.setSelection(true);
-			} else if (scope.equals("${project}")) { //$NON-NLS-1$
-				fProjectButton.setSelection(true);
-			} else if (scope.startsWith("${resource:")) { //$NON-NLS-1$
-				fWorkingSetButton.setSelection(true);
-				try {
-					IResource[] resources = getRefreshResources(scope);
-					IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-					fWorkingSet = workingSetManager.createWorkingSet(StringSubstitutionMessages.getString("RefreshTab.40"), resources);					 //$NON-NLS-1$
-				} catch (CoreException e) {
-					fWorkingSet = null;
-				}
-			} else if (scope.startsWith("${working_set:")) { //$NON-NLS-1$
-				fWorkingSetButton.setSelection(true);
-				String memento = scope.substring(14, scope.length() - 1);
-				fWorkingSet = restoreWorkingSet(memento);
-			}
-		}
-	}
-	/**
-	 * Method updateRecursive.
-	 * @param configuration
-	 */
-	private void updateRecursive(ILaunchConfiguration configuration) {
-		boolean recursive= true;
-		try {
-			recursive= configuration.getAttribute(ATTR_REFRESH_RECURSIVE, true);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus("Exception reading launch configuration", ce)); //$NON-NLS-1$
-		}
-		fRecursiveButton.setSelection(recursive);
-	}
-	/**
-	 * Method updateRefresh.
-	 * @param configuration
-	 */
-	private void updateRefresh(ILaunchConfiguration configuration) {
-		String scope= null;
-		try {
-			scope= configuration.getAttribute(ATTR_REFRESH_SCOPE, (String)null);
-		} catch (CoreException ce) {
-			DebugUIPlugin.log(DebugUIPlugin.newErrorStatus("Exception reading launch configuration", ce)); //$NON-NLS-1$
-		}
-		fRefreshButton.setSelection(scope != null);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (fRefreshButton.getSelection()) {
-			String scope = generateScopeMemento();
-			configuration.setAttribute(ATTR_REFRESH_SCOPE, scope);
-			setAttribute(ATTR_REFRESH_RECURSIVE, configuration, fRecursiveButton.getSelection(), true);
-		} else {
-			//clear the refresh attributes
-			configuration.setAttribute(ATTR_REFRESH_SCOPE, (String)null);
-			setAttribute(ATTR_REFRESH_RECURSIVE, configuration, true, true);
-		}
-	}
-
-	/**
-	 * Generates a memento for the refresh scope. This is based on old refresh
-	 * variables.
-	 * 
-	 * @return a memento
-	 */
-	private String generateScopeMemento() {
-		if (fWorkspaceButton.getSelection()) {
-			return "${workspace}"; //$NON-NLS-1$
-		}
-		if (fResourceButton.getSelection()) {
-			return "${resource}"; //$NON-NLS-1$
-		}
-		if (fContainerButton.getSelection()) {
-			return "${container}"; //$NON-NLS-1$
-		}
-		if (fProjectButton.getSelection()) {
-			return "${project}"; //$NON-NLS-1$
-		}
-		if (fWorkingSetButton.getSelection()) {
-			return getRefreshAttribute(fWorkingSet);
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return StringSubstitutionMessages.getString("RefreshTab.6"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Updates the enablement state of the fields.
-	 */
-	private void updateEnabledState() {
-		boolean enabled= fRefreshButton.getSelection();
-		fRecursiveButton.setEnabled(enabled);
-		fGroup.setEnabled(enabled);
-		fWorkspaceButton.setEnabled(enabled);
-		fResourceButton.setEnabled(enabled);
-		fContainerButton.setEnabled(enabled);
-		fProjectButton.setEnabled(enabled);
-		fWorkingSetButton.setEnabled(enabled);
-		fSelectButton.setEnabled(enabled && fWorkingSetButton.getSelection());
-		if (!enabled) {
-			super.setErrorMessage(null);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_OBJS_REFRESH_TAB);
-	}
-
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		if (fWorkingSetButton.getSelection() && (fWorkingSet == null || fWorkingSet.getElements().length == 0)) {
-			setErrorMessage(StringSubstitutionMessages.getString("RefreshTab.42")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Refreshes the resources as specified by the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @param monitor progress monitor which may be <code>null</code>
-	 * @throws CoreException if an exception occurs while refreshing resources
-	 */
-	public static void refreshResources(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		String scope = getRefreshScope(configuration);
-		IResource[] resources= null;
-		if (scope != null) {
-			resources = getRefreshResources(scope);
-		}
-		if (resources == null || resources.length == 0){
-			return;
-		}
-		int depth = IResource.DEPTH_ONE;
-		if (isRefreshRecursive(configuration))
-			depth = IResource.DEPTH_INFINITE;
-	
-		if (monitor.isCanceled()) {
-			return;
-		}
-	
-		monitor.beginTask(StringSubstitutionMessages.getString("RefreshTab.7"), //$NON-NLS-1$
-			resources.length);
-	
-		MultiStatus status = new MultiStatus(DebugUIPlugin.getUniqueIdentifier(), 0, StringSubstitutionMessages.getString("RefreshTab.8"), null); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			if (monitor.isCanceled())
-				break;
-			if (resources[i] != null && resources[i].isAccessible()) {
-				try {
-					resources[i].refreshLocal(depth, null);
-				} catch (CoreException e) {
-					status.merge(e.getStatus());
-				}
-			}
-			monitor.worked(1);
-		}
-	
-		monitor.done();
-		if (!status.isOK()) {
-			throw new CoreException(status);
-		}
-	}
-
-	/**
-	 * Returns a collection of resources referred to by a refresh scope attribute.
-	 * 
-	 * @param scope refresh scope attribute (<code>ATTR_REFRESH_SCOPE</code>)
-	 * @return collection of resources referred to by the refresh scope attribute
-	 * @throws CoreException if unable to resolve a set of resources
-	 */
-	public static IResource[] getRefreshResources(String scope) throws CoreException {
-		if (scope.startsWith("${resource:")) { //$NON-NLS-1$
-			// This is an old format that is replaced with 'working_set'
-			String pathString = scope.substring(11, scope.length() - 1);
-			Path path = new Path(pathString);
-			IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-			if (resource == null) {
-				throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, MessageFormat.format(StringSubstitutionMessages.getString("RefreshTab.38"), new String[]{pathString}), null)); //$NON-NLS-1$
-			} else {
-				return new IResource[]{resource};
-			}
-		} else if (scope.startsWith("${working_set:")) { //$NON-NLS-1$
-			IWorkingSet workingSet =  getWorkingSet(scope);
-			if (workingSet == null) {
-				throw new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), IDebugUIConstants.INTERNAL_ERROR, StringSubstitutionMessages.getString("RefreshTab.39"), null)); //$NON-NLS-1$
-			} else {
-				IAdaptable[] elements = workingSet.getElements();
-				IResource[] resources = new IResource[elements.length];
-				for (int i = 0; i < elements.length; i++) {
-					IAdaptable adaptable = elements[i];
-					if (adaptable instanceof IResource) {
-						resources[i] = (IResource) adaptable;
-					} else {
-						resources[i] = (IResource) adaptable.getAdapter(IResource.class);
-					}
-				}
-				return resources;				
-			}
-		} else if(scope.equals("${workspace}")) { //$NON-NLS-1$
-			return new IResource[]{ResourcesPlugin.getWorkspace().getRoot()};
-		} else {
-			IResource resource = SelectedResourceManager.getDefault().getSelectedResource();
-			if (resource == null) {
-				// empty selection
-				return new IResource[]{};
-			}
-			if (scope.equals("${resource}")) { //$NON-NLS-1$
-				// resource = resource
-			} else if (scope.equals("${container}")) { //$NON-NLS-1$
-				resource = resource.getParent();
-			} else if (scope.equals("${project}")) { //$NON-NLS-1$
-				resource = resource.getProject();
-			}
-			return new IResource[]{resource};
-		}
-	}
-	
-	/**
-	 * Restores a working set based on the XMLMemento represented within
-	 * the mementoString.
-	 * 
-	 * @param mementoString The string memento of the working set
-	 * @return the restored working set or <code>null</code> if problems occurred restoring the
-	 * working set.
-	 */
-	private static IWorkingSet restoreWorkingSet(String mementoString) {
-		if (NO_WORKING_SET.equals(mementoString)) {
-			return null;
-		}
-		StringReader reader= new StringReader(mementoString);
-		XMLMemento memento= null;
-		try {
-			memento = XMLMemento.createReadRoot(reader);
-		} catch (WorkbenchException e) {
-			DebugUIPlugin.log(e);
-			return null;
-		}
-
-		IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-		return workingSetManager.createWorkingSet(memento);
-	}	
-	
-	/**
-	 * Returns the refresh scope attribute specified by the given launch configuration
-	 * or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return refresh scope attribute (<code>ATTR_REFRESH_SCOPE</code>)
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String getRefreshScope(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(ATTR_REFRESH_SCOPE, (String) null);
-	}
-
-	/**
-	 * Returns whether the refresh scope specified by the given launch
-	 * configuration is recursive.
-	 * 
-	 * @param configuration
-	 * @return whether the refresh scope is recursive
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isRefreshRecursive(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(ATTR_REFRESH_RECURSIVE, true);
-	}	
-	
-	/**
-	 * Creates and returns a memento for the given working set, to be used as a
-	 * refresh attribute.
-	 * 
-	 * @param workingSet a working set, or <code>null</code>
-	 * @return an equivalent refresh attribute
-	 */
-	public static String getRefreshAttribute(IWorkingSet workingSet) {
-		String set = null;
-		if (workingSet == null || workingSet.getElements().length == 0) {
-			set = NO_WORKING_SET;
-		} else {
-			XMLMemento workingSetMemento = XMLMemento.createWriteRoot(TAG_LAUNCH_CONFIGURATION_WORKING_SET);
-			if (workingSet != null) {
-				workingSetMemento.putString(RefreshTab.TAG_FACTORY_ID, workingSet.getFactoryId());
-				workingSet.saveState(workingSetMemento);
-				StringWriter writer= new StringWriter();
-				try {
-					workingSetMemento.save(writer);
-				} catch (IOException e) {
-					DebugUIPlugin.log(e);
-				}
-				set = writer.toString();
-			}
-		}
-		if (set != null) {
-			StringBuffer memento = new StringBuffer();
-			memento.append("${working_set:"); //$NON-NLS-1$
-			memento.append(set);
-			memento.append("}"); //$NON-NLS-1$
-			return memento.toString();
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates and returns a working set from the given refresh attribute created by
-	 * the method <code>getRefreshAttribute(IWorkingSet)</code>, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param refreshAttribute a refresh attribute that represents a working set
-	 * @return equivalent working set, or <code>null</code>
-	 */
-	public static IWorkingSet getWorkingSet(String refreshAttribute) {
-		if (refreshAttribute.startsWith("${working_set:")) { //$NON-NLS-1$
-			String memento = refreshAttribute.substring(14, refreshAttribute.length() - 1);
-			return  restoreWorkingSet(memento);
-		}
-		return null;
-	}
-	/* (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
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
deleted file mode 100644
index 3389bd5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
- 
-import java.text.MessageFormat;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-/**
- * Abstract implementation of an action that displays a drop-down launch
- * history for a specific launch group.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 2.1
- */
-public abstract class AbstractLaunchHistoryAction implements IWorkbenchWindowPulldownDelegate2, ILaunchHistoryChangedListener {
-	
-	/**
-	 * The menu created by this action
-	 */
-	private Menu fMenu;
-		
-	/**
-	 * The action used to render this delegate.
-	 */
-	private IAction fAction;
-	
-	/**
-	 * Launch group identifier
-	 */
-	private String fLaunchGroupIdentifier;
-	
-	/**
-	 * Indicates whether the launch history has changed and
-	 * the sub menu needs to be recreated.
-	 */
-	protected boolean fRecreateMenu= false;
-	
-	/**
-	 * Constructs a launch history action.
-	 * 
-	 * @param launchGroupIdentifier unique identifier of the launch group
-	 * extension that this action displays a launch history for.
-	 */
-	public AbstractLaunchHistoryAction(String launchGroupIdentifier) {
-		fLaunchGroupIdentifier = launchGroupIdentifier;
-	}
-
-	/**
-	 * Sets the action used to render this delegate.
-	 * 
-	 * @param action the action used to render this delegate
-	 */
-	private void setAction(IAction action) {
-		fAction = action;
-	}
-
-	/**
-	 * Returns the action used to render this delegate.
-	 * 
-	 * @return the action used to render this delegate
-	 */
-	protected IAction getAction() {
-		return fAction;
-	}
-	
-	/**
-	 * Adds the given action to the specified menu with an accelerator specified
-	 * by the given number.
-	 * 
-	 * @param menu the menu to add the action to
-	 * @param action the action to add
-	 * @param accelerator the number that should appear as an accelerator
-	 */
-	protected void addToMenu(Menu menu, IAction action, int accelerator) {
-		StringBuffer label= new StringBuffer();
-		if (accelerator >= 0 && accelerator < 10) {
-			//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(menu, -1);
-	}
-
-	/**
-	 * Initialize this action so that it can dynamically set its tooltip.  Also set the enabled state
-	 * of the underlying action based on whether there are any registered launch configuration types that 
-	 * understand how to launch in the mode of this action.
-	 */
-	private void initialize(IAction action) {
-		getLaunchConfigurationManager().addLaunchHistoryListener(this);
-		setAction(action);
-		updateTooltip();	
-		action.setEnabled(existsConfigTypesForMode());	
-	}
-	
-	/**
-	 * Return whether there are any registered launch configuration types for
-	 * the mode of this action.
-	 * 
-	 * @return whether there are any registered launch configuration types for
-	 * the mode of this action
-	 */
-	private boolean existsConfigTypesForMode() {
-		ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		for (int i = 0; i < configTypes.length; i++) {
-			ILaunchConfigurationType configType = configTypes[i];
-			if (configType.supportsMode(getMode())) {
-				return true;
-			}
-		}		
-		return false;
-	}
-	
-	/**
-	 * Updates this action's tooltip to correspond to the most recent launch.
-	 */
-	protected void updateTooltip() {
-		ILaunchConfiguration lastLaunched = getLastLaunch();
-		String tooltip = null;
-		if (lastLaunched == null) {
-			tooltip = DebugUIPlugin.removeAccelerators(getLaunchHistory().getLaunchGroup().getLabel());
-		} else {
-			tooltip= getToolTip(lastLaunched);
-		}
-		getAction().setToolTipText(tooltip);
-	}
-	
-	protected String getToolTip(ILaunchConfiguration lastLaunched) {
-		String launchName= lastLaunched.getName();
-		String mode= getMode();
-		String label;
-		if (mode.equals(ILaunchManager.RUN_MODE)) {
-			label= ActionMessages.getString("AbstractLaunchHistoryAction.1"); //$NON-NLS-1$
-		} else if (mode.equals(ILaunchManager.DEBUG_MODE)){
-			label= ActionMessages.getString("AbstractLaunchHistoryAction.2"); //$NON-NLS-1$
-		} else if (mode.equals(ILaunchManager.PROFILE_MODE)){
-			label= ActionMessages.getString("AbstractLaunchHistoryAction.3"); //$NON-NLS-1$
-		} else {
-			label= ActionMessages.getString("AbstractLaunchHistoryAction.4"); //$NON-NLS-1$
-		}
-		return MessageFormat.format(ActionMessages.getString("AbstractLaunchHistoryAction.0"), new String[] {label, launchName}); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see ILaunchHistoryChangedListener#launchHistoryChanged()
-	 */
-	public void launchHistoryChanged() {
-		fRecreateMenu= true;
-		updateTooltip();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-		setMenu(null);
-		getLaunchConfigurationManager().removeLaunchHistoryListener(this);
-	}
-	
-	/**
-	 * Return the last launch in this action's launch history
-	 */
-	protected ILaunchConfiguration getLastLaunch() {
-		return getLaunchConfigurationManager().getLastLaunch(getLaunchGroupIdentifier());
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowPulldownDelegate#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		setMenu(new Menu(parent));
-		fillMenu(fMenu);
-		initMenu();
-		return fMenu;
-	}
-	
-	/**
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		setMenu(new Menu(parent));
-		fillMenu(fMenu);
-		initMenu();
-		return fMenu;
-	}
-	
-	/**
-	 * Creates the menu for the action
-	 */
-	private void initMenu() {
-		// Add listener to repopulate the menu each time
-		// it is shown because of dynamic history list
-		fMenu.addMenuListener(new MenuAdapter() {
-			public void menuShown(MenuEvent e) {
-				if (fRecreateMenu) {
-					Menu m = (Menu)e.widget;
-					MenuItem[] items = m.getItems();
-					for (int i=0; i < items.length; i++) {
-						items[i].dispose();
-					}
-					fillMenu(m);
-					fRecreateMenu= false;
-				}
-			}
-		});
-	}
-
-	/**
-	 * Sets this action's drop-down menu, disposing the previous menu.
-	 * 
-	 * @param menu the new menu
-	 */
-	private void setMenu(Menu menu) {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		fMenu = menu;
-	}
-
-	/**
-	 * Fills the drop-down menu with favorites and launch history
-	 * 
-	 * @param menu the menu to fill
-	 */
-	protected void fillMenu(Menu menu) {	
-		ILaunchConfiguration[] historyList= LaunchConfigurationManager.filterConfigs(getLaunchHistory().getHistory());
-		ILaunchConfiguration[] favoriteList = LaunchConfigurationManager.filterConfigs(getLaunchHistory().getFavorites());
-		
-		// Add favorites
-		int accelerator = 1;
-		for (int i = 0; i < favoriteList.length; i++) {
-			ILaunchConfiguration launch= favoriteList[i];
-			LaunchAction action= new LaunchAction(launch, getMode());
-			addToMenu(menu, action, accelerator);
-			accelerator++;
-		}		
-		
-		// Separator between favorites and history
-		if (favoriteList.length > 0 && historyList.length > 0) {
-			addSeparator(menu);
-		}
-		
-		// Add history launches next
-		for (int i = 0; i < historyList.length; i++) {
-			ILaunchConfiguration launch= historyList[i];
-			LaunchAction action= new LaunchAction(launch, getMode());
-			addToMenu(menu, action, accelerator);
-			accelerator++;
-		}
-	}
-	
-	/**
-	 * Adds a separator to the given menu
-	 * 
-	 * @param menu 
-	 */
-	protected void addSeparator(Menu menu) {
-		new MenuItem(menu, SWT.SEPARATOR);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// do nothing - this is just a menu
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection){
-		if (fAction == null) {
-			initialize(action);
-		} 
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window){
-	}
-	
-	/**
-	 * Returns the launch history associated with this action's launch group.
-	 * 
-	 * @return the launch history associated with this action's launch group
-	 */
-	protected LaunchHistory getLaunchHistory() {
-		return getLaunchConfigurationManager().getLaunchHistory(getLaunchGroupIdentifier());
-	} 
-		
-	/**
-	 * Returns the mode (e.g., 'run' or 'debug') of this drop down.
-	 * 
-	 * @return the mode of this action
-	 */
-	protected String getMode() {
-		return getLaunchHistory().getLaunchGroup().getMode();
-	}
-	
-	/**
-	 * Returns the launch configuration manager.
-	 * 
-	 * @return launch configuration manager
-	 */
-	private LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}
-	
-	/**
-	 * Returns the identifier of the launch group this action is associated
-	 * with.
-	 * 
-	 * @return the identifier of the launch group this action is associated
-	 * with
-	 */
-	protected String getLaunchGroupIdentifier() {
-		return fLaunchGroupIdentifier;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
deleted file mode 100644
index ff0b5c8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchToolbarAction.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.OrganizeFavoritesAction;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.widgets.Menu;
-
-/**
- * A launch history action that also includes launch shortcut actions (run/debug
- * as), and an action to open the launch configuration dialog.
- * 
- * @since 2.1
- */
-public class AbstractLaunchToolbarAction extends AbstractLaunchHistoryAction {
-
-
-	/**
-	 * Constructs a launch toolbar action.
-	 *
-	 * @param launchGroupIdentifier unique identifier of the launch group
-	 * extension that this action displays a launch history, shortcuts, and
-	 * launch configuration dialog for.
-	 */
-	public AbstractLaunchToolbarAction(String launchGroupIdentifier) {
-		super(launchGroupIdentifier);
-	}
-
-	/**
-	 * Fills the drop-down menu with favorites and launch history,
-	 * launch shortcuts, and an action to open the launch configuration dialog.
-	 *
-	 * @param menu the menu to fill
-	 */
-	protected void fillMenu(Menu menu) {
-		super.fillMenu(menu);
-
-		// Separator between history and common actions
-		if (menu.getItemCount() > 0) {
-			addSeparator(menu);
-		}
-
-		addToMenu(menu, new LaunchAsAction(getLaunchGroupIdentifier()), -1);
-		addToMenu(menu, new OpenLaunchDialogAction(getLaunchGroupIdentifier()), -1);
-		addToMenu(menu, new OrganizeFavoritesAction(getLaunchGroupIdentifier()), -1);
-	}
-	
-	/**
-	 * Launch the last launch, or open the launch config dialog if none.
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		ILaunchConfiguration configuration = getLastLaunch();
-		if (configuration == null) {
-			DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(), getLaunchGroupIdentifier());
-		} else {
-			DebugUITools.launch(configuration, getMode());
-		}
-	}	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
deleted file mode 100644
index 0acaf01..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ContextualLaunchAction.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.IEvaluationContext;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.LaunchShortcutAction;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.ILaunchGroup;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * An action delegate that builds a context menu with applicable launch shortcuts
- * for a specific launch mode.
- * <p>
- * This class can be subclassed and contributed as an object contribution pop-up
- * menu extension action. When invoked, it becomes a sub-menu that dynamically
- * builds a list of applicable launch shortcuts for the current selection.
- * Each launch shortcut may have optional information to support a context menu action. The extra
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class ContextualLaunchAction implements IObjectActionDelegate, IMenuCreator {
-
-	private IStructuredSelection fSelection;
-	private IAction fDelegateAction;
-	private String fMode;
-	// default launch group for this mode (null category)
-	private ILaunchGroup fGroup = null;
-	// map of launch groups by (non-null) categories, for this mode
-	private Map fGroupsByCategory = null;
-	// whether to re-fill the menu (reset on selection change)
-	private boolean fFillMenu = true;
-	
-	/**
-	 * Constructs a contextual launch action for the given launch mode.
-	 * 
-	 * @param mode launch mode
-	 */
-	public ContextualLaunchAction(String mode) {
-		fMode = mode;
-		ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
-		fGroupsByCategory = new HashMap(3);
-		for (int i = 0; i < groups.length; i++) {
-			ILaunchGroup group = groups[i];
-			if (group.getMode().equals(mode)) {
-				if (group.getCategory() == null) {
-					fGroup = group;
-				} else {
-					fGroupsByCategory.put(group.getCategory(), group);
-				}
-			}
-		}
-	}
-	
-	/*
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// We don't have a need for the active part.
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		// nothing to do
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		// never called
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		//Create the new menu. The menu will get filled when it is about to be shown. see fillMenu(Menu).
-		Menu menu = new Menu(parent);
-		/**
-		 * Add listener to repopulate the menu each time
-		 * it is shown because MenuManager.update(boolean, boolean) 
-		 * doesn't dispose pulldown ActionContribution items for each popup menu.
-		 */
-		menu.addMenuListener(new MenuAdapter() {
-			public void menuShown(MenuEvent e) {
-				if (fFillMenu) {
-					Menu m = (Menu)e.widget;
-					MenuItem[] items = m.getItems();
-					for (int i=0; i < items.length; i++) {
-						items[i].dispose();
-					}
-					fillMenu(m);
-					fFillMenu = false;
-				}
-			}
-		});
-		return menu;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// Never called because we become a menu.
-	}
-	
-	/*
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// if the selection is an IResource, save it and enable our action
-		if (selection instanceof IStructuredSelection) {
-			fFillMenu = true;
-			if (action != null) {
-				if (fDelegateAction != action) {
-					fDelegateAction = action;
-					fDelegateAction.setMenuCreator(this);
-				}
-				// save selection and enable our menu
-				fSelection = (IStructuredSelection) selection;
-				action.setEnabled(true);
-				return;
-			}
-		}
-		action.setEnabled(false);
-	}
-
-	/**
-	 * Fill pull down menu with the pages of the JTabbedPane
-	 */
-	private void fillMenu(Menu menu) {
-		// lookup appropriate launch config types and build launch actions for them.
-		// Retrieve the current perspective and the registered shortcuts
-		String activePerspID = getActivePerspectiveID();
-		if (activePerspID == null || fSelection == null) {
-			return;
-		}
-		
-		IEvaluationContext context = createContext();
-		// gather all shortcuts and run their filters so that we only run the
-		// filters one time for each shortcut. Running filters can be expensive.
-		// Also, only *LOADED* plugins get their filters run.
-		List /* <LaunchShortcutExtension> */ allShortCuts = getLaunchConfigurationManager().getLaunchShortcuts();
-		Iterator iter = allShortCuts.iterator();
-		List filteredShortCuts = new ArrayList(10);
-		while (iter.hasNext()) {
-			LaunchShortcutExtension ext = (LaunchShortcutExtension) iter.next();
-			try {
-				if (!WorkbenchActivityHelper.filterItem(ext) && isApplicable(ext, context)) {
-					filteredShortCuts.add(ext);
-				}
-			} catch (CoreException e) {
-				// not supported
-			}
-		}
-		iter = filteredShortCuts.iterator();
-		int accelerator = 1;
-		String category = null;
-		while (iter.hasNext()) {
-			LaunchShortcutExtension ext = (LaunchShortcutExtension) iter.next();
-			Set modes = ext.getModes(); // supported launch modes
-			Iterator modeIter = modes.iterator();
-			while (modeIter.hasNext()) {
-				String mode = (String) modeIter.next();
-				if (mode.equals(fMode)) {
-					category = ext.getCategory();
-					populateMenuItem(mode, ext, menu, accelerator++);
-				}
-			}
-		}
-		if (accelerator > 1) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-		ILaunchGroup group = fGroup;
-		if (category != null) {
-			group = (ILaunchGroup) fGroupsByCategory.get(category);
-		}
-		IAction action = new OpenLaunchDialogAction(group.getIdentifier());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(menu, -1);
-	}
-
-	/**
-	 * @return an Evaluation context with default variable = selection
-	 */
-	private IEvaluationContext createContext() {
-		// create a default evaluation context with default variable of the user selection
-		List selection = getSelectedElements();
-		IEvaluationContext context = new EvaluationContext(null, selection);
-		context.addVariable("selection", selection); //$NON-NLS-1$
-		
-		return context;
-	}
-	
-	/**
-	 * @return current selection as a List.
-	 */
-	private List getSelectedElements() {
-		ArrayList result = new ArrayList();
-		Iterator iter = fSelection.iterator();
-		while (iter.hasNext()) {
-			result.add(iter.next());
-		}
-		return result;
-	}
-	
-	/**
-	 * Evaluate the enablement logic in the contextualLaunch
-	 * element description. A true result means that we should
-	 * include this shortcut in the context menu.
-	 * @return true iff shortcut should appear in context menu
-	 */
-	private boolean isApplicable(LaunchShortcutExtension ext, IEvaluationContext context) throws CoreException {
-		Expression expr = ext.getContextualLaunchEnablementExpression();
-		return ext.evalEnablementExpression(context, expr);
-	}
-
-	/**
-	 * Add the shortcut to the context menu's launch submenu.
-	 */
-	private void populateMenuItem(String mode, LaunchShortcutExtension ext, Menu menu, int accelerator) {
-		LaunchShortcutAction action = new LaunchShortcutAction(mode, ext);
-		action.setActionDefinitionId(ext.getId());
-		String helpContextId = ext.getHelpContextId();
-		if (helpContextId != null) {
-			WorkbenchHelp.setHelp(action, helpContextId);
-		}
-		StringBuffer label= new StringBuffer();
-		if (accelerator >= 0 && accelerator < 10) {
-			//add the numerical accelerator
-			label.append('&');
-			label.append(accelerator);
-			label.append(' ');
-		}
-		String contextLabel= ext.getContextLabel(mode);
-		// replace default action label with context label if specified.
-		label.append((contextLabel != null) ? contextLabel : action.getText());
-		action.setText(label.toString());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(menu, -1);
-	}
-
-	/**
-	 * Return the ID of the currently active perspective.
-	 * 
-	 * @return the active perspective ID or <code>null</code> if there is none.
-	 */
-	private String getActivePerspectiveID() {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor persp = page.getPerspective();
-				if (persp != null) {
-					return persp.getId();
-				}
-			}
-		}
-		return null;
-	}
-	/**
-	 * Returns the launch configuration manager.
-	*
-	* @return launch configuration manager
-	*/
-	private LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
deleted file mode 100644
index 3f3fb06..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/DebugAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.actions.ExecutionAction;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Action to launch the last launch configuration that was successfully
- * launched, in debug mode. If no configurations have been launched, the launch
- * configuration dialog is opened.
- * <p>
- * This class is not intended to be subclassed. This class may
- * be instantiated.
- * </p>
- * @since 2.0
- */
-public final class DebugAction extends ExecutionAction {
-	
-	public DebugAction() {
-		super(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
-	}
-
-	/**
-	 * @see ExecutionAction#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.DEBUG_MODE;
-	}
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
deleted file mode 100644
index 5ebbd06..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ILaunchable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-/**
- * Interface used to tag objects as launchable. Objects that provide
- * an adapter of this type will be considered by the contextual
- * launch support. 
- * <p>
- * This interface is not intended to be implemented. Instead clients
- * may contribute an adapter of this type for launchable objects
- * via the <code>org.eclipse.core.runtime.adapters</code> extension
- * point. A factory and implementation of this interface are not actually
- * required.
- * </p>
- * @see org.eclipse.debug.ui.actions.ContextualLaunchAction
- * @since 3.0
- */
-public interface ILaunchable {
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
deleted file mode 100644
index e731135..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IRunToLineTarget.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An adapter for a "run to line" operation. The debug platform provides
- * a retargettable "run to line" action that debuggers may plug into
- * by providing an adapter (see <code>IAdaptable</code>) of this type.
- * This allows the platform to provide one command and keybinding for
- * the "run to line" function to be shared by many debuggers.
- * <p>
- * When a part is activated, a retargettable action asks the part
- * for its <code>IRunToLineTarget</code> adapter. If one exists,
- * that adapter is delegated to to perform "run to line" operations when
- * the user invokes an associated action. If an adapter does not exist
- * for the part, the retargettable actions asks selected objects in the
- * active part for an adapter. Generally, a debug implementation will
- * provide breakpoint adapters for relevant editors and model objects. 
- * </p>  
- * <p>
- * Clients are intended to implement this interface and provide instances as
- * an adapter on applicable parts (for example, editors) that support the
- * operation.
- * </p>
- * @since 3.0
- */
-public interface IRunToLineTarget {
-	
-	/**
-	 * Perform a run to line operation on the given element that is 
-	 * currently selected and suspended in the Debug view. Implementations
-	 * must honor the user preference of whether to skip breakpoints
-	 * during the operation -
-	 * see <code>IDebugUIConstants.PREF_SKIP_BREAKPOINTS_DURING_RUN_TO_LINE</code>.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the selection on which the action has been invoked
-	 * @param target suspended element to perform the "run to line" action on
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public void runToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) throws CoreException;
-
-	/**
-	 * Returns whether a run to line operation can be performed on the given
-	 * element that is currently selected and suspended in the Debug view.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection the selection on which the action has been invoked
-	 * @param target suspended element to perform the "run to line" action on
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public boolean canRunToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target);
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
deleted file mode 100644
index d3f4cbf..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/IToggleBreakpointsTarget.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * An adapter to support breakpoint creation/deletion for an active part
- * or selection within an active part. The debug platform provides
- * retargettable actions for toggling line breakpoints, method breakpoints,
- * and watchpoints. A debug implementation can plug into the global actions
- * by providing an adapter of this type on relevant parts and objects.
- * The debug platform provides one command and keybinding for each breakpoint
- * operation.
- * <p>
- * When a part is activated, a retargettable action asks the part
- * for its <code>IToggleBreakpointTarget</code> adapter. If one exists,
- * that adapter is delegated to to perform breakpoint operations when
- * the user invokes an associated action. If an adapter does not exist
- * for the part, the retargettable actions asks selected objects in the
- * active part for an adapter. Generally, a debug implementation will
- * provide breakpoint adapters for relevant editors and model objects. 
- * </p> 
- * <p>
- * Clients are intended to implement this interface and provide instances as
- * an adapter on applicable parts (for example, editors) and objects (for
- * example, methods and fields) that support breakpoint toggling.
- * </p>
- * @since 3.0
- */
-public interface IToggleBreakpointsTarget {
-	
-	/**
-	 * Creates new line breakpoints or removes existing breakpoints.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
-	 * @param selection selection on which line breakpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
-	/**
-	 * Returns whether line breakpoints can be toggled on the given selection.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection selection on which line breakpoints may be toggled
-	 * @return whether line breakpoints can be toggled on the given selection
-	 */
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection);
-
-	/**
-	 * Creates new method breakpoints or removes existing breakpoints.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
-	 * @param selection selection on which method breakpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
-	/**
-	 * Returns whether method breakpoints can be toggled on the given selection.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection selection on which method breakpoints may be toggled
-	 * @return whether method breakpoints can be toggled on the given selection
-	 */
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection);
-	
-	/**
-	 * Creates new watchpoints or removes existing breakpoints.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked  
-	 * @param selection selection on which watchpoints should be toggled
-	 * @throws CoreException if unable to perform the action 
-	 */
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException;
-	
-	/**
-	 * Returns whether watchpoints can be toggled on the given selection.
-	 * The selection varies depending on the given part. For example,
-	 * a text selection is provided for text editors, and a structured
-	 * selection is provided for tree views, and may be a multi-selection.
-	 * 
-	 * @param part the part on which the action has been invoked
-	 * @param selection selection on which watchpoints may be toggled
-	 * @return whether watchpoints can be toggled on the given selection
-	 */
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection);	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
deleted file mode 100644
index 2a85412..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Launches a launch configuration in a specific mode.
- * <p>
- * Clients are not intended to subclass this class; clients may instantiate this
- * class.
- * </p>
- * @since 2.1
- */
-public class LaunchAction extends Action {
-
-	/**
-	 * The configuration to launch.
-	 */
-	private ILaunchConfiguration fConfiguration;
-	/**
-	 * The mode to launch in
-	 */
-	private String fMode;
-	
-	/**
-	 * Constucts an action that launches the specified launch configuration
-	 * in the specified mode.
-	 * 
-	 * @param configuration launch configuration
-	 * @param mode launch mode - one of <code>ILaunchManager.RUN_MODE</code> or
-	 * <code>ILaunchManager.DEBUG_MODE</code>
-	 */
-	public LaunchAction(ILaunchConfiguration configuration, String mode) {
-		fConfiguration = configuration;
-		fMode = mode;
-		setText(configuration.getName());
-		setImageDescriptor(DebugUITools.getDefaultImageDescriptor(configuration));
-		WorkbenchHelp.setHelp(
-			this,
-			IDebugHelpContextIds.RELAUNCH_HISTORY_ACTION);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		DebugUITools.launch(fConfiguration, fMode);
-	}
-	
-	/**
-	 * If the user has control-clicked the launch history item, open the launch
-	 * configuration dialog on the launch configuration, rather than running it.
-	 * 
-	 * @see org.eclipse.jface.action.IAction#runWithEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(Event event) {
-		if ((event.stateMask & SWT.MOD1) > 0) {
-			IStructuredSelection selection = new StructuredSelection(fConfiguration);
-			String id = DebugUITools.getLaunchGroup(fConfiguration, fMode).getIdentifier();
-			DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), selection, id); 
-		} else {
-			run();
-		}
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
deleted file mode 100644
index be69da2..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAsAction.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.internal.ui.actions.LaunchShortcutAction;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A cascading sub-menu that shows all launch shortcuts pertinent to a
- * launch group.
- * 
- * @since 2.1
- */
-public class LaunchAsAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
-	/**
-	 * Cascading menu 
-	 */
-	private Menu fCreatedMenu;
-	
-	/**
-	 * Launch group identifier 
-	 */
-	private String fLaunchGroupIdentifier;
-	
-	/**
-	 * Presentation wrapper for this action
-	 */
-	private IAction fAction;
-	
-	/**
-	 * Creates a cascading menu action to populate with shortcuts in the given
-	 * launch group.
-	 *  
-	 * @param launchGroupIdentifier launch group identifier
-	 */
-	public LaunchAsAction(String launchGroupIdentifier) {
-		super();
-		fLaunchGroupIdentifier = launchGroupIdentifier;
-		ILaunchMode launchMode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(getMode());
-		setText(MessageFormat.format(ActionMessages.getString("LaunchAsAction.0"), new String[]{launchMode.getLabel()})); //$NON-NLS-1$
-		setMenuCreator(this);
-	}
-	
-	/**
-	 * Returns the launch group associatd with this action.
-	 * 
-	 * @return the launch group associatd with this action
-	 */
-	private LaunchGroupExtension getLaunchGroup() {
-		return getLaunchConfigurationManager().getLaunchGroup(fLaunchGroupIdentifier);
-	}
-
-	/**
-	 * @see IAction#run()
-	 */
-	public void run() {
-		//do nothing, this action just creates a cascading menu.
-	}
-		
-	private void createAction(Menu parent, IAction action, int count) {
-		StringBuffer label= new StringBuffer();
-		//add the numerical accelerator
-		if (count < 10) {
-			label.append('&');
-			label.append(count);
-			label.append(' ');
-		}
-		label.append(action.getText());
-		action.setText(label.toString());
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-	
-	/**
-	 * @see IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (getCreatedMenu() != null) {
-			getCreatedMenu().dispose();
-		}
-	}
-	
-	/**
-	 * @see IMenuCreator#getMenu(Control)
-	 */
-	public Menu getMenu(Control parent) {
-		return null;
-	}
-	
-	/**
-	 * @see IMenuCreator#getMenu(Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		if (getCreatedMenu() != null) {
-			 getCreatedMenu().dispose();
-		 }
-		setCreatedMenu(new Menu(parent));
-		fillMenu();
-		initMenu();
-		return getCreatedMenu();
-	}
-	
-	private void fillMenu() {
-		//Retrieve the current perspective and the registered shortcuts
-		 List shortcuts = null;
-		 String activePerspID = getActivePerspectiveID();
-		 if (activePerspID != null) {
-			 shortcuts = getLaunchConfigurationManager().getLaunchShortcuts(activePerspID, getCategory());
-		 }
-	
-		 // If NO shortcuts are listed in the current perspective, add ALL shortcuts
-		 // to avoid an empty cascading menu
-		 if (shortcuts == null || shortcuts.isEmpty()) {
-			 shortcuts = getLaunchConfigurationManager().getLaunchShortcuts(getCategory());
-		 }
-
-		 int menuCount = 1;
-		 
-		 Iterator iter = shortcuts.iterator();
-		 while (iter.hasNext()) {
-			 LaunchShortcutExtension ext = (LaunchShortcutExtension) iter.next();
-			 if (ext.getModes().contains(getMode()) && !WorkbenchActivityHelper.filterItem(ext)) {
-				populateMenu(ext, getCreatedMenu(), menuCount);
-				menuCount++;
-			 }
-		 }
-	}
-	
-	/**
-	 * Creates the menu for the action
-	 */
-	private void initMenu() {
-		// Add listener to repopulate the menu each time
-		// it is shown to reflect changes in selection or active perspective
-		fCreatedMenu.addMenuListener(new MenuAdapter() {
-			public void menuShown(MenuEvent e) {
-				Menu m = (Menu)e.widget;
-				MenuItem[] items = m.getItems();
-				for (int i=0; i < items.length; i++) {
-					items[i].dispose();
-				}
-				fillMenu();
-			}
-		});
-	}
-		
-	/**
-	 * Add the shortcut to the menu.
-	 */
-	private void populateMenu(LaunchShortcutExtension ext, Menu menu, int menuCount) {
-		LaunchShortcutAction action = new LaunchShortcutAction(getMode(), ext);
-		action.setActionDefinitionId(ext.getId());
-		String helpContextId = ext.getHelpContextId();
-		if (helpContextId != null) {
-			WorkbenchHelp.setHelp(action, helpContextId);
-		}
-		/*if (fKeyBindingService != null) {
-			fKeyBindingService.registerGlobalAction(action);	
-		}*/
-		createAction(menu, action, menuCount);
-	}
-	
-	/**
-	 * Return the ID of the currently active perspective, or <code>null</code>
-	 * if there is none.
-	 */
-	private String getActivePerspectiveID() {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IPerspectiveDescriptor persp = page.getPerspective();
-				if (persp != null) {
-					return persp.getId();
-				}
-			}
-		}
-		return null;
-	}
-		
-	/**
-	 * Returns the mode of this action - run or debug 
-	 * 
-	 * @return the mode of this action - run or debug
-	 */
-	private String getMode() {
-		return getLaunchGroup().getMode();
-	}
-	
-	/**
-	 * Returns the category of this action - possibly <code>null</code>
-	 *
-	 * @return the category of this action - possibly <code>null</code>
-	 */
-	private String getCategory() {
-		return getLaunchGroup().getCategory();
-	}
-	
-	private Menu getCreatedMenu() {
-		return fCreatedMenu;
-	}
-	
-	private void setCreatedMenu(Menu createdMenu) {
-		fCreatedMenu = createdMenu;
-	}
-	
-	/**
-	 * Returns the launch configuration manager.
-	 *
-	 * @return launch configuration manager
-	 */
-	private LaunchConfigurationManager getLaunchConfigurationManager() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
-	}	
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-//		if (window instanceof WorkbenchWindow) {
-//			fKeyBindingService= ((WorkbenchWindow)window).getKeyBindingService();
-//		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// do nothing - this is just a menu
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (fAction == null) {
-			initialize(action);
-		}
-	}
-	
-	/**
-	 * Set the enabled state of the underlying action based on whether there are any
-	 * registered launch shortcuts for this launch mode.
-	 */
-	private void initialize(IAction action) {
-		fAction = action;
-		action.setEnabled(existsShortcutsForMode());	
-	}	
-
-	/**
-	 * Return whether there are any registered launch shortcuts for
-	 * the mode of this action.
-	 * 
-	 * @return whether there are any registered launch shortcuts for
-	 * the mode of this action
-	 */
-	private boolean existsShortcutsForMode() {
-		List shortcuts = getLaunchConfigurationManager().getLaunchShortcuts(getCategory());
-		Iterator iter = shortcuts.iterator();
-		while (iter.hasNext()) {
-			LaunchShortcutExtension ext = (LaunchShortcutExtension) iter.next();
-			if (ext.getModes().contains(getMode())) {
-				return true;
-			}
-		}		
-		return false;
-	}	
-}
-
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
deleted file mode 100644
index 2da8a59..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/OpenLaunchDialogAction.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Opens the launch configuration dialog in the context of a launch group.
- * <p>
- * Clients are not intended to subclass this class; clients may instantiate this
- * class.
- * </p>
- * @since 2.1
- */
-public class OpenLaunchDialogAction extends Action implements IWorkbenchWindowActionDelegate {
-
-	/**
-	 * Launch group identifier
-	 */
-	private String fIdentifier;
-	
-	/**
-	 * The action used to render this delegate.
-	 */
-	private IAction fAction;	
-	
-	/**
-	 * Constructs an action that opens the launch configuration dialog in
-	 * the context of the specified launch group.
-	 * 
-	 * @param identifier unique identifier of a launch group extension
-	 */
-	public OpenLaunchDialogAction(String identifier) {
-		fIdentifier = identifier;
-		LaunchGroupExtension extension = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(identifier);
-		if (extension != null) {
-			setText(extension.getLabel() + "..."); //$NON-NLS-1$
-			setImageDescriptor(extension.getImageDescriptor());
-		}
-		WorkbenchHelp.setHelp(this, IDebugHelpContextIds.OPEN_LAUNCH_CONFIGURATION_ACTION);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		LaunchHistory history = DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchHistory(fIdentifier);
-		ILaunchConfiguration configuration = history.getRecentLaunch();
-		IStructuredSelection selection = null;
-		if (configuration == null) {
-			selection = new StructuredSelection();
-		} else {
-			selection = new StructuredSelection(configuration);
-		}
-		int result = DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), selection, fIdentifier);
-		notifyResult(result == Window.OK);
-	}
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (fAction == null) {
-			initialize(action);
-		} 		
-	}
-	
-	/**
-	 * Set the enabled state of the underlying action based on whether there are any
-	 * registered launch configuration types that understand how to launch in the
-	 * mode of this action.
-	 */
-	private void initialize(IAction action) {
-		fAction = action;
-		action.setEnabled(existsConfigTypesForMode());	
-	}	
-
-	/**
-	 * Return whether there are any registered launch configuration types for
-	 * the mode of this action.
-	 * 
-	 * @return whether there are any registered launch configuration types for
-	 * the mode of this action
-	 */
-	private boolean existsConfigTypesForMode() {
-		ILaunchConfigurationType[] configTypes = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		for (int i = 0; i < configTypes.length; i++) {
-			ILaunchConfigurationType configType = configTypes[i];
-			if (configType.supportsMode(getMode())) {
-				return true;
-			}
-		}		
-		return false;
-	}
-	
-	/**
-	 * Returns the launch mode for this action.
-	 * 
-	 * @return launch mode
-	 */
-	private String getMode() {
-		return DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(fIdentifier).getMode();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
deleted file mode 100644
index 07f25ca..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunAction.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.ui.actions.ExecutionAction;
-import org.eclipse.debug.ui.IDebugUIConstants;
-
-/**
- * Action to launch the last launch configuration that was successfully
- * launched, in run mode. If no configurations have been launched, the launch
- * configuration dialog is opened.
- * </p>
- * <p>
- * This class is not intended to be subclassed. This class may
- * be instantiated.
- * </p>
- * @since 2.0
- */
-public final class RunAction extends ExecutionAction {
-	
-	public RunAction() {
-		super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
-	}
-
-	/**
-	 * @see ExecutionAction#getMode()
-	 */
-	protected String getMode() {
-		return ILaunchManager.RUN_MODE;
-	}
-
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
deleted file mode 100644
index 76493e0..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RunToLineActionDelegate.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.actions.ActionMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.ISelectionListener;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A run to line action that can be contributed to a an editor. The action
- * will perform the "run to line" operation for editors that provide
- * an appropriate <code>IRunToLineTarget</code> adapter.
- * <p>
- * Clients may reference/contribute this class as an editor action delegate
- * in plug-in XML. This class is not intended to be subclassed.
- * </p>
- * @since 3.0
- */
-public class RunToLineActionDelegate implements IEditorActionDelegate, IActionDelegate2 {
-	
-	private IEditorPart fActivePart = null;
-	private IRunToLineTarget fPartTarget = null;
-	private IAction fAction = null;
-	private ISelectionListener fSelectionListener = new DebugSelectionListener();
-	private ISuspendResume fTargetElement = null;
-	
-	class DebugSelectionListener implements ISelectionListener {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-		 */
-		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-			fTargetElement = null;
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection) selection;
-				if (ss.size() == 1) {
-					Object object = ss.getFirstElement();
-					if (object instanceof ISuspendResume) {
-						fTargetElement = (ISuspendResume) object;
-					}
-				}
-			}
-			update();
-		}
-		
-	}
-	
-	/*(non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		fActivePart.getSite().getWorkbenchWindow().getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, fSelectionListener);
-		fActivePart = null;
-		fPartTarget = null;
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (fPartTarget != null && fTargetElement != null) {
-			try {
-				fPartTarget.runToLine(fActivePart, fActivePart.getSite().getSelectionProvider().getSelection(), fTargetElement);
-			} catch (CoreException e) {
-				DebugUIPlugin.errorDialog(fActivePart.getSite().getWorkbenchWindow().getShell(), ActionMessages.getString("RunToLineAction.0"), ActionMessages.getString("RunToLineAction.1"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		this.fAction = action;
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		if (fAction == null) {
-			return;
-		}
-		if (fPartTarget != null && fTargetElement != null) {
-			fAction.setEnabled(fTargetElement.isSuspended() &&
-				fPartTarget.canRunToLine(fActivePart, fActivePart.getSite().getSelectionProvider().getSelection(), fTargetElement));
-		} else {
-			fAction.setEnabled(false);
-		}
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		this.fAction = action; 
-		if (action != null) {
-			action.setText(ActionMessages.getString("RunToLineActionDelegate.4")); //$NON-NLS-1$
-			action.setImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_LCL_RUN_TO_LINE));
-			action.setDisabledImageDescriptor(DebugUITools.getImageDescriptor(IInternalDebugUIConstants.IMG_DLCL_RUN_TO_LINE));
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		init(action);
-		if (fActivePart != null && !fActivePart.equals(targetEditor)) {
-			fActivePart.getSite().getWorkbenchWindow().getSelectionService().removeSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, fSelectionListener);
-		}
-		fPartTarget = null;
-		fActivePart = targetEditor;
-		if (targetEditor != null) {
-			targetEditor.getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW, fSelectionListener);
-			fPartTarget  = (IRunToLineTarget) targetEditor.getAdapter(IRunToLineTarget.class);
-			if (fPartTarget == null) {
-				IAdapterManager adapterManager = Platform.getAdapterManager();
-				// TODO: we could restrict loading to cases when the debugging context is on
-				if (adapterManager.hasAdapter(targetEditor, "org.eclipse.debug.internal.ui.actions.IRunToLineTarget")) { //$NON-NLS-1$
-					fPartTarget = (IRunToLineTarget) adapterManager.loadAdapter(targetEditor, "org.eclipse.debug.internal.ui.actions.IRunToLineTarget"); //$NON-NLS-1$
-				}
-			}
-		}
-		update();		
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
deleted file mode 100644
index 79a9c6c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleMethodBreakpointActionDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.actions.ToggleBreakpointObjectActionDelegate;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A toggle method breakpoint action that can be contributed an object
- * contribution. The action will toggle method breakpoints on objects
- * that provide an <code>IToggleBreakpointsTarget</code> adapter.
- * <p>
- * Clients may reference/contribute this class as an object contribution
- * action delegate in plug-in XML. This class is not intended to be
- * subclassed.
- * </p>
- * @since 3.0
- */
-public class ToggleMethodBreakpointActionDelegate extends ToggleBreakpointObjectActionDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.ToggleBreakpointObjectActionDelegate#performAction(org.eclipse.debug.internal.ui.actions.IToggleBreakpointsTarget, org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	protected void performAction(IToggleBreakpointsTarget target, IWorkbenchPart part, ISelection selection) throws CoreException {
-		target.toggleMethodBreakpoints(part, selection);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
deleted file mode 100644
index 20efa73..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/ToggleWatchpointActionDelegate.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.actions;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.actions.ToggleBreakpointObjectActionDelegate;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * A toggle watchpoint action that can be contributed an object
- * contribution. The action will toggle watchpoints on objects
- * that provide an <code>IToggleBreakpointsTarget</code> adapter.
- * <p>
- * Clients may reference/contribute this class as an object contribution
- * action delegate in plug-in XML. This class is not intended to be
- * subclassed.
- * </p>
- * @since 3.0
- */
-public class ToggleWatchpointActionDelegate extends ToggleBreakpointObjectActionDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.actions.ToggleBreakpointObjectActionDelegate#performAction(org.eclipse.debug.internal.ui.actions.IToggleBreakpointsTarget, org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	protected void performAction(IToggleBreakpointsTarget target, IWorkbenchPart part, ISelection selection) throws CoreException {
-		target.toggleWatchpoints(part, selection);
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
deleted file mode 100644
index ea275ff..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/package.html
+++ /dev/null
@@ -1,17 +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 UI Actions</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides a set of actions related to running and debugging applications.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set of actions related to running and debugging applications.</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
deleted file mode 100644
index fda381d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Default console color provider for a processs. Colors output to standard
- * out, in, and error, as specified by user preferences.
- * <p>
- * Clients implementing a console color provider should subclass this class.
- * </p>
- * @since 2.1
- */
-public class ConsoleColorProvider implements IConsoleColorProvider {
-
-	private IProcess fProcess;
-	private IConsole fConsole;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#connect(org.eclipse.debug.core.model.IProcess, org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void connect(IProcess process, IConsole console) {
-		fProcess = process;
-		fConsole = console;
-		IStreamsProxy streamsProxy = fProcess.getStreamsProxy();
-		if (streamsProxy != null) { 
-			fConsole.connect(streamsProxy);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#disconnect()
-	 */
-	public void disconnect() {
-		fConsole = null;
-		fProcess = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return fProcess == null || fProcess.isTerminated();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(java.lang.String)
-	 */
-	public Color getColor(String streamIdentifer) {
-		if (IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM.equals(streamIdentifer)) {
-			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_OUT_COLOR);
-		}
-		if (IDebugUIConstants.ID_STANDARD_ERROR_STREAM.equals(streamIdentifer)) {
-			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_ERR_COLOR);
-		}		
-		if (IDebugUIConstants.ID_STANDARD_INPUT_STREAM.equals(streamIdentifer)) {
-			return DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_SYS_IN_COLOR);
-		}		
-		return null;
-	}
-
-	/**
-	 * Returns the process this color provider is providing color for, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return the process this color provider is providing color for, or
-	 * <code>null</code> if none
-	 */
-	protected IProcess getProcess() {
-		return fProcess;
-	}
-	
-	/**
-	 * Returns the console this color provider is connected to, or
-	 * <code>null</code> if none.
-	 * 
-	 * @return IConsole the console this color provider is connected to, or
-	 * <code>null</code> if none
-	 */
-	protected IConsole getConsole() {
-		return fConsole;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
deleted file mode 100644
index 4b259d5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/FileLink.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * A hyperlink that opens a file in a text editor and selects a range of text.
- * <p>
- * This class is not intended to be subclassed; clients may instantiate this
- * class.
- * </p>
- * @since 2.1
- */
-public class FileLink implements IConsoleHyperlink {
-
-	private IFile fFile;
-	private int fFileOffset;
-	private int fFileLength;
-	private int fFileLineNumber;
-	private String fEditorId;
-	
-	/**
-	 * Constructs a hyperlink to the specified file.
-	 * 
-	 * @param file the file to open when activated
-	 * @param editorId the identifier of the editor to open the file in, or
-	 * <code>null</code> if the default editor should be used
-	 * @param fileOffset the offset in the file to select when activated, or -1
-	 * @param fileLength the length of text to select in the file when activated
-	 * or -1
-	 * @param fileLineNumber the line number to select in the file when
-	 * activated, or -1
-	 */
-	public FileLink(IFile file, String editorId, int fileOffset, int fileLength, int fileLineNumber) {
-		fFile = file;
-		fFileOffset = fileOffset;
-		fFileLength = fileLength;
-		fFileLineNumber = fileLineNumber;
-		fEditorId = editorId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkActivated()
-	 */
-	public void linkActivated() {
-		IWorkbenchWindow window = DebugUIPlugin.getActiveWorkbenchWindow();
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				try {
-					IEditorPart editorPart = page.openEditor(new FileEditorInput(fFile), getEditorId() , false);
-					if (fFileLineNumber > 0 && editorPart instanceof ITextEditor) {
-						ITextEditor textEditor = (ITextEditor)editorPart;
-						IEditorInput input = editorPart.getEditorInput();
-						if (fFileOffset < 0) {
-							IDocumentProvider provider = textEditor.getDocumentProvider();
-							try {
-								provider.connect(input);
-							} catch (CoreException e) {
-								// unable to link
-								DebugUIPlugin.log(e);
-								return;
-							}
-							IDocument document = provider.getDocument(input);
-							try {
-								fFileOffset = document.getLineOffset(fFileLineNumber - 1);
-								fFileLength = document.getLineLength(fFileLineNumber - 1);
-							} catch (BadLocationException e) {
-								// unable to link
-								DebugUIPlugin.log(e);
-							}
-							provider.disconnect(input);
-						}
-						if (fFileOffset >= 0 && fFileLength >=0) {
-							textEditor.selectAndReveal(fFileOffset, fFileLength);
-						}
-					}
-				} catch (PartInitException e) {
-					DebugUIPlugin.log(e);
-				}	
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkEntered()
-	 */
-	public void linkEntered() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkExited()
-	 */
-	public void linkExited() {
-	}
-	
-	private String getEditorId() {
-		if (fEditorId == null) {
-			IWorkbench workbench= DebugUIPlugin.getDefault().getWorkbench();
-			// If there is a registered editor for the file use it.
-			IEditorDescriptor desc =  workbench.getEditorRegistry().getDefaultEditor(fFile.getName());
-			if (desc == null) {
-				//default editor
-				desc= workbench.getEditorRegistry().findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-			}
-			fEditorId= desc.getId();
-		}
-		return fEditorId;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
deleted file mode 100644
index d3dcf7e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsole.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * A console that displays output and writes input to a process. Implementors of
- * <code>IConsoleColorProvider</code> should connect streams to a console
- * document when connected to.
- * <p>
- * Clients are <b>not</b> intended to implement this interface.
- * </p>
- * @see org.eclipse.debug.ui.console.IConsoleColorProvider
- * @since 2.1
- */
-public interface IConsole {
-
-	/**
-	 * Connects this console to the given streams proxy. This associates the
-	 * standard in, out, and error streams with the console. Keyboard input will
-	 * be written to the given proxy.
-	 * 
-	 * @param streamsProxy
-	 */
-	public void connect(IStreamsProxy streamsProxy);
-	
-	/**
-	 * Connects this console to the given stream monitor, uniquely identified by
-	 * the given identifier. This allows for more than the standard (in, out,
-	 * error) streams to be connected to the console.
-	 * 
-	 * @param streamMonitor
-	 * @param streamIdentifer
-	 */
-	public void connect(IStreamMonitor streamMonitor, String streamIdentifer);
-	
-	/**
-	 * Adds the given hyperlink to this console. The link will be notified when
-	 * entered, exited, and activated.
-	 * <p>
-	 * If the link's region (offset/length) is within the console's document
-	 * current bounds, it is added immediately. Otherwise, the link is added
-	 * when the console's document grows to contain the link's region.
-	 * </p>
-	 * @param link the hyperlink to add 
-	 * @param offset the character offset within the console document where the
-	 * text assoicated with the hyperlink begins
-	 * @param length the length of the associated hyperlink text
-	 */
-	public void addLink(IConsoleHyperlink link, int offset, int length);
-	
-	/**
-	 * Returns the region of text associated with the given hyperlink, or
-	 * <code>null</code> if the given hyperlink is not contained in this
-	 * console.
-	 * 
-	 * @param link a console hyperlink
-	 * @return region of text associated with the hyperlink, or <code>null</code>
-	 */
-	public IRegion getRegion(IConsoleHyperlink link);
-
-	/**
-	 * Returns the document associated with this console.
-	 * 
-	 * @return document
-	 */
-	public IDocument getDocument(); 
-	
-	/**
-	 * Returns the process associated with this console.
-	 * 
-	 * @return the process associated with this console
-	 */
-	public IProcess getProcess();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
deleted file mode 100644
index b49392d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleColorProvider.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * Provides coloring for a console document. When a process is added to a
- * registered launch the debug plug-in creates a console document for the
- * process. By default, a document is created which is connected to the standard
- * input, output, and error streams associated with the process. A client may
- * override the default coloring by specifying a custom content provider for a
- * process type. A proccess type is defined via the process attribute
- * <code>IProcess. ATTR_PROCESS_TYPE</code>.
- * <p>
- * A console color provider extension is defined in <code>plugin.xml</code>.
- * Following is an example definition of a console color
- * provider extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.consoleColorProviders"&gt;
- *   &lt;consoleColorProvider 
- *      id="com.example.ExampleConsoleColorProvider"
- *      class="com.example.ExampleConsoleColorProviderClass"
- *      processType="ExampleProcessType"&gt;
- *   &lt;/consoleColorProvider&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this color provider.</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>IConsoleColorProvider</code>.</li>
- * <li><code>processType</code> specifies the identifier of the process type
- * this content provider is associated with (which corresponds to the
- * <code>ATTR_PROCESS_TYPE</code> attribute on a process).</li>
- * </ul>
- * </p> 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-
-public interface IConsoleColorProvider {
-
-	/**
-	 * Returns whether the console associated with this color provider's
-	 * process can currently accept keyboard input. This attribute is dynamic
-	 * and may change over the lifetime of a process/document.
-	 * 
-	 * @return whether the console associated with this color provider's
-	 * process can currently accept keyboard input
-	 */
-	public boolean isReadOnly();
-	
-	/**
-	 * Returns the color to draw output associated with the given stream.
-	 * 
-	 * @param streamIdentifer
-	 * @return Color
-	 */
-	public Color getColor(String streamIdentifer);
-	
-	/**
-	 * Connects this color provider to the given process and console document.
-	 * This color provider should connect its streams to the given console
-	 * document.
-	 * 
-	 * @param process
-	 * @param partitioner
-	 */
-	public void connect(IProcess process, IConsole console);
-	
-	/**
-	 * Disconnects this color provider.
-	 */
-	public void disconnect();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
deleted file mode 100644
index a90bc49..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleHyperlink.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-/**
- * A hyperlink in the console. Link behavior is implementation dependent.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-public interface IConsoleHyperlink {
-	
-	/**
-	 * 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.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
deleted file mode 100644
index b05ebec..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTracker.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Notified of lines appended to the console. A line tracker is defined in
- * <code>plugin.xml</code>. A line tracker is associated with a type of
- * process. Following is an example definition of a console line tracker
- * extension.
- * <pre>
- * &lt;extension point="org.eclipse.debug.ui.consoleLineTrackers"&gt;
- *   &lt;consoleLineTracker 
- *      id="com.example.ExampleConsoleLineTracker"
- *      class="com.example.ExampleConsoleLineTrackerClass"
- *      processType="ExampleProcessType"&gt;
- *   &lt;/consoleLineTracker&gt;
- * &lt;/extension&gt;
- * </pre>
- * The attributes are specified as follows:
- * <ul>
- * <li><code>id</code> specifies a unique identifier for this line tracker.</li>
- * <li><code>class</code> specifies a fully qualified name of a Java class
- *  that implements <code>IConsoleLineTracker</code>.</li>
- * <li><code>processType</code> specifies the identifier of the process type
- * this line tracker is associated with (which corresponds to the
- * <code>ATTR_PROCESS_TYPE</code> attribute on a process).</li>
- * </ul>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 2.1
- */
-public interface IConsoleLineTracker {
-	
-	/**
-	 * Notification that a console document has been created for which this
-	 * listener is registered. 
-	 *  
-	 * @param console console that has been created
-	 */
-	public void init(IConsole console);
-
-	/**
-	 * Notification that a line of text has been appended to the console. The
-	 * given region describes the offset and length of the line appended to the
-	 * console, excluding the line delimiter.
-	 * 
-	 * @param line region describing the offset and length of line appended to
-	 * the console, excluding the line delimiter
-	 */
-	public void lineAppended(IRegion line);
-	
-	/**
-	 * Disposes this console line tracker. 
-	 */
-	public void dispose();
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
deleted file mode 100644
index 1d89c58..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/IConsoleLineTrackerExtension.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.console;
-
-/**
- * An extension to the console line tracker interface that console line
- * trackers may implement to be notified when output from the console is complete.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleLineTrackerExtension extends IConsoleLineTracker {
-	
-	/**
-	 * Notification that all output streams connected to the console have been
-	 * closed. No more lines will be appended after this method is called.
-	 */
-	public void consoleClosed();
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/package.html
deleted file mode 100644
index 1e27d95..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/package.html
+++ /dev/null
@@ -1,51 +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 Console</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left">Provides a set of interfaces and classes for rendering and annotating text in the debug console.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set interfaces and classses for coloring streams of 
-  text, parsing output, and creating hyperlinks in the debug console.</p>
-<h3>Coloring Console Output</h3>
-<p>A process may have standard input, output, and error streams associated with, 
-  as defined by <b>org.eclipse.debug.core.model.IProcess</b> 
-  and <b>org.eclipse.debug.core.model.IStreamsProxy</b>. 
-  When a process is registered with the debug plug-in, a document is created to 
-  display the output of that process, and to provide input to the process via 
-  the keyboard. A console document is displayed in the Console View. By default, 
-  the output, error, and input streams are rendered in colors specified by user 
-  preferences.</p>
-<p>A client can specialize coloring for a process's streams by defining an <b>IConsoleColorProvider</b> 
-  extension (using the <b>org.eclipse.debug.ui.consoleColorProviders</b> 
-  extension point). A console color provider is defined for a <i>type</i> of process. 
-  A process type is defined by the creator of a process, and is specified on an 
-  <b>IProcess</b> via the <b>ATTR_PROCESS_TYPE</b> 
-  attribute. When a process is registered with the debug plug-in, a console color 
-  provider associated with the process type is instantiated, and connected to 
-  the process (<b>IProcess</b>) and a 
-  console (<b>IConsole</b>). The console 
-  color provider then connects its streams to the console (<b>IConsole</b>), 
-  via the console methods <b>connect(IStreamsProxy)</b> 
-  and <b>connect(IStreamMonitor, String)</b>. 
-  The color provider will then be consulted to provide a color when the console 
-  needs to render output from a stream.</p>
-<h3>Parsing Console Output</h3>
-<p>A client can be notified of output appended to a process's console document, 
-  by defining an <b>IConsoleLineTracker</b> 
-  extension (using the <b>org.eclipse.debug.ui.consoleLineTrackers</b> 
-  extension point). A console line tracker is defined for a <i>type</i> of process. 
-  When a process is registered with the debug plug-in, a console document is created 
-  for that process, and output is appended to that document. As output is written 
-  to the document, each console line tracker extension defined for that process 
-  type is notified of output, line by line. This support is most commonly used 
-  to annotate output with hyperlinks.</p>
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
deleted file mode 100644
index 6950f14..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/package.html
+++ /dev/null
@@ -1,72 +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 Tools</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides a generic debugger user interface that clients may customize via standard
-workbench extension points.</p>
-
-<h2>Package Specification</h2>
-
-<p>The Eclipse platform debug UI plug-in provides a set of classes and interfaces to
-support a language independent debugger user interface. A generic debug perspective is provided with a common
-set of views. Clients contribute actions to the debug views via the
-standard workbench extension points.</p>
-
-<h4>The Debug View</h4>
-
-<p>The debug view presents a tree of launched programs in debug and non-debug (run) mode.
-The view provides support for standard interactions such as terminating, stepping, suspending, and resuming
-threads, debug targets, and processes. The debug view is linked to an editor view, variable view, and
-console. The editor view is used to display source code for stack frames. A selection in
-the debug view causes the line of code being executed to be highlighted in the editor
-view. The variable view shows the visible variables in the selected stack frame, and the
-console view handles I/O for the debuggable process.</p>
-
-<h4>The Variables View</h4>
-
-<p>The variables view presents a tree of variables for the currently selected stack frame.
-A "details" area may be hidden/shown which provides a detailed description of 
-the selected variable. For example, the Java debugger displays the result of
-invoking 'toString()' on the selected variable in this area.</p>
-
-<h4>The Breakpoints View</h4>
-
-<p>The breakpoints view presents a list of all breakpoints currently defined in the
-workspace. It supports enabling/disabling and breakpoint removal.</p>
-
-<h4>The Expression View</h4>
-
-<p>The expression view presents a tree of expressions and their corresponding values.</p>
-
-<h4>Debug Model Presentation</h4>
-
-<p>The debug UI plug-in defines an extension (<b>org.eclipse.debug.ui.debugModelPresentations</b>)
-point to allow implementations of debug models to provide custom rendering and
-presentation of its debug elements. Extensions are registered for a specific debug
-model. It is intended that an implementation of a debug model will also provide an
-implementation of a debug model presentation. The presentation provides: 
-
-<ul>
-  <li>an image for a debug element or breakpoint</li>
-  <li>a label for a debug element or breakpoint</li>
-  <li>an editor input and editor id used to display a debug element, breakpoint, or source element</li>
-  <li>a detailed description of a variable value, used to display
-   in the "details" section of the variables view</li>
-</ul>
-
-<h4>Launch Configuration Dialog</h4>
-
-<p>The debug UI plug-in provides a lanuch configuration dialog for
-creating and editing launch configurations. Clients may contribute
-tabs to the launch configuration dialog via the launchConfigurationTabGroup
-extension point.</p>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
deleted file mode 100644
index df21af1..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/AbstractSourceContainerBrowser.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Common implementation for source container browsers.
- * <p>
- * Clients implementing <code>ISourceContainerBrowser</code> should
- * subclass this class.
- * </p>
- * @since 3.0
- */
-public class AbstractSourceContainerBrowser implements ISourceContainerBrowser {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#addSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director) {
-		return new ISourceContainer[0];
-	}
-	/* (non-Javadoc)
-	 * 
-	 * Generally, a source container browser can add source containers. Subclasses
-	 * should override as required.
-	 * 
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#canAddSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
-	 */
-	public boolean canAddSourceContainers(ISourceLookupDirector director) {
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#editSourceContainers(org.eclipse.swt.widgets.Shell, org.eclipse.debug.core.sourcelookup.ISourceLookupDirector, org.eclipse.debug.core.sourcelookup.ISourceContainer[])
-	 */
-	public ISourceContainer[] editSourceContainers(Shell shell, ISourceLookupDirector director, ISourceContainer[] containers) {
-		return new ISourceContainer[0];
-	}
-	/* (non-Javadoc)
-	 * 
-	 * Not all source containers can be edited. Subclasses should override
-	 * as required.
-	 * 
-	 * @see org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#canEditSourceContainers(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector, org.eclipse.debug.core.sourcelookup.ISourceContainer[])
-	 */
-	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers) {
-		return false;
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
deleted file mode 100644
index 9447614..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/ISourceContainerBrowser.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * Creates and edits source containers for a source lookup director.
- * Contributed via a source container presentation extension for
- * a specific type of source container.
- * <p>
- * Following is an example source container presentation definition
- * that contributes a source container browser via the
- * <code>browserClass</code> attribute.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.ui.sourceContainerPresentations&quot;&gt;
- *    &lt;sourceContainerPresentation
- *          browserClass=&quot;org.eclipse.debug.internal.ui.sourcelookup.browsers.ProjectSourceContainerBrowser&quot;
- *          containerTypeID=&quot;org.eclipse.debug.core.containerType.project&quot;
- *          icon=&quot;icons/full/obj16/prj_obj.gif&quot;
- *          id=&quot;org.eclipse.debug.ui.containerPresentation.project&quot;&gt;
- *    &lt;/sourceContainerPresentation&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * @since 3.0
- */
-public interface ISourceContainerBrowser {
-	/**
-	 * Creates and returns new source containers to add to the given
-	 * source lookup director.
-	 * 
-	 * @param shell the shell to use to parent any dialogs
-	 * @param director the director the new containers will be added to
-	 * @return the new source containers to add
-	 */
-	public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector director);
-	
-	/**
-	 * Returns whether this browser can add any source containers to the
-	 * given source lookup director.
-	 * 
-	 * @param director source lookup director to potentially add source
-	 *  containers to
-	 * @return whether this browser can add any source containers to the
-	 * given source lookup director
-	 */
-	public boolean canAddSourceContainers(ISourceLookupDirector director);
-	
-	/**
-	 * Edits and returns source containers to replace the given source
-	 * containers.
-	 * 
-	 * @param shell the shell to use to parent any dialogs
-	 * @param director the director the new containers will be added to
-	 * @param containers the source containers to be edited
-	 * @return the replacement source containers
-	 */
-	public ISourceContainer[] editSourceContainers(Shell shell, ISourceLookupDirector director, ISourceContainer[] containers);
-	
-	/**
-	 * Returns whether this browser can edit the given source containers.
-	 * 
-	 * @param director source lookup director to potentially edit source
-	 *  containers for
-	 * @param containers the containers to edit
-	 * @return whether this browser can edit the given source containers
-	 */
-	public boolean canEditSourceContainers(ISourceLookupDirector director, ISourceContainer[] containers);	
-	
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
deleted file mode 100644
index c979eb4..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupDialog.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupPanel;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A dialog for editing the source lookup path of a
- * source lookup director.
- * <p>
- * This class may be instantiated; it is not intended to be
- * subclassed.
- * </p>
- * @since 3.0
- */
-public class SourceLookupDialog extends TitleAreaDialog {
-	
-	private SourceLookupPanel fPanel;
-	private ISourceLookupDirector fDirector;
-	
-	/**
-	 * Constructs a dialog to edit the source lookup path managed by the
-	 * given source lookup director. Persists the resulting source lookup
-	 * path on the launch configuration associated with the given source
-	 * lookup director.
-	 * 
-	 * @param shell shell to parent the dialog
-	 * @param director source lookup director managing the source lookup
-	 *  path to be edited
-	 */
-	public SourceLookupDialog(Shell shell, ISourceLookupDirector director) {
-		super(shell);					
-		fDirector = director;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		setTitle(SourceLookupUIMessages.getString("manageSourceDialog.description")); //$NON-NLS-1$
-		setTitleImage(DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_EDIT_SRC_LOC_WIZ));
-		Composite composite = new Composite(parent, SWT.NONE);
-		
-		GridLayout layout = new GridLayout();
-		layout.marginHeight =
-			convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth =
-			convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing =
-			convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing =
-			convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);			
-		composite.setLayoutData(data);
-		composite.setFont(parent.getFont());
-		fPanel = new SourceLookupPanel();
-		fPanel.createControl(composite);
-		fPanel.initializeFrom(fDirector);
-		
-		Dialog.applyDialogFont(composite);
-		WorkbenchHelp.setHelp(getShell(),  IDebugHelpContextIds.EDIT_SOURCELOOKUP_DIALOG);
-		
-		return composite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fPanel.performApply(null);
-		super.okPressed();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */	
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(SourceLookupUIMessages.getString("manageSourceDialog.title")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		fPanel.dispose();
-		return super.close();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
deleted file mode 100644
index e35689f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/SourceLookupTab.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.DebugPluginImages;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupPanel;
-import org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * A launch configuration tab that displays and edits the source
- * lookup path for a launch configuration. This tab works with the
- * debug platform source lookup facilities - a source lookup director
- * with associated participants and source containers.
- * <p>
- * This tab may be instantiated. This class is not intended to be subclassed.
- * </p>
- * @since 3.0	 
- */
-
-public class SourceLookupTab extends AbstractLaunchConfigurationTab {
-	//the panel displaying the containers
-	private SourceLookupPanel fSourceLookupPanel;
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 1;
-		comp.setLayout(topLayout);
-		comp.setFont(parent.getFont());
-		
-		createVerticalSpacer(comp, 1);
-		
-		fSourceLookupPanel = new SourceLookupPanel();
-		fSourceLookupPanel.setLaunchConfigurationDialog(
-				getLaunchConfigurationDialog());
-		fSourceLookupPanel.createControl(comp);
-		GridData gd = (GridData) fSourceLookupPanel.getControl().getLayoutData();
-		gd.heightHint = 200;
-		gd.widthHint = 250;
-		Dialog.applyDialogFont(comp);
-		WorkbenchHelp.setHelp(comp,IDebugHelpContextIds.SOURCELOOKUP_TAB);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fSourceLookupPanel.initializeFrom(configuration);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		fSourceLookupPanel.performApply(configuration);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return SourceLookupUIMessages.getString("sourceTab.tabTitle"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return DebugPluginImages.getImage(IInternalDebugUIConstants.IMG_SRC_LOOKUP_TAB);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		fSourceLookupPanel.activated(workingCopy);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose()
-	 */
-	public void dispose() {
-		if (fSourceLookupPanel != null) {
-			if (fSourceLookupPanel.getDirector() != null) {
-				fSourceLookupPanel.getDirector().dispose();
-			}
-			fSourceLookupPanel.dispose();
-		}
-		fSourceLookupPanel = null;		
-		super.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		if (fSourceLookupPanel != null) {
-			return fSourceLookupPanel.getErrorMessage();
-		}
-		return super.getErrorMessage();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		if (fSourceLookupPanel != null) {
-			return fSourceLookupPanel.getMessage();
-		}
-		return super.getMessage();
-	}
-}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
deleted file mode 100644
index e9eaf9f..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.ui.sourcelookup;
-
-import java.util.ArrayList;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * A working set in the workspace.  Source is searched for in the projects (referenced
- * projects) and folders (sub-folders) that are part of the working set.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * @since 3.0
- */
-public class WorkingSetSourceContainer extends CompositeSourceContainer{
-	
-	private IWorkingSet fWorkingSet;
-	/**
-	 * Unique identifier for the working set source container type
-	 * (value <code>org.eclipse.debug.ui.containerType.workingSet</code>.)
-	 */
-	public static final String TYPE_ID = DebugUIPlugin.getUniqueIdentifier()+".containerType.workingSet"; //$NON-NLS-1$
-		
-	/**
-	 * Creates a source container for the working set.
-	 * @param workingSet the working set represented by this container
-	 */
-	public WorkingSetSourceContainer(IWorkingSet workingSet) {
-		fWorkingSet = workingSet;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
-	 */
-	public String getName() {
-		return fWorkingSet.getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj != null && obj instanceof WorkingSetSourceContainer) {			
-			return obj.equals(fWorkingSet);			
-		}				
-		return false;
-	}		
-	
-	
-	/* (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 {
-		IAdaptable[] elements = fWorkingSet.getElements();
-		
-		if(elements == null)
-			return new ISourceContainer[0];
-		
-		ArrayList locationList = new ArrayList();
-		for (int i = 0; i < elements.length; i++) {
-			IResource resource = (IResource) elements[i].getAdapter(IResource.class);
-			
-			if (resource != null) {
-				switch (resource.getType()) {
-				case IResource.FOLDER:							
-					locationList.add(new FolderSourceContainer((IFolder)resource, true));											
-					break;
-				case IResource.PROJECT:
-					locationList.add(new ProjectSourceContainer((IProject)resource, true));			
-					break;
-					//if the element corresponds to an IFile, do nothing
-				}
-			}
-		}
-		return (ISourceContainer[])locationList.toArray(new ISourceContainer[locationList.size()]);
-	}
-
-}
diff --git a/org.eclipse.ui.console/.classpath b/org.eclipse.ui.console/.classpath
deleted file mode 100644
index 065ac06..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.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<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/.options b/org.eclipse.ui.console/.options
deleted file mode 100644
index d7752ad..0000000
--- a/org.eclipse.ui.console/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.console plugin.
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/about.html b/org.eclipse.ui.console/about.html
deleted file mode 100644
index 6b68e18..0000000
--- a/org.eclipse.ui.console/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>8th September, 2003</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.console/build.properties b/org.eclipse.ui.console/build.properties
deleted file mode 100644
index d166e58..0000000
--- a/org.eclipse.ui.console/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
-			   .options,\
-			   plugin.xml,\
-               plugin.properties,\
-               *.jar,\
-               about.html
-
-source.console.jar src/
-src.includes=about.html
diff --git a/org.eclipse.ui.console/hglegal2003.htm b/org.eclipse.ui.console/hglegal2003.htm
deleted file mode 100644
index 47c8540..0000000
--- a/org.eclipse.ui.console/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.ui.console/icons/full/clcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9..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/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 9ff6416..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/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/elcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9..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/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/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/ngibmcpy2003.gif b/org.eclipse.ui.console/ngibmcpy2003.gif
deleted file mode 100644
index c786e43..0000000
--- a/org.eclipse.ui.console/ngibmcpy2003.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 93f0cee..0000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ConsoleFontDefinition.description= The console text font is used by the generic console
-ConsoleFontDefinition.label= Console Text Font
\ No newline at end of file
diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml
deleted file mode 100644
index fd9cabf..0000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.console"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.ui.console.ConsolePlugin">
-
-   <runtime>
-      <library name="console.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.ui.console, org.eclipse.ui.internal.console"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.help"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%ConsoleView.name"
-            icon="icons/full/cview16/console_view.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.console.ConsoleView"
-            id="org.eclipse.ui.console.ConsoleView">
-      </view>
-   </extension>
-    <extension
-         point="org.eclipse.ui.themes">
-      <fontDefinition
-            label="%ConsoleFontDefinition.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId="org.eclipse.ui.workbenchMisc"
-            id="org.eclipse.ui.console.ConsoleFont">
-         <description>
-            %ConsoleFontDefinition.description
-         </description>
-      </fontDefinition>
-   </extension>
-
-</plugin>
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 6f80f0b..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-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;
-	
-	/**
-	 * 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) {
-					init();
-				}
-			}
-
-		}
-
-		/* (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);
-					dispose();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * 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.getString("AbstractConsole.0"), exception); //$NON-NLS-1$
-			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];
-				Platform.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
-	 */
-	public AbstractConsole(String name, ImageDescriptor imageDescriptor) {
-		setName(name);
-		setImageDescriptor(imageDescriptor);
-		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new Lifecycle());
-	}
-
-	/* (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) {
-		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));
-	}
-	
-	/**
-	 * Called when this console is added to the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 */
-	protected void init() {
-	}
-	
-	/**
-	 * Called when this console is removed from the console manager. Default
-	 * implementation does nothing. Subclasses may override.
-	 */
-	protected void dispose() {
-	}
-}
\ No newline at end of file
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 5446acf..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.console.ConsoleManager;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The console plug-in class.
- * 
- * @since 3.0
- */
-
-public class ConsolePlugin extends AbstractUIPlugin {
-	
-	/**
-	 * Singleton console manager
-	 */
-	private IConsoleManager fConsoleManager = null;
-
-	/**
-	 * The singleton console plugin 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 plugin.
-	 */
-	public static ConsolePlugin getDefault() {
-		return fgPlugin;
-	}
-
-	public ConsolePlugin() {
-		super();
-		fgPlugin = this;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	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) {
-		log(newErrorStatus("Error logged from Console plug-in: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a new error status for this plugin 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);
-	}
-}
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 935399e..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A logical console. A console is commonly used to display messages. For example,
- * a console may display the output streams of a system process. A console can be
- * displayed by one or more views.
- * <p>
- * Clients may implement this interface.
- * </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>
-	 * Clients 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 alread registered.
-	 * 
-	 * @param listener a property listener
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener);	
-
-}
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 5bd8bf8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.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$
-	
-	/**
-	 * The name of the font to use for the Console (value <code>"org.eclipse.ui.console.ConsoleFont"</code>).
-	 */ 
-	public static final String CONSOLE_FONT= "org.eclipse.ui.console.ConsoleFont"; //$NON-NLS-1$
-	
-	/**
-	 * Identifier for a launch group in a menu (value <code>"launchGroup"</code>).
-	 */
-	public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-
-	/**
-	 * Identifier for an output group in a menu (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;
-}
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 7d22c8a..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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 200408f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * Manages 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);
-	
-	/**
-	 * Deregisters the given listener for console notifications. Has
-	 * no effect if an identical listener is not already registered.
-	 * 
-	 * @param listener listener to deregister
-	 */
-	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 closed.
-	 * 
-	 * @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.
-	 * 
-	 * @param console console to display
-	 */
-	public void showConsoleView(IConsole console);
-	
-	/**
-	 * Warns that the content of the given console has changed in
-	 * all console views.
-	 * 
-	 * @param console the console that has changed
-	 */
-	public void warnOfContentChange(IConsole console);
-}
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 54ef81e..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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);
-	
-	/**
-	 * 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
-	 */
-	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);	
-
-}
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 99d833f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.ui.internal.console.MessageConsolePage;
-import org.eclipse.ui.internal.console.MessageConsolePartitioner;
-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 background
- * thread.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- */
-public class MessageConsole extends AbstractConsole {
-	
-	/** 
-	 * The font used by this console
-	 */
-	private Font fFont = null;
-	
-	/**
-	 * Property constant indicating the font of this console has changed. 
-	 */
-	public static final String P_FONT = ConsolePlugin.getUniqueIdentifier() + ".P_FONT"; //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating the color of a stream has changed. 
-	 */
-	public static final String P_STREAM_COLOR = ConsolePlugin.getUniqueIdentifier()  + ".P_STREAM_COLOR";	 //$NON-NLS-1$
-	
-	/**
-	 * Property constant indicating tab size has changed 
-	 */
-	public static final String P_TAB_SIZE = ConsolePlugin.getUniqueIdentifier()  + ".P_TAB_SIZE";	 //$NON-NLS-1$
-	
-	/**
-	 * The default tab size
-	 */
-	public static final int DEFAULT_TAB_SIZE = 8;
-	
-	// document partitioner
-	private MessageConsolePartitioner fPartitioner = null;
-
-	// current tab size
-	private int tabWidth = DEFAULT_TAB_SIZE;
-
-
-	/** 
-	 * Constructs a new message console.
-	 * 
-	 * @param name console name
-	 * @param imageDescriptor console image descriptor or <code>null</code>
-	 *   if none
-	 */
-	public MessageConsole(String name, ImageDescriptor imageDescriptor) {
-		super(name, imageDescriptor);
-		fPartitioner = new MessageConsolePartitioner();
-	}
-	
-	/**
-	 * Returns the maximum number of characters that the console will display at
-	 * once. This is analagous 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 fPartitioner.getHighWaterMark();
-	}
-
-	/**
-	 * 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
-	 * @param high the maximum number of characters this console will cache in
-	 *  its text buffer
-	 * @exception IllegalArgumentException if low >= high
-	 */
-	public void setWaterMarks(int low, int high) {
-		fPartitioner.setWaterMarks(low, high);
-	}
-		
-	/**
-	 * 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 fPartitioner.getLowWaterMark();
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.AbstractConsole#dispose()
-	 */
-	protected void dispose() {
-		fPartitioner.disconnect();
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
-	 */
-	public IPageBookViewPage createPage(IConsoleView view) {
-		return new MessageConsolePage(view, this);
-	}
-	
-	/**
-	 * Sets the font used by this console
-	 * 
-	 * @param font font
-	 */
-	public void setFont(Font font) {
-		Font old = fFont;
-		fFont = font;
-		firePropertyChange(this, P_FONT, old, font);
-	}
-	
-	/**
-	 * Returns the font for this console
-	 * 
-	 * @return font for this console
-	 */
-	public Font getFont() {
-		if (fFont == null) {
-			return JFaceResources.getTextFont();
-		} 
-		return fFont;
-	}
-	
-	/**
-	 * Returns a new message stream connected to this console.
-	 * 
-	 * @return a new message stream connected to this console
-	 */
-	public MessageConsoleStream newMessageStream() {
-		return new MessageConsoleStream(this);
-	}
-	
-	/** 
-	 * Appends the given message to this console, from the specified stream.
-	 * 
-	 * @param text message
-	 * @param stream stream the message belongs to
-	 */
-	protected synchronized void appendToDocument(String text, MessageConsoleStream stream) {
-		fPartitioner.appendToDocument(text, stream);
-	}
-
-	/**
-	 * Returns the document this console writes to.
-	 * 
-	 * @return the document this console wites to
-	 */
-	public IDocument getDocument() {
-		return fPartitioner.getDocument();
-	}
-	
-	/**
-	 * Sets the tab width.
-	 * @param tabSize The tab width 
-	 */
-	public void setTabWidth(int tabWidth) {
-		int old = this.tabWidth;
-		this.tabWidth = tabWidth;
-		firePropertyChange(this, P_TAB_SIZE, new Integer(old), new Integer(tabWidth));
-	}
-	
-	/**
-	 * Returns the tab width.
-	 * @return tab width
-	 */
-	public int getTabWidth() {
-		return tabWidth;
-	}
-}
\ No newline at end of file
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 6906c3d..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.swt.graphics.Color;
-
-/**
- * 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.
- * 
- * @since 3.0
- */
-public class MessageConsoleStream {
-	
-	private MessageConsole fConsole = null;
-	
-	private Color fColor = null;
-	
-	/**
-	 * Constructs a new stream connected to the given console.
-	 * 
-	 * @param console the console to write messages to
-	 */
-	public MessageConsoleStream(MessageConsole console) {
-		fConsole = console;
-	}
-	
-	/**
-	 * Appends the specified message to this stream.
-	 * 
-	 * @param message message to append
-	 */
-	public void print(String message) {
-		fConsole.appendToDocument(message, this);
-	}
-	
-	
-	/**
-	 * Appends a line separator string to this stream.
-	 */
-	public void println() {
-		print("\n"); //$NON-NLS-1$
-	}	
-	
-	/**
-	 * 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);
-		println();
-	}	
-	
-	/**
-	 * Sets the color of this message stream
-	 * 
-	 * @param color color of this message stream, possibly <code>null</code>
-	 */
-	public void setColor(Color color) {
-		Color old = fColor;
-		fColor = color;
-		fConsole.firePropertyChange(this, MessageConsole.P_STREAM_COLOR, old, color);
-	}
-	
-	/**
-	 * Returns the color of this message stream, or <code>null</code>
-	 * if default.
-	 * 
-	 * @return the color of this message stream, or <code>null</code>
-	 */
-	public Color getColor() {
-		return fColor;
-	}
-	
-	/**
-	 * Returns the console this stream is connected to.
-	 * 
-	 * @return the console this stream is connected to
-	 */
-	public MessageConsole getConsole() {
-		return fConsole;
-	}
-}
\ No newline at end of file
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 b90a3d3..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-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;
-
-	public ClearOutputAction(ITextViewer viewer) {
-		super(ConsoleMessages.getString("ClearOutputAction.title")); //$NON-NLS-1$
-		fViewer= viewer;
-		setToolTipText(ConsoleMessages.getString("ClearOutputAction.toolTipText")); //$NON-NLS-1$
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_LCL_CLEAR));		
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_CLEAR));
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLEAR));
-		WorkbenchHelp.setHelp(this, IConsoleHelpContextIds.CLEAR_CONSOLE_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(ConsolePlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				IDocument document = fViewer.getDocument();
-				if (document != null) {
-					document.set(""); //$NON-NLS-1$
-				}
-				fViewer.setSelectedRange(0, 0);
-			}
-		});
-	}
-}
\ No newline at end of file
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 9f187f3..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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);
-	}
-}
\ No newline at end of file
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 ea740b8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import java.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.getString("TextViewerGotoLineAction.Line_number_out_of_range_1"); //$NON-NLS-1$
-
-			} catch (NumberFormatException x) {
-				return ConsoleMessages.getString("TextViewerGotoLineAction.Not_a_number_2"); //$NON-NLS-1$
-			}
-
-			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.getString("TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4")); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1")); //$NON-NLS-1$
-		setDescription(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"));		 //$NON-NLS-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.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/* (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.getString("TextViewerGotoLineAction.Go_To_Line_1"); //$NON-NLS-1$
-			String message= MessageFormat.format(ConsoleMessages.getString("TextViewerGotoLineAction.Enter_line_number__8"), new Object[] {new Integer(fLastLine)}); //$NON-NLS-1$
-			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.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		} catch (BadLocationException x) {
-			ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
-			return;
-		}
-	}
-}
\ No newline at end of file
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 95aa4ac..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/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>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
-support a generic console. This package contains a generic abstract console that provides the common functionality
-for consoles. Clients implementing consoles should subclass this <b>AbstractConsole</b>.</p>
-<p>The classes <b>MessageConsole</b> and <b>MessageConsoleStream</b> provide an 
-  implementation of a message console and message console stream that enables 
-  logging of messages to a console.</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/ConsoleDropDownAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
deleted file mode 100644
index 76f93c4..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-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.getString("ConsoleDropDownAction.0")); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("ConsoleDropDownAction.1")); //$NON-NLS-1$
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_VIEW_CONSOLE));
-		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);
-		}
-		return fMenu;
-	}
-	
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	protected void addMenuSeparator() {
-		new MenuItem(fMenu, SWT.SEPARATOR);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		List stack = ((ConsoleView)fView).getConsoleStack();
-		if (stack.size() > 1) {
-			IConsole console = (IConsole) stack.get(1);
-			fView.display(console);
-		}
-	}
-	
-	/* (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();
-			}
-		});
-	}
-}
\ No newline at end of file
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 b3a5198..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.util.ListenerList;
-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.IConsoleView;
-
-/**
- * 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;
-	
-	/**
-	 * 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.getString("ConsoleManager.0"), exception); //$NON-NLS-1$
-			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];
-				Platform.run(this);
-			}	
-			fChanged = null;
-			fListener = null;			
-		}
-	}	
-	
-	/* (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(5);
-		}
-		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 (!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);
-	}
-	
-	/**
-	 * @see IConsoleManager#showConsoleView(IConsole)
-	 */
-	public void showConsoleView(final IConsole console) {
-		ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				if (window != null) {
-					IWorkbenchPage page= window.getActivePage();
-					if (page != null) {
-						IViewPart consoleView= page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
-						if (consoleView == null) {
-							try {
-								consoleView = page.showView(IConsoleConstants.ID_CONSOLE_VIEW, null, IWorkbenchPage.VIEW_CREATE);
-							} catch (PartInitException pie) {
-								ConsolePlugin.log(pie);
-							}
-						} else {
-							boolean bringToTop = shouldBringToTop(console, consoleView);
-							if (bringToTop) {
-								page.bringToTop(consoleView);
-							}
-						}
-						if (consoleView instanceof IConsoleView) {
-							((IConsoleView)consoleView).display(console);
-						}
-					}
-				}
-			}
-		});
-	}	
-	
-	/**
-	 * 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(IConsole console) {
-		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);
-				}
-			}
-		}
-	}
-	
-}
\ No newline at end of file
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 6c89e23..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * ConsoleMessages
- */
-public class ConsoleMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.console.ConsoleMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ConsoleMessages() {
-	}
-	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
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 dfbe623..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-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=Console
-ConsoleView.1=Console ({0})
-
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
-
-MessageConsolePage.&Copy@Ctrl+C_6=&Copy@Ctrl+C
-MessageConsolePage.Copy_7=Copy
-MessageConsolePage.Select_&All@Ctrl+A_12=Select &All@Ctrl+A
-MessageConsolePage.Select_All=Select All
-
-MessageConsolePartitioner.2=Low water mark must be less than high water mark.
-MessageConsolePartitioner.3=Low water mark must be greater than or equal to 1000.
-
-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
-
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 ced5ab9..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-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.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static Map imageDescriptors;
-	
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$
-		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$
-			
-		// 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$
-		
-		// 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$
-		
-		// 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);
-		imageDescriptors.put(key, desc);
-	}
-	
-	/**
-	 * Returns the ImageRegistry.
-	 */
-	public static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry;
-	}
-
-	/**
-	 *	Initialize the image registry by declaring all of the required
-	 *	graphics. This involves creating JFace image descriptors describing
-	 *	how to create/find the image should it be needed.
-	 *	The image is not actually allocated until requested.
-	 *
-	 * 	Prefix conventions
-	 *		Wizard Banners			WIZBAN_
-	 *		Preference Banners		PREF_BAN_
-	 *		Property Page Banners	PROPBAN_
-	 *		Color toolbar			CTOOL_
-	 *		Enable toolbar			ETOOL_
-	 *		Disable toolbar			DTOOL_
-	 *		Local enabled toolbar	ELCL_
-	 *		Local Disable toolbar	DLCL_
-	 *		Object large			OBJL_
-	 *		Object small			OBJS_
-	 *		View 					VIEW_
-	 *		Product images			PROD_
-	 *		Misc images				MISC_
-	 *
-	 *	Where are the images?
-	 *		The images (typically gifs) are found in the same location as this plugin class.
-	 *		This may mean the same package directory as the package holding this class.
-	 *		The images are declared using this.getClass() to ensure they are looked up via
-	 *		this plugin class.
-	 *	@see org.eclipse.jface.resource.ImageRegistry
-	 */
-	public static ImageRegistry initializeImageRegistry() {
-		imageRegistry= new ImageRegistry(ConsolePlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-}
\ No newline at end of file
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 0271909..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-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.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchPart;
-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.IConsoleView;
-import org.eclipse.ui.help.WorkbenchHelp;
-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 {
-	
-	/**
-	 * 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 parts to consoles
-	 */
-	private Map fPartToConsole;
-	
-	// actions
-	private PinConsoleAction fPinAction = null; 
-	private ConsoleDropDownAction fDisplayConsoleAction = null;
-
-	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) {
-		if (isPinned()) {
-			// if closing the pinned console, un-pin
-			IConsole console = (IConsole)fPartToConsole.get(part);
-			if (console != null && console.equals(getConsole())) {
-				pin(null);
-			}
-		}
-		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) {
-		if (!isPinned()) {
-			super.showPageRec(pageRec);
-			fActiveConsole = (IConsole)fPartToConsole.get(pageRec.part);
-			fStack.remove(fActiveConsole);
-			fStack.add(0,fActiveConsole);
-			updateTitle();		
-			// update console actions
-			if (fPinAction != null) {
-				fPinAction.update();
-			}
-		}
-	}
-	
-	/**
-	 * 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) {
-			setTitle(ConsoleMessages.getString("ConsoleView.0")); //$NON-NLS-1$
-		} else {
-			setTitle(MessageFormat.format(ConsoleMessages.getString("ConsoleView.1"), new String[]{console.getName()})); //$NON-NLS-1$
-		}
-	}
-
-	/* (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) {
-		IPage page = pageRecord.page;
-		page.dispose();
-		pageRecord.dispose();
-		
-		IConsole console = (IConsole)fPartToConsole.get(part);
-		console.removePropertyChangeListener(this);
-				
-		// empty cross-reference cache
-		fPartToConsole.remove(part);
-		fConsoleToPart.remove(console);
-		
-		// update console actions
-		fPinAction.update();		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart)
-	 */
-	protected PageRec doCreatePage(IWorkbenchPart dummyPart) {
-		ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)dummyPart;
-		IConsole console = part.getConsole();
-		IPageBookViewPage page = console.createPage(this);
-		initPage(page);
-		page.createControl(getPageBook());
-		console.addPropertyChangeListener(this);
-		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();
-		ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
-	}
-
-	/* (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];
-							ConsoleWorkbenchPart part = new ConsoleWorkbenchPart(console, getSite());
-							fConsoleToPart.put(console, part);
-							fPartToConsole.put(part, console);
-							partActivated(part);
-						}
-					}
-				}
-			};
-			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 = ConsolePlugin.getDefault().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();
-	}
-	
-	/**
-	 * Creates a pop-up menu on the given control. The menu
-	 * is registered with this view's site, such that other
-	 * plug-ins may contribute to the menu.
-	 * 
-	 * @param menuControl the control with which the pop-up
-	 *  menu will be associated with.
-	 */
-	protected void createContextMenu(Control menuControl) {
-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		Menu menu= menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		if (getSite() != null) {
-			getSite().registerContextMenu(menuMgr, null);
-		}
-	}
-
-	protected void createActions() {
-		fPinAction = new PinConsoleAction(this);
-		fDisplayConsoleAction = new ConsoleDropDownAction(this);
-	}
-
-	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);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.console.IConsoleView#display(org.eclipse.ui.console.IConsole)
-	 */
-	public void display(IConsole console) {
-		if (!isPinned()) {
-			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 pin(IConsole console) {
-		if (console == null) {
-			fPinned = false;	
-		} else {
-			fPinned = false; // need this off to change displayed console
-			display(console);
-			fPinned = true;
-		}
-		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) {
-		//registerPartListener();
-		super.createPartControl(parent);
-		createActions();
-		IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
-		configureToolBar(tbm);
-		updateForExistingConsoles();
-		getViewSite().getActionBars().updateActionBars();
-//		Viewer viewer = getViewer();
-//		if (viewer != null) {
-//			createContextMenu(viewer.getControl());
-//		}
-		WorkbenchHelp.setHelp(parent, IConsoleHelpContextIds.CONSOLE_VIEW);
-//		if (viewer != null) {
-//			getViewer().getControl().addKeyListener(new KeyAdapter() {
-//				public void keyPressed(KeyEvent e) {
-//					handleKeyPressed(e);
-//				}
-//			});
-//			if (getViewer() instanceof StructuredViewer) {
-//				((StructuredViewer)getViewer()).addDoubleClickListener(this);	
-//			}
-//		}
-		// create the message page
-		//setMessagePage(new MessagePage());
-		//getMessagePage().createControl(getPageBook());
-		//initPage(getMessagePage());
-	
-//		if (fEarlyMessage != null) { //bug 28127
-//			showMessage(fEarlyMessage);
-//			fEarlyMessage= null;
-//		}
-	}
-	
-	/**
-	 * Initialize for existing consoles
-	 */
-	private void updateForExistingConsoles() {
-		IConsoleManager manager = ConsolePlugin.getDefault().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();
-			}
-		}
-	}
-	
-}
\ No newline at end of file
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 780d2b5..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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.*;
-
-/**
- * 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;
-	}
-}
\ No newline at end of file
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 b81cbea..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * Help context ids for the debug ui.
- * <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$	
-		
-	// 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 5796bf8..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
- 
-public interface IInternalConsoleConstants {
-	
-	// tool images
-	public static final String IMG_LCL_PIN = "IMG_LCL_PIN"; //$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$
-	
-	// 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$
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java
deleted file mode 100644
index f59d9d9..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePage.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-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.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextOperationTarget;
-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.graphics.Font;
-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.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.MessageConsole;
-import org.eclipse.ui.console.MessageConsoleStream;
-import org.eclipse.ui.console.actions.ClearOutputAction;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.console.actions.TextViewerGotoLineAction;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A page for a console connected to I/O streams of a process
- * 
- * @since 3.0
- */
-public class MessageConsolePage implements IPageBookViewPage, IAdaptable, IPropertyChangeListener {
-
-	//page site
-	private IPageSite fSite = null;
-	
-	// viewer
-	private MessageConsoleViewer fViewer = null;
-
-	// the view this page is contained in
-	private IConsoleView fView;
-	
-	// the console this page displays
-	private MessageConsole fConsole;
-	
-	// text selection listener
-	private ISelectionChangedListener fTextListener =  new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			updateSelectionDependentActions();
-		}};
-
-	// actions
-	private ClearOutputAction fClearOutputAction;
-	private Map fGlobalActions= new HashMap(10);
-	private List fSelectionActions = new ArrayList(3);
-	
-	// menus
-	private Menu fMenu;
-	
-	/**
-	 * Constructs a new process page 
-	 */
-	public MessageConsolePage(IConsoleView view, MessageConsole console) {
-		fView = view;
-		fConsole = console;
-	}
-
-	/* (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 site) {
-		fSite = site;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		fViewer = new MessageConsoleViewer(parent);
-		fViewer.setDocument(getConsole().getDocument());
-		fViewer.getTextWidget().setTabs(getConsole().getTabWidth());
-		
-		MenuManager manager= new MenuManager("#MessageConsole", "#MessageConsole"); //$NON-NLS-1$ //$NON-NLS-2$
-		manager.setRemoveAllWhenShown(true);
-		manager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager m) {
-				contextMenuAboutToShow(m);
-			}
-		});
-		fMenu= manager.createContextMenu(getControl());
-		getControl().setMenu(fMenu);
-		
-		IPageSite site= getSite();
-		site.registerContextMenu(ConsolePlugin.getUniqueIdentifier() + ".messageConsole", manager, getViewer()); //$NON-NLS-1$
-		site.setSelectionProvider(getViewer());
-		
-		createActions();
-		configureToolBar(getSite().getActionBars().getToolBarManager());
-		
-		fViewer.getSelectionProvider().addSelectionChangedListener(fTextListener);
-		setFont(getConsole().getFont());
-		getConsole().addPropertyChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		Object source = event.getSource();
-		String property = event.getProperty();
-		if (source.equals(getConsole()) && MessageConsole.P_FONT.equals(property)) {
-			setFont(getConsole().getFont());	
-		} else if (MessageConsole.P_STREAM_COLOR.equals(property) && source instanceof MessageConsoleStream) {
-			MessageConsoleStream stream = (MessageConsoleStream)source;
-			if (stream.getConsole().equals(getConsole())) {
-				getViewer().getTextWidget().redraw();
-			}
-		} else if (source.equals(getConsole()) && property.equals(MessageConsole.P_TAB_SIZE)) {
-			if (fViewer != null) {
-				fViewer.getTextWidget().setTabs(getConsole().getTabWidth());
-				fViewer.getTextWidget().redraw();
-			}
-		}
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-		getConsole().removePropertyChangeListener(this);
-		fViewer.getSelectionProvider().removeSelectionChangedListener(fTextListener);
-		
-		if (fMenu != null && !fMenu.isDisposed()) {
-			fMenu.dispose();
-			fMenu= null;
-		}
-		
-		if (fViewer != null) {
-			fViewer.dispose();
-			fViewer = null;
-		}
-		fSite = null;
-		fSelectionActions.clear();
-	}
-	
-
-	/**
-	 * Fill the context menu
-	 * 
-	 * @param menu menu
-	 */
-	protected void contextMenuAboutToShow(IMenuManager menu) {
-		menu.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
-		menu.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));						
-		menu.add(new Separator("FIND")); //$NON-NLS-1$
-		menu.add((IAction)fGlobalActions.get(ActionFactory.FIND.getId()));
-		menu.add((IAction)fGlobalActions.get(ITextEditorActionConstants.GOTO_LINE));
-		menu.add(fClearOutputAction);
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#getControl()
-	 */
-	public Control getControl() {
-		if (fViewer != null) {
-			return fViewer.getControl();
-		}
-		return 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() {
-		Control control = getControl(); 
-		if (control != null) {
-			control.setFocus();
-		}
-		updateSelectionDependentActions();
-	}
-	
-	protected void createActions() {
-		fClearOutputAction= new ClearOutputAction(getViewer());
-		
-		// In order for the clipboard actions to accessible via their shortcuts
-		// (e.g., Ctrl-C, Ctrl-V), we *must* set a global action handler for
-		// each action		
-		IActionBars actionBars= getSite().getActionBars();
-		TextViewerAction action= new TextViewerAction(getViewer(), ITextOperationTarget.COPY);
-		action.configureAction(ConsoleMessages.getString("MessageConsolePage.&Copy@Ctrl+C_6"), ConsoleMessages.getString("MessageConsolePage.Copy_7"), ConsoleMessages.getString("MessageConsolePage.Copy_7")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));		
-		setGlobalAction(actionBars, ActionFactory.COPY.getId(), action);
-		action= new TextViewerAction(getViewer(), ITextOperationTarget.SELECT_ALL);
-		action.configureAction(ConsoleMessages.getString("MessageConsolePage.Select_&All@Ctrl+A_12"), ConsoleMessages.getString("MessageConsolePage.Select_All"), ConsoleMessages.getString("MessageConsolePage.Select_All")); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.SELECT_ALL.getId(), action);
-		
-		//XXX Still using "old" resource access
-		ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.ui.internal.console.ConsoleMessages"); //$NON-NLS-1$
-		setGlobalAction(actionBars, ActionFactory.FIND.getId(), new FindReplaceAction(bundle, "find_replace_action.", getConsoleView())); //$NON-NLS-1$
-	
-		action= new TextViewerGotoLineAction(getViewer());
-		setGlobalAction(actionBars, ITextEditorActionConstants.GOTO_LINE, action);
-								
-		actionBars.updateActionBars();
-				
-		fSelectionActions.add(ActionFactory.COPY.getId());
-		fSelectionActions.add(ActionFactory.FIND.getId());
-	}
-	
-	protected void updateSelectionDependentActions() {
-		Iterator iterator= fSelectionActions.iterator();
-		while (iterator.hasNext()) {
-			updateAction((String)iterator.next());		
-		}
-	}	
-	
-	protected void updateAction(String actionId) {
-		IAction action= (IAction)fGlobalActions.get(actionId);
-		if (action instanceof IUpdate) {
-			((IUpdate) action).update();
-		}
-	}	
-		
-	protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
-		fGlobalActions.put(actionID, action); 
-		actionBars.setGlobalActionHandler(actionID, action);
-	}
-		
-	/**
-	 * Returns the viewer in this page.
-	 * 
-	 * @return the viewer in this page
-	 */
-	protected MessageConsoleViewer getViewer() {
-		return fViewer;
-	}	
-
-	protected void configureToolBar(IToolBarManager mgr) {
-		mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fClearOutputAction);
-	}
-
-	/**
-	 * Returns the view this page is contained in
-	 * 
-	 * @return the view this page is contained in
-	 */
-	protected IConsoleView getConsoleView() {
-		return fView;
-	}
-	
-	/**
-	 * Returns the console this page is displaying
-	 * 
-	 * @return the console this page is displaying
-	 */
-	protected MessageConsole getConsole() {
-		return fConsole;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class required) {
-		if (IFindReplaceTarget.class.equals(required)) {
-			return getViewer().getFindReplaceTarget();
-		}
-		if (Widget.class.equals(required)) {
-			return getViewer().getTextWidget();
-		}
-		return null;
-	}	
-
-	/**
-	 * Sets the font for this page.
-	 * 
-	 * @param font font
-	 */
-	protected void setFont(Font font) {
-		getViewer().getTextWidget().setFont(font);
-	}
-
-	/**
-	 * Refreshes this page
-	 */
-	protected void refresh() {
-		getViewer().refresh();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
deleted file mode 100644
index 7f3e9f1..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartition.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import org.eclipse.jface.text.TypedRegion;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.MessageConsoleStream;
-
-/**
- * A partition from a message stream connected to a message console. 
- */
-public class MessageConsolePartition extends TypedRegion {
-	
-	/**
-	 * Associated stream
-	 */
-	private MessageConsoleStream fStream;
-	
-	/**
-	 * Partition type
-	 */
-	public static final String MESSAGE_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".MESSAGE_PARTITION_TYPE"; //$NON-NLS-1$	
-	
-	public MessageConsolePartition(MessageConsoleStream stream, int offset, int length) {
-		super(offset, length, MESSAGE_PARTITION_TYPE);
-		fStream = stream;
-	}
-	
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object partition) {
-		if (super.equals(partition)) {
-			fStream.equals(((MessageConsolePartition)partition).getStream());
-		}
-		return false;
-	}
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() + fStream.hashCode();
-	}
-
-	/**
-	 * Returns this partition's stream
-	 * 
-	 * @return this partition's stream
- 	 */
-	public MessageConsoleStream getStream() {
-		return fStream;
-	}
-	
-	/**
-	 * Returns whether this partition is allowed to be combined with the
-	 * given partition.
-	 * 
-	 * @param partition
-	 * @return boolean
-	 */
-	public boolean canBeCombinedWith(MessageConsolePartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		boolean overlap = (otherStart >= start && otherStart <= end) || (start >= otherStart && start <= otherEnd);
-		return overlap && getType().equals(partition.getType()) && getStream().equals(partition.getStream());
-	}
-	
-	/**
-	 * Returns a new partition representing this and the given parition
-	 * combined.
-	 * 
-	 * @param partition
-	 * @return partition
- 	 */
-	public MessageConsolePartition combineWith(MessageConsolePartition partition) {
-		int start = getOffset();
-		int end = start + getLength();
-		int otherStart = partition.getOffset();
-		int otherEnd = otherStart + partition.getLength();
-		int theStart = Math.min(start, otherStart);
-		int theEnd = Math.max(end, otherEnd);
-		return createNewPartition(theStart, theEnd - theStart);
-	}
-	
-	/**
-	 * Creates a new patition of this type with the given color, offset, 
-	 * and length.
-	 * 
-	 * @param offset
-	 * @param length
-	 * @return a new partition with the given range
-	 */
-	public MessageConsolePartition createNewPartition(int offset, int length) {
-		return new MessageConsolePartition(getStream(), offset, length);
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
deleted file mode 100644
index 2279b84..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsolePartitioner.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.console;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-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.widgets.Display;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.MessageConsoleStream;
-
-/**
- * A console that displays text messages.
- * 
- * @since 3.0
- */
-public class MessageConsolePartitioner implements IDocumentPartitioner, IDocumentPartitionerExtension {
-	
-	/**
-	 * The associated docuemnt
-	 */
-	private IDocument fDocument = null;
-			
-	/**
-	 * List of partitions
-	 */
-	private List fPartitions = new ArrayList(5);
-		
-	/**
-	 * The stream that was last appended to
-	 */
-	private MessageConsoleStream fLastStream = null;
-	
-	
-	private int highWaterMark = 100000;
-	private int lowWaterMark = 80000;
-	private int maxAppendSize = lowWaterMark;
-
-	private List streamEntries = new ArrayList();
-	private boolean killed = false;
-	private boolean updaterThreadStarted = false;
-
-	private IConsoleManager fConsoleManager;
-	/**
-	 * Creates a new paritioner and document, and connects this partitioner
-	 * to the document.
-	 */
-	public MessageConsolePartitioner() {
-		IDocument doc = new Document();
-		connect(doc);
-	}
-	
-	/**
-	 * Sets the low and high water marks for this console's text buffer.
-	 * 
-	 * @param low low water mark
-	 * @param high high water mark
-	 */
-	public void setWaterMarks(int low, int high) {
-		if (low >= high) {
-			throw new IllegalArgumentException(ConsoleMessages.getString("MessageConsolePartitioner.2")); //$NON-NLS-1$
-		}
-		if (low < 1000) {
-			throw new IllegalArgumentException(ConsoleMessages.getString("MessageConsolePartitioner.3")); //$NON-NLS-1$
-		}
-		lowWaterMark = low;
-		highWaterMark = high;
-		maxAppendSize = Math.min(80000, low);
-	}
-	/**
-	 * @return Returns the highWaterMark.
-	 */
-	public int getHighWaterMark() {
-		return highWaterMark;
-	}
-
-	/**
-	 * @return Returns the lowWaterMark.
-	 */
-	public int getLowWaterMark() {
-		return lowWaterMark;
-	}
-
-	/**
-	 * @return Returns the maxAppendSize.
-	 */
-	public int getMaxAppendSize() {
-		return maxAppendSize;
-	}
-
-	/**
-	 * @param maxAppendSize The maxAppendSize to set.
-	 */
-	public void setMaxAppendSize(int maxAppendSize) {
-		this.maxAppendSize = maxAppendSize;
-	}
-	
-	
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-	 */
-	public void connect(IDocument document) {
-		fDocument = document;
-		document.setDocumentPartitioner(this);
-		fConsoleManager = ConsolePlugin.getDefault().getConsoleManager();
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-	 */
-	public void disconnect() {
-		fDocument.setDocumentPartitioner(null);
-		killed = true;
-		fConsoleManager = null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public void documentAboutToBeChanged(DocumentEvent event) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean documentChanged(DocumentEvent event) {
-		return documentChanged2(event) != null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-	 */
-	public String[] getLegalContentTypes() {
-		return new String[] {MessageConsolePartition.MESSAGE_PARTITION_TYPE};
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-	 */
-	public String getContentType(int offset) {
-		ITypedRegion partition = getPartition(offset);
-		if (partition != null) {
-			return partition.getType();
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-	 */
-	public ITypedRegion[] computePartitioning(int offset, int length) {
-		if (offset == 0 && length == fDocument.getLength()) {
-			return (ITypedRegion[])fPartitions.toArray(new ITypedRegion[fPartitions.size()]);
-		} 
-		int end = offset + length;
-		List list = new ArrayList();
-		for (int i = 0; i < fPartitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-			int partitionStart = partition.getOffset();
-			int partitionEnd = partitionStart + partition.getLength();
-			if ((offset >= partitionStart && offset <= partitionEnd) ||
-				(offset < partitionStart && end >= partitionStart)) {
-					list.add(partition);
-			} 
-		}
-		return (ITypedRegion[])list.toArray(new ITypedRegion[list.size()]);
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-	 */
-	public ITypedRegion getPartition(int offset) {
-		for (int i = 0; i < fPartitions.size(); i++) {
-			ITypedRegion partition = (ITypedRegion)fPartitions.get(i);
-			int start = partition.getOffset();
-			int end = start + partition.getLength();
-			if (offset >= start && offset < end) {
-				return partition;
-			} 
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
-	 */
-	public IRegion documentChanged2(DocumentEvent event) {
-		
-		String text = event.getText();
-		if (getDocument().getLength() == 0) {
-			// cleared
-			fPartitions.clear();
-			return new Region(0,0);
-		}
-		addPartition(new MessageConsolePartition(fLastStream, event.getOffset(), text.length()));
-		ITypedRegion[] affectedRegions = computePartitioning(event.getOffset(), text.length());
-		if (affectedRegions.length == 0) {
-			return null;
-		}
-		if (affectedRegions.length == 1) {
-			return affectedRegions[0];
-		}
-		int affectedLength = affectedRegions[0].getLength();
-		for (int i = 1; i < affectedRegions.length; i++) {
-			ITypedRegion region = affectedRegions[i];
-			affectedLength += region.getLength();
-		}
-		
-		return new Region(affectedRegions[0].getOffset(), affectedLength);
-	}
-
-
-	/**
-	 * Checks to see if the console buffer has overflowed, and empties the
-	 * overflow if needed, updating partitions and hyperlink positions.
-	 */
-	protected void checkOverflow() {
-		if (highWaterMark >= 0) {
-			if (fDocument.getLength() > highWaterMark) {
-				int overflow = fDocument.getLength() - lowWaterMark;
-				
-				try {
-					int line = fDocument.getLineOfOffset(overflow);
-					int nextLineOffset = fDocument.getLineOffset(line+1);
-					overflow = nextLineOffset;
-				} catch (BadLocationException e1) {
-				}
-				
-				// update partitions
-				List newParitions = new ArrayList(fPartitions.size());
-				Iterator partitions = fPartitions.iterator();
-				while (partitions.hasNext()) {
-					ITypedRegion region = (ITypedRegion) partitions.next();
-					if (region instanceof MessageConsolePartition) {
-						MessageConsolePartition messageConsolePartition = (MessageConsolePartition)region;
-
-						ITypedRegion newPartition = null;
-						int offset = region.getOffset();
-						if (offset < overflow) {
-							int endOffset = offset + region.getLength();
-							if (endOffset < overflow) {
-								// remove partition
-							} else {
-								// split partition
-								int length = endOffset - overflow;
-								newPartition = messageConsolePartition.createNewPartition(0, length);
-							}
-						} else {
-							// modify parition offset
-							newPartition = messageConsolePartition.createNewPartition(messageConsolePartition.getOffset()-overflow, messageConsolePartition.getLength());
-						}
-						if (newPartition != null) {
-							newParitions.add(newPartition);
-						}
-					}
-				}
-				fPartitions = newParitions;
-		
-				//called from GUI Thread (see startUpdaterThread()), no asyncExec needed.
-				try {
-					fDocument.replace(0, overflow, "");  //$NON-NLS-1$
-				} catch (BadLocationException e) {
-				}		
-			}
-		}
-	}
-		
-
-	/**
-	 * Adds a new colored input partition, combining with the previous partition if
-	 * possible.
-	 */
-	private MessageConsolePartition addPartition(MessageConsolePartition partition) {
-		if (fPartitions.isEmpty()) {
-			fPartitions.add(partition);
-		} else {
-			int index = fPartitions.size() - 1;
-			MessageConsolePartition last = (MessageConsolePartition)fPartitions.get(index);
-			if (last.canBeCombinedWith(partition)) {
-				// replace with a single partition
-				partition = last.combineWith(partition);
-				fPartitions.set(index, partition);
-			} else {
-				// different kinds - add a new parition
-				fPartitions.add(partition);
-			}
-		}
-		return partition;
-	}
-	
-	/**
-	 * Returns the document this partitioner is connected to, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the document this partitioner is connected to, or <code>null</code>
-	 *   if none
-	 */
-	public IDocument getDocument() {
-		return fDocument;
-	}
-
-	/**
-	 * 
-	 */
-	private void startUpdaterThread() {
-		if (updaterThreadStarted) {
-			return;
-		}
-		
-		updaterThreadStarted = true;
-		
-		Runnable r = new Runnable() {
-			public void run() {
-
-				while(!killed && streamEntries.size()>0) {
-					synchronized(streamEntries) {
-						final StreamEntry streamEntry = (StreamEntry)streamEntries.get(0);
-						streamEntries.remove(0);
-						 
-						Runnable innerRunnable = new Runnable() {
-							public void run() {
-								fLastStream = streamEntry.stream;
-								try {
-									fDocument.replace(fDocument.getLength(), 0, streamEntry.text.toString());
-									checkOverflow();
-									fConsoleManager.warnOfContentChange(streamEntry.stream.getConsole());
-								} catch (BadLocationException e) {
-								}
-							}
-						};
-						Display display = ConsolePlugin.getStandardDisplay();
-						if (display != null) {
-							display.asyncExec(innerRunnable);
-						}
-						
-						try {
-							//Don't just die! Give up the lock and allow more StreamEntry objects to be
-							//added to list
-							Thread.sleep(100);
-						} catch (InterruptedException e) {							
-						}
-					}
-				}
-				updaterThreadStarted = false;
-			}
-		};
-		
-		new Thread(r, "MessageConsoleUpdaterThread").start(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Adds the new text to the document.
-	 * 
-	 * @param text the text to append
-	 * @param stream the stream to append to
-	 */
-	public void appendToDocument(final String text, final MessageConsoleStream stream) {
-		int offset = 0;
-		int length = text.length();
-		
-		synchronized(streamEntries) {
-			//try to fit in last StreamEntry if they are the same stream		
-			if (streamEntries.size() > 0) { 
-				StreamEntry streamEntry = (StreamEntry)streamEntries.get(streamEntries.size()-1);
-				if (streamEntry.stream == stream) {
-					int emptySpace = maxAppendSize - streamEntry.text.length();
-					if (length <= emptySpace) {
-						streamEntry.text.append(text);
-						offset = length;
-						length = 0;
-					} else {
-						streamEntry.text.append(text.substring(offset, emptySpace));
-						offset += emptySpace;
-						length -= emptySpace;
-					}
-				}
-			} 
-			
-			//put remaining text into new StreamEntry objects
-			while (length > 0) {
-				int toCopy = Math.min(maxAppendSize, length);
-				String substring = text.substring(offset, offset+toCopy);
-				StreamEntry streamEntry = new StreamEntry(substring, stream);
-				streamEntries.add(streamEntry);
-				offset += toCopy;
-				length -= toCopy;
-			}
-			
-		} //give up the lock
-		
-		startUpdaterThread();
-	}	
-	
-	private class StreamEntry {
-		MessageConsoleStream stream;
-		StringBuffer text;
-		
-		StreamEntry(String text, MessageConsoleStream stream) {
-			this.stream = stream;
-			this.text = new StringBuffer(text);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
deleted file mode 100644
index 300e50f..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/MessageConsoleViewer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.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.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.swt.SWT;
-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.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-
-public class MessageConsoleViewer extends TextViewer implements LineStyleListener {
-	
-	protected InternalDocumentListener fInternalDocumentListener= new InternalDocumentListener();
-		
-	/**
-	 * Internal document listener.
-	 */
-	class InternalDocumentListener implements IDocumentListener {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentAboutToBeChanged(DocumentEvent e) {
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
-		 */
-		public void documentChanged(DocumentEvent e) {
-			revealEndOfDocument();
-		}
-	}
-	
-	/**
-	 * Creates a new console viewer and adds verification checking
-	 * to only allow text modification if the text is being modified
-	 * in the editable portion of the underlying document.
-	 *
-	 * @see org.eclipse.swt.events.VerifyListener
-	 */	
-	public MessageConsoleViewer(Composite parent) {
-		super(parent, getSWTStyles());
-		getTextWidget().setDoubleClickEnabled(true);
-		getTextWidget().setFont(parent.getFont());
-		getTextWidget().addLineStyleListener(this);
-		getTextWidget().setEditable(false);
-	}
-	
-	/**
-	 * Returns the SWT style flags used when instantiating this viewer
-	 */
-	private static int getSWTStyles() {
-		int styles= SWT.H_SCROLL | SWT.V_SCROLL;
-		return styles;
-	}
-
-	/**
-	 * Reveals (makes visible) the end of the current document
-	 */
-	protected void revealEndOfDocument() {
-		IDocument doc = getDocument();
-		int lines = doc.getNumberOfLines();
-		try {
-			// lines are 0-based
-			int lineStartOffset = doc.getLineOffset(lines - 1);
-			StyledText widget= getTextWidget();
-			if (lineStartOffset > 0) {
-				widget.setCaretOffset(lineStartOffset);
-				widget.showSelection();
-			}
-			int lineEndOffset = lineStartOffset + doc.getLineLength(lines - 1);
-			if (lineEndOffset > 0) {
-				widget.setCaretOffset(lineEndOffset);
-			}
-		} catch (BadLocationException e) {
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextViewer#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument doc) {
-		IDocument oldDoc= getDocument();
-		IDocument document= doc;
-		if (oldDoc == null && document == null) {
-			return;
-		}
-		if (oldDoc != null) {
-			oldDoc.removeDocumentListener(fInternalDocumentListener);
-			if (oldDoc.equals(document)) {
-				document.addDocumentListener(fInternalDocumentListener);
-				return;
-			}
-		}
-
-		super.setDocument(document);
-		if (document != null) {
-			revealEndOfDocument();
-			document.addDocumentListener(fInternalDocumentListener);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.TextViewer#canPerformFind()
-	 */
-	protected boolean canPerformFind() {
-		return (getTextWidget() != null && getVisibleDocument() != null && getVisibleDocument().getLength() > 0);
-	}	
-		
-	/**
-	 * Dispose this viewer and resources
-	 */
-	public void dispose() {
-	}
-	
-	/* (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) {
-			MessageConsolePartitioner partitioner = (MessageConsolePartitioner)document.getDocumentPartitioner();
-			if (partitioner != null) {
-				ITypedRegion[] regions = partitioner.computePartitioning(event.lineOffset, event.lineOffset + event.lineText.length());
-				StyleRange[] styles = new StyleRange[regions.length];
-				for (int i = 0; i < regions.length; i++) {
-					MessageConsolePartition partition = (MessageConsolePartition)regions[i];
-					Color color = partition.getStream().getColor();
-					styles[i] = new StyleRange(partition.getOffset(), partition.getLength(), color, null);
-				}	
-				event.styles = styles;
-			}
-		}
-	}	
-}
\ No newline at end of file
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 586d3c2..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-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.getString("PinConsoleAction.0"), IAction.AS_CHECK_BOX); //$NON-NLS-1$
-		setToolTipText(ConsoleMessages.getString("PinConsoleAction.1")); //$NON-NLS-1$
-		setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_PIN));
-		setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_PIN));
-		setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_PIN));
-		fView = view;
-		update();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (isChecked()) {
-			fView.pin(fView.getConsole());
-		} else {
-			fView.pin(null);
-		}
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(fView.getConsole() != null);
-		setChecked(fView.isPinned());
-	}
-}
\ No newline at end of file
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 6477805..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.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())) {
-			// only change if required (and pin the console if pinned)
-			if (fView.isPinned()) {
-				fView.pin(fConsole);
-			} else {
-				fView.display(fConsole);
-			}
-		}
-	}
-
-	/**
-	 * 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();
-		fConsole = console;
-		fView = view;
-		setText(console.getName());
-		setImageDescriptor(console.getImageDescriptor());
-	}
-}
\ No newline at end of file