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

Sprout from master 2004-06-17 16:42:01 UTC Darin Wright <darin> '*** empty log message ***'
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.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/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
    org.eclipse.ui.externaltools/.classpath
    org.eclipse.ui.externaltools/.cvsignore
    org.eclipse.ui.externaltools/.options
    org.eclipse.ui.externaltools/.project
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
    org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
    org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
    org.eclipse.ui.externaltools/about.html
    org.eclipse.ui.externaltools/build.properties
    org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
    org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
    org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
    org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
    org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
    org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
    org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
    org.eclipse.ui.externaltools/plugin.properties
    org.eclipse.ui.externaltools/plugin.xml
    org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 6938697..0000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.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 d622df3..0000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,22 +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="*"/>
-      </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.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 8652797..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 0c361fd..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 a5edd3a..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 a252bf0..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 16f4e25..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 afb6fa9..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 b7f03d5..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 57f4102..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 57f4102..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 aa15e0a..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 6b3911b..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 0a44550..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 b8ca14a..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 789d732..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 a44bc7e..0000000
--- a/org.eclipse.debug.ui/plugin.properties
+++ /dev/null
@@ -1,257 +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
-
-ViewCommand.debugView.name=Debug
-ViewCommand.debugView.description=Show the Debug view
-
-ViewCommand.breakpointView.name=Breakpoints
-ViewCommand.breakpointView.description=Show the Breakpoints view
-
-ViewCommand.variableView.name=Variables
-ViewCommand.variableView.description=Show the Variables view
-
-ViewCommand.expressionView.name=Expressions
-ViewCommand.expressionView.description=Show the Expressions view
-
-ViewCommand.registerView.name=Registers
-ViewCommand.registerView.description=Show the Registers view
-
-ViewCommand.memoryView.name=Memory
-ViewCommand.memoryView.description=Show the Memory view
-
-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 ac115ac..0000000
--- a/org.eclipse.debug.ui/plugin.xml
+++ /dev/null
@@ -1,1992 +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="*"/>
-      </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" schema="schema/stringVariablePresentations.exsd"/>
-   <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="additions"
-               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>      
-<!-- views -->
-      <command
-            name="%ViewCommand.debugView.name"
-            description="%ViewCommand.debugView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.DebugView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.DebugView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ViewCommand.breakpointView.name"
-            description="%ViewCommand.breakpointView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.BreakpointView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.BreakpointView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ViewCommand.variableView.name"
-            description="%ViewCommand.variableView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.VariableView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.VariableView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ViewCommand.expressionView.name"
-            description="%ViewCommand.expressionView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.ExpressionView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.ExpressionView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ViewCommand.registerView.name"
-            description="%ViewCommand.registerView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.RegisterView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.RegisterView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ViewCommand.memoryView.name"
-            description="%ViewCommand.memoryView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.debug.ui.MemoryView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.debug.ui.MemoryView"
-            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="false"
-            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 94a2b2d..0000000
--- a/org.eclipse.debug.ui/schema/contextViewBindings.exsd
+++ /dev/null
@@ -1,121 +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 enabled, this view will be automatically brought to the front. When elements are selected in the Debug view, contexts associated with those elements (as specified by extensions of the debugModelContextBindings extension point) are automatically enabled.
-Note that this only occurs in perspectives for which the user has requested &quot;automatic view management&quot; via the preferences (by default, only in the Debug perspective).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="autoOpen" type="boolean">
-            <annotation>
-               <documentation>
-                  Specifies whether the view should be automatically opened when the given context is enabled. If unspecified, the value of this attribute is true. If this attribute is specified false, the view will not be automatically opened, but it will still be brought to the front if it is open when the given context is enabled. Clients are intended to specify false to avoid cluttering the perspective with views that are used infrequently.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="autoClose" type="boolean">
-            <annotation>
-               <documentation>
-                  Clients are not intended to specify this attribute except in rare cases.
-Specifies whether the view should be automatically closed when the given context is disabled (this occurs when all debug targets that contained the specified context have terminated). When unspecified, the value of this attribute is true. This attribute should only be specified false in the unlikely case that a debugging view must remain open even when the user is not debugging.
-               </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=&quot;org.eclipse.debug.ui.contextViewBindings&quot;&gt;
-   &lt;contextViewBinding
-         contextId=&quot;com.example.mydebugger.debugging&quot;
-         viewId=&quot;com.example.view&quot;
-         autoOpen=&quot;true&quot;
-         autoClose=&quot;false&quot;&gt;
-   &lt;/contextViewBinding&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&apos;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 dac4304..0000000
--- a/org.eclipse.debug.ui/schema/launchShortcuts.exsd
+++ /dev/null
@@ -1,228 +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>
-
-   <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 9d127a5..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIMessages.properties
+++ /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
-###############################################################################
-
-DebugUIPlugin.23=Build in Progress
-DebugUIPlugin.24=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.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
-
-InstructionPointerAnnotation.0=Debug Current Instruction Pointer
-InstructionPointerAnnotation.1=Debug Call Stack
-
-PopupInformationControl.1=Press {0} to {1}
-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 ecf73a6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ /dev/null
@@ -1,1011 +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.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);
-		
-		// 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 && 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);
-		}
-		
-		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);
-		IProgressMonitor subMonitor = monitor;
-		String message = MessageFormat.format("{0}...", new String[]{configuration.getName()}); //$NON-NLS-1$
-		if (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 f3ec889..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DefaultLabelProvider.java
+++ /dev/null
@@ -1,418 +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) {
-						DebugUIPlugin.log(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) {
-					DebugUIPlugin.log(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 fe3abdf..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.internal.core.ListenerList;
-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.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/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 f74b6d8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ShowSupportedBreakpointsAction.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and 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.internal.ui.views.breakpoints.BreakpointsView;
-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();
-		((BreakpointsView)getView()).initializeCheckedState();
-	}
-	
-	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);
-		if (!on) {
-			((BreakpointsView)getView()).initializeCheckedState();
-		}
-	}
-	
-}
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 9148c35..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/CompileErrorPromptStatusHandler.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.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.DebugUITools;
-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;
-			if (DebugUITools.isPrivate(config)) {
-				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 9d5930c..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugModePromptStatusHandler.java
+++ /dev/null
@@ -1,74 +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.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;
-			if (DebugUITools.isPrivate(config)) {
-				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 0ce01be..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties
+++ /dev/null
@@ -1,127 +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
-###############################################################################
-
-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?
-
-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 81fce1a..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/PerspectiveManager.java
+++ /dev/null
@@ -1,740 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and 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;
-					}
-					if (shouldSwitchPerspectiveForSuspend(window, targetId)) {
-						switchToPerspective(window, targetId);
-						// Showing the perspective can open a new window
-						// (based on user prefs). So check again in case a
-						// new window has been opened.
-						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 (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)) {
-			return false;
-		}
-		String perspectiveName= getPerspectiveLabel(perspectiveId);
-		if (perspectiveName == 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;
-		}
-		
-		Shell shell= window.getShell();
-		if (shell == null || fPrompting) {
-			return false;
-		}
-		fPrompting= true;
-		// Activate the shell if necessary so the prompt is visible
-		if (shell.getMinimized()) {
-			shell.setMinimized(false);
-		}
-		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IDebugUIConstants.PREF_ACTIVATE_WORKBENCH)) {
-			shell.forceActive();
-		}
-		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();
-		}
-		if (isCurrentPerspective(window, perspectiveId)) {
-			// While prompting in response to one event (say, a launch),
-			// another event can occur which changes the perspective.
-			// Double-check that we're not in the right perspective.
-			answer= false;
-		}
-		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 d203f07..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.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));
-		composite.setFont(parent.getFont());
-		
-		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= LaunchViewContextListener.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 f58831d..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/ResolveDuplicatesHandler.java
+++ /dev/null
@@ -1,81 +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.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;
-		List sources = (List) args[1];
-		return resolveSourceElement(sources);
-	}
-	
-	public Object resolveSourceElement(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 dcd6ef8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupPanel.java
+++ /dev/null
@@ -1,495 +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;
-	
-	/**
-	 * 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("sourceTab.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("sourceTab.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;
-		}
-		
-		boolean migration = false;
-		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;
-				}
-				migration = true;
-			}
-			fLocator = (AbstractSourceLookupDirector)locator;			
-			if (memento == null) {
-				fLocator.initializeDefaults(configuration);
-			} else {				
-				fLocator.initializeFromMemento(memento, configuration);				 
-			}			
-		} catch (CoreException e) {
-			setErrorMessage(e.getMessage());
-			return;
-		}	
-		
-		initializeFrom(fLocator);
-		if (migration && configuration.isWorkingCopy()) {
-			// ensure perform apply actual updates the config
-			setDirty(true);
-			performApply((ILaunchConfigurationWorkingCopy)configuration);
-		}
-	}
-	
-	/**
-	 * 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 is 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("sourceTab.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 250855e..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/SourceLookupUIMessages.properties
+++ /dev/null
@@ -1,51 +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.upButton = U&p
-sourceTab.downButton = &Down
-sourceTab.removeButton = &Remove
-sourceTab.addButton = &Add...
-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.addButton2 = &Edit Source Lookup Path...
-addSourceLocation.editorMessage = Source not found.
-
-sourceSearch.folderSelectionError = Selection must be a folder.
-sourceSearch.initError = Unable to initialize source container.
-
-projectSelection.chooseLabel = Choose &project(s) to add:
-projectSelection.requiredLabel = Add &required projects of selected projects
-
-folderSelection.title=Folder Selection
-folderSelection.label=&Choose folders to add:
-
-manageSourceDialog.title = Edit Source Lookup Path
-manageSourceDialog.description = Edit the path used to locate source files.
-
-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:
-DirectorySourceContainerDialog.0=Directory Selection
-DirectorySourceContainerDialog.1=Choose directory 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 ebe8300..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/browsers/DirectorySourceContainerDialog.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.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);
-		dialog.setText(SourceLookupUIMessages.getString("DirectorySourceContainerDialog.0")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		dialog.setMessage(SourceLookupUIMessages.getString("DirectorySourceContainerDialog.1")); //$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 9b55373..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/breakpoints/BreakpointsView.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.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.
-	 */
-	public 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);
-			getCheckboxViewer().refresh(breakpoint);
-		} 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 2df81ad..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/PopupInformationControl.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.views.expression;
-
-import java.text.MessageFormat;
-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 HandlerSubmission submission;
-	
-	/**
-	 * 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.removeHandlerSubmission(submission);
-		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();
-			
-			submission = new HandlerSubmission(null, shell, null, commandId, closeHandler, Priority.MEDIUM);
-			commandSupport.addHandlerSubmission(submission);
-			
-			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();
-			if (shell != null) {
-				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 b5b6545..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ /dev/null
@@ -1,1343 +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.Iterator;
-
-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.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.IPartListener2;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IPerspectiveListener2;
-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.IWorkbenchPartReference;
-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, IPerspectiveListener2, IPageListener, IPropertyChangeListener, IResourceChangeListener, IShowInTarget, IShowInSource, IShowInTargetList, IPartListener2 {
-	
-	public static final String ID_CONTEXT_ACTIVITY_BINDINGS = "contextActivityBindings"; //$NON-NLS-1$
-
-	private boolean fShowingEditor = false;
-			
-	/**s
-	 * 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;
-
-	/**
-	 * 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.addPostSelectionChangedListener(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);
-		
-		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((IPartListener2) 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((IPartListener2) 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();
-		}
-		IWorkbenchPage page = getSite().getPage();
-		page.removePartListener((IPartListener2) this);
-		IWorkbenchWindow window = getSite().getWorkbenchWindow();
-		window.removePerspectiveListener(this);
-		window.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();
-		fContextListener.updateForSelection(((IStructuredSelection) getViewer().getSelection()).getFirstElement());
-	}
-
-	/**
-	 * Lookup source element for current stack frame again.
-	 */
-	public void redoSourceLookup() {
-		setStackFrame(null);
-		selectionChanged(null);
-	}
-
-	/**
-	 * Notifies this view that the given launches have terminated. When a launch
-	 * terminates, remove all context submissions associated with it.
-	 * Clear the cache of the last stack frame that source was displayed for
-	 * if that launch is terminated.
-	 * 
-	 * @param launches the terminated launches
-	 */
-	protected void launchesTerminated(ILaunch[] launches) {
-		fContextListener.launchesTerminated(launches);
-		IStackFrame frame = getStackFrame();
-		if (frame != null) {
-			ILaunch launch= frame.getLaunch();
-			for (int i = 0; i < launches.length; i++) {
-				ILaunch terminatedLaunch = launches[i];
-				if (terminatedLaunch.equals(launch)) {
-					setStackFrame(null);
-				}
-			}
-		}
-	}
-
-	/* (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();
-		if (isActive()) {
-			fContextListener.updateForSelection(((IStructuredSelection) getViewer().getSelection()).getFirstElement());
-		}
-	}
-
-	/* (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.IPerspectiveListener2#perspectiveChanged(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor, org.eclipse.ui.IWorkbenchPartReference, java.lang.String)
-	 */
-	public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, IWorkbenchPartReference partRef, String changeId) {
-		if (fContextListener != null) {
-			fContextListener.perspectiveChanged(page, partRef, 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();
-			fContextListener.loadTrackViews();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageClosed(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageClosed(IWorkbenchPage page) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPageListener#pageOpened(org.eclipse.ui.IWorkbenchPage)
-	 */
-	public void pageOpened(IWorkbenchPage page) {
-	}
-	
-	/**
-	 * 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(false);
-					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)) {
-			fContextListener.reloadAutoManagePerspectives(((IStructuredSelection) getViewer().getSelection()).getFirstElement());
-		} 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) {
-			fContextListener.loadTrackViews();
-		}
-	}
-
-	/* (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.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 };
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partClosed(IWorkbenchPartReference partRef) {
-		IWorkbenchPart part = partRef.getPart(false);
-		if (part != null && part.equals(fEditor)) {
-			fEditor = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partVisible(IWorkbenchPartReference partRef) {
-		IWorkbenchPart part = partRef.getPart(false);
-		if (part == this) {
-			setActive(true);
-// TODO: Workaround for Bug #63332. Reexamine after M9.
-//			updateContextListener();
-			// 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.
-			getSite().getPage().showActionSet(IDebugUIConstants.DEBUG_ACTION_SET);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partOpened(IWorkbenchPartReference partRef) {
-		IWorkbenchPart part = partRef.getPart(false);
-		if (part == this) {
-            fContextListener= new LaunchViewContextListener(LaunchView.this);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partActivated(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partBroughtToTop(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partDeactivated(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partHidden(IWorkbenchPartReference partRef) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
-	 */
-	public void partInputChanged(IWorkbenchPartReference partRef) {
-	}
-}
\ 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 46635b6..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewContextListener.java
+++ /dev/null
@@ -1,1001 +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 java.util.StringTokenizer;
-
-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.IDebugElement;
-import org.eclipse.debug.core.model.IDebugModelProvider;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-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.preference.IPreferenceStore;
-import org.eclipse.ui.IPerspectiveDescriptor;
-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.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 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();
-	public static final String DEBUG_CONTEXT= "org.eclipse.debug.ui.debugging"; //$NON-NLS-1$
-	/**
-	 * 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$
-	/**
-	 * The collection of context ids which were most recently enabled. 
-	 */
-	private List lastEnabledIds= new ArrayList();
-	/**
-	 * Boolean flag controlling whether or not this listener is
-	 * tracking part changes. This is necessary since this class
-	 * doesn't implement its own listener, but it informed of
-	 * perspective change events by the LaunchView.
-	 */
-	private boolean fIsTrackingPartChanges;
-	/**
-	 * Collection of perspectives in which views should be
-	 * automatically opened and closed.
-	 */
-	private List fAutoManagePerspectives= new ArrayList();
-	
-	/**
-	 * Creates a fully initialized context listener.
-	 * 
-	 * @param view a fully initialized launch view
-	 */
-	public LaunchViewContextListener(LaunchView view) {
-		launchView= view;
-		loadTrackViews();
-		loadDebugModelContextExtensions();
-		loadDebugModelActivityExtensions();
-		loadContextToViewExtensions(true);
-		loadOpenedViews();
-		loadViewsToNotOpen();
-		loadAutoManagePerspectives();
-		PlatformUI.getWorkbench().getContextSupport().getContextManager().addContextManagerListener(this);
-	}
-	
-	/**
-	 * 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) {
-		if (!isAutoManageViews()) {
-			return;
-		}
-		IWorkbenchPage page= getPage();
-		// 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(DEBUG_CONTEXT);
-		if (page == null || contextIds.size() == 0) {
-			return;
-		}
-		Set viewsToShow= new HashSet();
-		Set viewsToOpen= new HashSet();
-		computeViewActivation(contextIds, viewsToOpen, viewsToShow);
-		fIsTrackingPartChanges= false;
-		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);
-			}
-		}
-		loadTrackViews();
-	}
-	
-	/**
-	 * 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 = getPage();
-		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= getPage();
-		if (page == null || contexts.size() == 0 || !isAutoManageViews()) {
-			return;
-		}
-		Set viewsToClose= getViewIdsToClose(contexts);
-		if (viewsToClose.isEmpty()) { 
-			return;
-		}
-		fIsTrackingPartChanges= false;
-		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();
-		loadTrackViews();
-	}
-	
-	/**
-	 * 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(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= getLaunch(selection);
-		if (launch == null) {
-			return;
-		}
-		String[] modelIds= getDebugModelIdsForSelection(selection);
-		enableContexts(getContextsForModels(modelIds), launch);
-		enableActivities(getActivitiesForModels(modelIds));
-	}
-
-	/**
-	 * 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;
-	}
-	
-	/**
-	 * 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(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) && !lastEnabledIds.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.
-				// This covers the case where the user is selecting
-				// among elements from several enabled contexts.
-				contextsAlreadyEnabled.add(contextId);
-			}
-		}
-		lastEnabledIds.clear();
-		lastEnabledIds.addAll(contextIds);
-		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 whether this view automatically opens and closes
-	 * views based on contexts
-	 * @return whether or not this view automatically manages
-	 * views based on contexts
-	 */
-	private boolean isAutoManageViews() {
-		IWorkbenchPage page = launchView.getViewSite().getWorkbenchWindow().getActivePage();
-		if (page != null) {
-			IPerspectiveDescriptor descriptor = page.getPerspective();
-			if (descriptor != null) {
-				return fAutoManagePerspectives.contains(descriptor.getId());
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the workbench page containing the launch view.
-	 * 
-	 * @return the workbench page containing the launch view
-	 */
-	public IWorkbenchPage getPage() {
-		return launchView.getSite().getPage();
-	}
-	
-	/**
-	 * 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)) {
-			fIsTrackingPartChanges= false;
-		} else if (changeId.equals(IWorkbenchPage.CHANGE_RESET_COMPLETE)) {
-			loadTrackViews();
-		}
-	}
-	
-	/**
-	 * Notifies this listener that the given perspective change
-	 * has occurred.
-	 * 
-	 * When a part is opened/closed, do not close/open it automatically. 
-	 */
-	public void perspectiveChanged(IWorkbenchPage page, IWorkbenchPartReference ref, String changeId) {
-		if (!fIsTrackingPartChanges) {
-			return;
-		}
-		if (IWorkbenchPage.CHANGE_VIEW_HIDE.equals(changeId) && (ref instanceof IViewReference)) {
-			String id = ((IViewReference) ref).getId();
-			if (managedViewIds.contains(id)) {
-				viewIdsToNotOpen.add(id);
-				saveViewsToNotOpen();
-			}
-			openedViewIds.remove(id);
-			saveOpenedViews();
-		} else if (IWorkbenchPage.CHANGE_VIEW_SHOW.equals(changeId) && ref instanceof IViewReference) {
-			String id = ((IViewReference) ref).getId();
-			openedViewIds.remove(id);
-			saveOpenedViews();
-		}
-	}
-	
-	/**
-	 * Reads the preference specifying 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.
-	 */
-	public void loadTrackViews() {
-		fIsTrackingPartChanges= DebugUITools.getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TRACK_VIEWS);
-	}
-	
-	/**
-	 * Load the collection of perspectives in which view
-	 * management will occur from the preference store.
-	 */
-	private void loadAutoManagePerspectives() {
-		String prefString = DebugUIPlugin.getDefault().getPreferenceStore().getString(IDebugUIConstants.PREF_MANAGE_VIEW_PERSPECTIVES);
-		fAutoManagePerspectives= parseList(prefString);
-	}
-	
-	/**
-	 * Reloaded the collection of view management perspectives
-	 * and updates (potentially opening views) for the given
-	 * selection.
-	 */
-	public void reloadAutoManagePerspectives(Object selection) {
-		// Remove the context ids associated with the current selection
-		// so that updateForSelection(...) will open views
-		// as appropriate given the new view management settings.
-		String[] modelIds = getDebugModelIdsForSelection(selection);
-		List contextIds = getContextsForModels(modelIds);
-		lastEnabledIds.removeAll(contextIds);
-		
-		loadAutoManagePerspectives();
-		updateForSelection(selection);
-	}
-	
-	/**
-	 * 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;
-	}
-
-	/**
-	 * 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 ef53afa..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchViewEventHandler.java
+++ /dev/null
@@ -1,551 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and 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) {
-		if (fLastStackFrame != null) {
-			ILaunch launch= fLastStackFrame.getLaunch();
-			for (int i = 0; i < launches.length; i++) {
-				ILaunch terminatedLaunch = launches[i];
-				if (terminatedLaunch.equals(launch)) {
-					fLastStackFrame= null;
-				}
-			}
-		}
-		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 06c0256..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/MemoryViewTab.java
+++ /dev/null
@@ -1,2503 +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);
-								
-								// BUG 64831:  to get around SWT problem with
-								// the table cursor not painted properly after
-								// table.setTopIndex is called
-								fCursorManager.getLeadCursor().setVisible(false);
-								fCursorManager.getLeadCursor().setVisible(true);
-							}
-						}
-						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);
-							
-							// BUG 64831:  to get around SWT problem with
-							// the table cursor not painted properly after
-							// table.setTopIndex is called
-							fCursorManager.getLeadCursor().setVisible(false);
-							fCursorManager.getLeadCursor().setVisible(true);
-						}
-					}
-				}
-			}
-		}
-		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 bf52681..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/ViewTabCursorManager.java
+++ /dev/null
@@ -1,963 +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)
-		{
-			// TableCursor changes the way how it is disposed.
-			// SWT disposes the cursor when the view tab is dispose
-			// disposing the cursor now causes SWT error
-//			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 67038ba..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/AvailableLogicalStructuresAction.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and 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);
-				StringBuffer label= new StringBuffer();
-				//add the numerical accelerator
-				if (i < 9) {
-					label.append('&');
-					label.append(i + 1);
-					label.append(' ');
-				}
-				label.append(action.getText());
-				action.setText(label.toString());
-				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 781d0d8..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewContentProvider.java
+++ /dev/null
@@ -1,415 +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;
-			}
-		}
-		if (logicalValue == null) {
-			// safeguard against an structure type returning null
-			logicalValue = value;
-		}
-		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) {
-						// unable to display logical structure
-					}
-				}
-			}
-		}
-		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 f8e4149..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/VariablesViewMessages.properties
+++ /dev/null
@@ -1,34 +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.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 2ed3618..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java
+++ /dev/null
@@ -1,656 +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);
-		
-		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 dcb71b9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/EnvironmentTab.java
+++ /dev/null
@@ -1,689 +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);
-	        replaceEnvironment.setSelection(false);
-		} else {
-			replaceEnvironment.setSelection(true);
-			appendEnvironment.setSelection(false);
-		}
-		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 35a3e9b..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/RefreshTab.java
+++ /dev/null
@@ -1,621 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this 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());
-		
-		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 30bc6de..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.marginWidth = 0;
-		topLayout.marginHeight = 0;
-		topLayout.numColumns = 1;
-		comp.setLayout(topLayout);
-		comp.setFont(parent.getFont());
-		
-		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 d9462c9..0000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/sourcelookup/WorkingSetSourceContainer.java
+++ /dev/null
@@ -1,108 +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 ((WorkingSetSourceContainer)obj).fWorkingSet.equals(fWorkingSet);			
-		}				
-		return false;
-	}		
-
-	public int hashCode() {
-		return fWorkingSet.hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
-	 */
-	public ISourceContainerType getType() {
-		return getSourceContainerType(TYPE_ID);
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
-	 */
-	protected ISourceContainer[] createSourceContainers() throws CoreException {
-		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 d29a1a3..0000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ViewCommand.consoleView.name=Console
-ViewCommand.consoleView.description=Show the Console view
-
-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 9fdfc65..0000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,62 +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="*"/>
-      </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.commands">
-      <command
-            name="%ViewCommand.consoleView.name"
-            description="%ViewCommand.consoleView.description"
-            category="org.eclipse.ui.category.views"
-            id="org.eclipse.ui.console.ConsoleView">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.console.ConsoleView"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </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 60fcd40..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
-
-
-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 e58b735..0000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ /dev/null
@@ -1,435 +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.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) {
-			setContentDescription(ConsoleMessages.getString("ConsoleView.0")); //$NON-NLS-1$
-		} else {
-			setContentDescription(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
diff --git a/org.eclipse.ui.externaltools/.classpath b/org.eclipse.ui.externaltools/.classpath
deleted file mode 100644
index 26de43b..0000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

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

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

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

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

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

-</classpath>

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

-externaltools.jar

-build.xml

-temp.folder

diff --git a/org.eclipse.ui.externaltools/.options b/org.eclipse.ui.externaltools/.options
deleted file mode 100644
index d127194..0000000
--- a/org.eclipse.ui.externaltools/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.externaltools plugin.

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

-<projectDescription>

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

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

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

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

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

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

-	</natures>

-</projectDescription>

diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
deleted file mode 100644
index 6f6a137..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
+++ /dev/null
@@ -1,310 +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.externaltools.internal.launchConfigurations;
-
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-public class ExternalToolsBuilderTab extends AbstractLaunchConfigurationTab {
-
-	private Button afterClean;
-	private Button autoBuildButton;
-	private Button manualBuild;
-	private Button workingSetButton;
-	private Button specifyResources;
-	protected Button fLaunchInBackgroundButton;
-	private IWorkingSet workingSet; 
-	
-	private SelectionListener selectionListener= new SelectionAdapter() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
-			workingSetButton.setEnabled(enabled);
-			specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-			updateLaunchConfigurationDialog();
-		}
-	};
-
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.horizontalSpan = 2;
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createLaunchInBackgroundComposite(mainComposite);
-		createBuildScheduleComponent(mainComposite);
-		
-	}
-	
-	/**
-	 * Creates the controls needed to edit the launch in background
-	 * attribute of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createLaunchInBackgroundComposite(Composite parent) {
-		fLaunchInBackgroundButton = createCheckButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.14")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fLaunchInBackgroundButton.setLayoutData(data);
-		fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-	
-	private void createBuildScheduleComponent(Composite parent) {
-		Label label= new Label(parent, SWT.NONE);
-		label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Run_this_builder_for__1")); //$NON-NLS-1$
-		label.setFont(parent.getFont());
-		afterClean= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Full_builds_2"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Full"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-		manualBuild= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Incremental_builds_4"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Inc"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-		autoBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Auto"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-				
-		createVerticalSpacer(parent, 2);
-		
-		workingSetButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_label"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_tooltip"), 1); //$NON-NLS-1$ //$NON-NLS-2$
-		specifyResources= createPushButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.13"), null); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		specifyResources.setLayoutData(gd);
-		specifyResources.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectResources();
-			}
-		});
-	}
-	
-	/*
-	 * Creates a check button in the given composite with the given text
-	 */
-	private Button createButton(Composite parent, SelectionListener listener, String text, String tooltipText, int columns) {
-		Button button= createCheckButton(parent, text);
-		button.setToolTipText(tooltipText);
-		button.addSelectionListener(listener);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = columns;
-		button.setLayoutData(gd);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-		buffer.append(',');
-		buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-		buffer.append(','); 
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		
-		afterClean.setSelection(false);
-		manualBuild.setSelection(false);
-		autoBuildButton.setSelection(false);
-
-		String buildKindString= null;
-		String buildScope= null;
-		try {
-			buildKindString= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""); //$NON-NLS-1$
-			buildScope= configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		} catch (CoreException e) {
-		}
-		
-		workingSetButton.setSelection(buildScope != null);
-		workingSetButton.setEnabled(buildScope != null);
-		
-		if (buildScope != null) {
-			workingSet = RefreshTab.getWorkingSet(buildScope);
-		}
-		
-		int buildTypes[]= ExternalToolBuilder.buildTypesToArray(buildKindString);
-		for (int i = 0; i < buildTypes.length; i++) {
-			switch (buildTypes[i]) {
-				case IncrementalProjectBuilder.FULL_BUILD:
-					afterClean.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-					manualBuild.setSelection(true);
-					break;
-				case IncrementalProjectBuilder.AUTO_BUILD:
-					autoBuildButton.setSelection(true);
-					break;
-			}
-		}
-		boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
-		workingSetButton.setEnabled(enabled);
-		specifyResources.setEnabled(enabled && workingSetButton.getSelection());
-		updateRunInBackground(configuration);
-	}
-	
-	protected void updateRunInBackground(ILaunchConfiguration configuration) { 
-		fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
-	}
-	
-	/**
-	 * Returns whether the given configuration should be run in the background.
-	 * 
-	 * @param configuration the configuration
-	 * @return whether the configuration is configured to run in the background
-	 */
-	public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
-		boolean launchInBackground= false;
-		try {
-			launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ce);
-		}
-		return launchInBackground;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		StringBuffer buffer= new StringBuffer();
-		if (afterClean.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
-		} 
-		if (manualBuild.getSelection()){
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(','); 
-		} 
-		if (autoBuildButton.getSelection()) {
-			buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
-		}
-		configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-		
-		if (workingSetButton.getSelection()) {
-			String scope = RefreshTab.getRefreshAttribute(workingSet);
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, scope);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
-		}
-		configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, fLaunchInBackgroundButton.getSelection());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Build_Options_9"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		
-		boolean buildKindSelected= afterClean.getSelection() || manualBuild.getSelection() || autoBuildButton.getSelection();
-		if (!buildKindSelected) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.buildKindError")); //$NON-NLS-1$
-			return false;
-		}
-		if (workingSetButton.getSelection() && (workingSet == null || workingSet.getElements().length == 0)) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.16")); //$NON-NLS-1$
-		}
-		
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
-	 */
-	public boolean canSave() {
-		return isValid(null);
-	}
-
-	/**
-	 * Prompts the user to select the working set that triggers the build.
-	 */
-	private void selectResources() {
-		IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-		
-		if (workingSet == null){
-			workingSet = workingSetManager.createWorkingSet(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.15"), new IAdaptable[0]); //$NON-NLS-1$
-		}
-		IWorkingSetEditWizard wizard= workingSetManager.createWorkingSetEditWizard(workingSet);
-		WizardDialog dialog = new WizardDialog(ExternalToolsPlugin.getStandardDisplay().getActiveShell(), wizard);
-		dialog.create();		
-		
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		workingSet = wizard.getSelection();
-		updateLaunchConfigurationDialog();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on activation
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		// do nothing on deactivation
-	}
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
deleted file mode 100644
index e1e1695..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsLaunchConfigurationMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsLaunchConfigurationMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsLaunchConfigurationMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
deleted file mode 100644
index cca674c..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
+++ /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
-###############################################################################
-
-ExternalToolsMainTab.&Location___2=&Location: 
-ExternalToolsMainTab.&Browse_Workspace..._3=Browse Works&pace...
-ExternalToolsMainTab.Brows&e_File_System..._4=Brows&e File System...
-ExternalToolsMainTab.Working_&Directory__5=Working &Directory:
-ExternalToolsMainTab.Browse_Wor&kspace..._6=Browse Wor&kspace...
-ExternalToolsMainTab.Browse_F&ile_System..._7=Br&owse File System...
-ExternalToolsMainTab.Error_reading_configuration_10=Error reading configuration
-ExternalToolsMainTab.&Main_17=Main
-ExternalToolsMainTab.External_tool_location_cannot_be_empty_18=External tool location cannot be empty
-ExternalToolsMainTab.External_tool_location_does_not_exist_19=External tool location does not exist
-ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20=External tool location specified is not a file
-ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21=External tool working directory does not exist or is invalid
-ExternalToolsMainTab.Select_a_resource_22=Select a resource:
-ExternalToolsMainTab.23=Select a working directory:
-ExternalToolsMainTab.&Arguments___1=&Arguments: 
-ExternalToolsMainTab.Varia&bles..._2=Variable&s...
-ExternalToolsMainTab.3=Note: Enclose an argument containing spaces using double-quotes (\").
-ExternalToolsMainTab.Error_reading_configuration_7=Error reading configuration
-ExternalToolsMainTab.Not_a_directory=The specified location is not a directory
-ExternalToolsMainTab.30=Please specify the location of the external tool you would like to configure.
-ExternalToolsMainTab.31=Var&iables...
-ExternalToolsMainTab.32=Varia&bles...
-
-ExternalToolsUtil.Location_not_specified_by_{0}_1=Location not specified by {0}
-ExternalToolsUtil.invalidLocation_{0} = The file does not exist for the external tool named {0}.
-ExternalToolsUtil.invalidDirectory_{0} = The working directory {0} does not exist for the external tool named {1}.
-
-ExternalToolsBuilderTab.Run_this_builder_for__1=Run the builder:
-ExternalToolsBuilderTab.&Full_builds_2=&After a \"Clean\"
-ExternalToolsBuilderTab.Full=Runs on the first build that occurs after a clean.
-ExternalToolsBuilderTab.&Incremental_builds_4=&During Manual Builds
-ExternalToolsBuilderTab.Inc=Runs whenever the user invokes a build (but not for auto-build).
-ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6=During A&uto Builds
-ExternalToolsBuilderTab.Auto=Runs whenever a resource in the workspace is modified if autobuilding is enabled. Enabling this option should be paired with a specifying a resource working set.
-ExternalToolsBuilderTab.Build_Options_9=&Build Options
-ExternalToolsBuilderTab.workingSet_label=Specify working set of &relevant resources (not applied for the build after a clean)
-ExternalToolsBuilderTab.workingSet_tooltip=The working set of resources that if changed from a manual or auto build will trigger the external tool builder
-ExternalToolsBuilderTab.buildKindError=At least one type of build kind must be selected
-ExternalToolsBuilderTab.14=Launch in bac&kground
-ExternalToolsBuilderTab.13=&Specify Resources...
-ExternalToolsBuilderTab.16=Must select resources in working set.
-ExternalToolsBuilderTab.15=workingSet
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
deleted file mode 100644
index b57e451..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
+++ /dev/null
@@ -1,638 +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.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariableSelectionDialog;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ResourceSelectionDialog;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * The external tools main tab allows the user to configure primary attributes
- * of external tool launch configurations such as the location, working directory,
- * and arguments.
- */
-public abstract class ExternalToolsMainTab extends AbstractLaunchConfigurationTab {
-	public final static String FIRST_EDIT = "editedByExternalToolsMainTab"; //$NON-NLS-1$
-
-	protected Text locationField;
-	protected Text workDirectoryField;
-	protected Button fileLocationButton;
-	protected Button workspaceLocationButton;
-	protected Button variablesLocationButton;
-	protected Button fileWorkingDirectoryButton;
-	protected Button workspaceWorkingDirectoryButton;
-	protected Button variablesWorkingDirectoryButton;
-
-	protected Text argumentField;
-	protected Button argumentVariablesButton;
-
-	protected SelectionAdapter selectionAdapter;
-	
-	protected boolean fInitializing= false;
-	private boolean userEdited= false;
-
-	protected WidgetListener fListener= new WidgetListener();
-	
-	/**
-	 * A listener to update for text modification and widget selection.
-	 */
-	protected class WidgetListener extends SelectionAdapter implements ModifyListener {
-		public void modifyText(ModifyEvent e) {
-			if (!fInitializing) {
-				setDirty(true);
-				userEdited= true;
-				updateLaunchConfigurationDialog();
-			}
-		}
-		public void widgetSelected(SelectionEvent e) {
-			setDirty(true);
-			Object source= e.getSource();
-			if (source == workspaceLocationButton) {
-				handleWorkspaceLocationButtonSelected();
-			} else if (source == fileLocationButton) {
-				handleFileLocationButtonSelected();
-			} else if (source == workspaceWorkingDirectoryButton) {
-				handleWorkspaceWorkingDirectoryButtonSelected();
-			} else if (source == fileWorkingDirectoryButton) {
-				handleFileWorkingDirectoryButtonSelected();
-			} else if (source == argumentVariablesButton) {
-				handleVariablesButtonSelected(argumentField);
-			} else if (source == variablesLocationButton) {
-				handleVariablesButtonSelected(locationField);
-			} else if (source == variablesWorkingDirectoryButton) {
-				handleVariablesButtonSelected(workDirectoryField);
-			}
-		}
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite mainComposite = new Composite(parent, SWT.NONE);
-		setControl(mainComposite);
-		mainComposite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-
-		createLocationComponent(mainComposite);
-		createWorkDirectoryComponent(mainComposite);
-		createArgumentComponent(mainComposite);
-		createVerticalSpacer(mainComposite, 1);
-		
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Creates the controls needed to edit the location
-	 * attribute of an external tool
-	 * 
-	 * @param group the composite to create the controls in
-	 */
-	protected void createLocationComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String locationLabel = getLocationLabel();
-		group.setText(locationLabel);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;		
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		locationField = new Text(group, SWT.BORDER);
-		gridData = new GridData(GridData.FILL_HORIZONTAL);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		locationField.setLayoutData(gridData);
-		locationField.addModifyListener(fListener);
-		addControlAccessibleListener(locationField, group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Browse_Workspace..._3"), null); //$NON-NLS-1$
-		workspaceLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceLocationButton, group.getText() + " " + workspaceLocationButton.getText()); //$NON-NLS-1$
-		
-		fileLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Brows&e_File_System..._4"), null); //$NON-NLS-1$
-		fileLocationButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileLocationButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesLocationButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.31"), null); //$NON-NLS-1$
-		variablesLocationButton.addSelectionListener(fListener);	
-		addControlAccessibleListener(variablesLocationButton, group.getText() + " " + variablesLocationButton.getText());	 //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the label used for the location widgets. Subclasses may wish to override.
-	 */
-	protected String getLocationLabel() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Location___2"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates the controls needed to edit the working directory
-	 * attribute of an external tool
-	 * 
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createWorkDirectoryComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = getWorkingDirectoryLabel();
-		group.setText(groupName);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		workDirectoryField = new Text(group, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		workDirectoryField.setLayoutData(data);
-		workDirectoryField.addModifyListener(fListener);
-		addControlAccessibleListener(workDirectoryField,group.getText());
-		
-		Composite buttonComposite = new Composite(group, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(gridData);
-		buttonComposite.setFont(parent.getFont());
-		
-		workspaceWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_Wor&kspace..._6"), null); //$NON-NLS-1$
-		workspaceWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(workspaceWorkingDirectoryButton, group.getText() + " " + workspaceWorkingDirectoryButton.getText()); //$NON-NLS-1$
-		
-		fileWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_F&ile_System..._7"), null); //$NON-NLS-1$
-		fileWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(fileWorkingDirectoryButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-		
-		variablesWorkingDirectoryButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.32"), null); //$NON-NLS-1$
-		variablesWorkingDirectoryButton.addSelectionListener(fListener);
-		addControlAccessibleListener(variablesWorkingDirectoryButton, group.getText() + " " + variablesWorkingDirectoryButton.getText()); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return the String to use as the label for the working directory field.
-	 * Subclasses may wish to override.
-	 */
-	protected String getWorkingDirectoryLabel() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Working_&Directory__5"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates the controls needed to edit the argument and
-	 * prompt for argument attributes of an external tool
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	protected void createArgumentComponent(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		String groupName = ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Arguments___1"); //$NON-NLS-1$
-		group.setText(groupName); 
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_BOTH);
-		group.setLayout(layout);
-		group.setLayoutData(gridData);
-		
-		argumentField = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
-		gridData = new GridData(GridData.FILL_BOTH);
-		gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		gridData.heightHint = 30;
-		argumentField.setLayoutData(gridData);
-		argumentField.addModifyListener(fListener);
-		addControlAccessibleListener(argumentField, group.getText());
-		
-		argumentVariablesButton= createPushButton(group, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Varia&bles..._2"), null); //$NON-NLS-1$
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		argumentVariablesButton.setLayoutData(gridData);
-		argumentVariablesButton.addSelectionListener(fListener);
-		addControlAccessibleListener(argumentVariablesButton, argumentVariablesButton.getText()); // need to strip the mnemonic from buttons
-
-		Label instruction = new Label(group, SWT.NONE);
-		instruction.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.3")); //$NON-NLS-1$
-		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gridData.horizontalSpan = 2;
-		instruction.setLayoutData(gridData);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(FIRST_EDIT, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fInitializing= true;
-		updateLocation(configuration);
-		updateWorkingDirectory(configuration);
-		updateArgument(configuration);
-		fInitializing= false;
-		setDirty(false);
-	}
-	
-	/**
-	 * Updates the working directory widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateWorkingDirectory(ILaunchConfiguration configuration) {
-		String workingDir= ""; //$NON-NLS-1$
-		try {
-			workingDir= configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		workDirectoryField.setText(workingDir);
-	}
-	
-	/**
-	 * Updates the location widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateLocation(ILaunchConfiguration configuration) {
-		String location= ""; //$NON-NLS-1$
-		try {
-			location= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
-		}
-		locationField.setText(location);
-	}
-
-	/**
-	 * Updates the argument widgets to match the state of the given launch
-	 * configuration.
-	 */
-	protected void updateArgument(ILaunchConfiguration configuration) {
-		String arguments= ""; //$NON-NLS-1$
-		try {
-			arguments= configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""); //$NON-NLS-1$
-		} catch (CoreException ce) {
-			ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_7"), ce); //$NON-NLS-1$
-		}
-		argumentField.setText(arguments);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String location= locationField.getText().trim();
-		if (location.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-		}
-		
-		String workingDirectory= workDirectoryField.getText().trim();
-		if (workingDirectory.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, workingDirectory);
-		}
-
-		String arguments= argumentField.getText().trim();
-		if (arguments.length() == 0) {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String)null);
-		} else {
-			configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		}
-		
-		if(userEdited) {
-			configuration.setAttribute(FIRST_EDIT, (String)null);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Main_17"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		boolean newConfig = false;
-		try {
-			newConfig = launchConfig.getAttribute(FIRST_EDIT, false);
-		} catch (CoreException e) {
-			//assume false is correct
-		}
-		return validateLocation(newConfig) && validateWorkDirectory();
-	}
-	
-	/**
-	 * Validates the content of the location field.
-	 */
-	protected boolean validateLocation(boolean newConfig) {
-		String location = locationField.getText().trim();
-		if (location.length() < 1) {
-			if (newConfig) {
-				setErrorMessage(null);
-				setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.30"));  //$NON-NLS-1$
-			} else {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_cannot_be_empty_18")); //$NON-NLS-1$
-				setMessage(null);
-			}
-			return false;
-		}
-		
-		String expandedLocation= null;
-		try {
-			expandedLocation= resolveValue(location);
-			if (expandedLocation == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-		
-		File file = new File(expandedLocation);
-		if (!file.exists()) { // The file does not exist.
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_does_not_exist_19")); //$NON-NLS-1$
-			}
-			return false;
-		}
-		if (!file.isFile()) {
-			if (!newConfig) {
-				setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20")); //$NON-NLS-1$
-			}
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Validates the variables of the given string to determine if all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @exception CoreException if a variable is specified that does not exist
-	 */
-	private void validateVaribles(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		manager.validateStringVariables(expression);
-	}
-	
-	private String resolveValue(String expression) throws CoreException {
-		String expanded= null;
-		try {
-			expanded= getValue(expression);
-		} catch (CoreException e) { //possibly just a variable that needs to be resolved at runtime
-			validateVaribles(expression);
-			return null;
-		}
-		return expanded;
-	}
-	
-	/**
-	 * Validates the value of the given string to determine if any/all variables are valid
-	 * 
-	 * @param expression expression with variables
-	 * @return whether the expression contained any variable values
-	 * @exception CoreException if variable resolution fails
-	 */
-	private String getValue(String expression) throws CoreException {
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		return manager.performStringSubstitution(expression);
-	}
-
-	/**
-	 * Validates the content of the working directory field.
-	 */
-	protected boolean validateWorkDirectory() {
-		String dir = workDirectoryField.getText().trim();
-		if (dir.length() <= 0) {
-			return true;
-		}
-
-		String expandedDir= null;
-		try {
-			expandedDir= resolveValue(dir);
-			if (expandedDir == null) { //a variable that needs to be resolved at runtime
-				return true;
-			}
-		} catch (CoreException e) {
-			setErrorMessage(e.getStatus().getMessage());
-			return false;
-		}
-			
-		File file = new File(expandedDir);
-		if (!file.exists()) { // The directory does not exist.
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21")); //$NON-NLS-1$
-			return false;
-		}
-		if (!file.isDirectory()) {
-			setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Not_a_directory")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Prompts the user to choose a location from the filesystem and
-	 * sets the location as the full path of the selected file.
-	 */
-	protected void handleFileLocationButtonSelected() {
-		FileDialog fileDialog = new FileDialog(getShell(), SWT.NONE);
-		fileDialog.setFileName(locationField.getText());
-		String text= fileDialog.open();
-		if (text != null) {
-			locationField.setText(text);
-		}
-	}
-	
-	/**
-	 * Prompts the user for a workspace location within the workspace and sets
-	 * the location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		ResourceSelectionDialog dialog;
-		dialog = new ResourceSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Select_a_resource_22")); //$NON-NLS-1$
-		dialog.open();
-		Object[] results = dialog.getResult();
-		if (results == null || results.length < 1) {
-			return;
-		}
-		IResource resource = (IResource)results[0];
-		locationField.setText(newVariableExpression("workspace_loc", resource.getFullPath().toString())); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Prompts the user for a working directory location within the workspace
-	 * and sets the working directory as a String containing the workspace_loc
-	 * variable or <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceWorkingDirectoryButtonSelected() {
-		ContainerSelectionDialog containerDialog;
-		containerDialog = new ContainerSelectionDialog(
-			getShell(), 
-			ResourcesPlugin.getWorkspace().getRoot(),
-			false,
-			ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
-		containerDialog.open();
-		Object[] resource = containerDialog.getResult();
-		String text= null;
-		if (resource != null && resource.length > 0) {
-			text= newVariableExpression("workspace_loc", ((IPath)resource[0]).toString()); //$NON-NLS-1$
-		}
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * Returns a new variable expression with the given variable and the given argument.
-	 * @see IStringVariableManager#generateVariableExpression(String, String)
-	 */
-	protected String newVariableExpression(String varName, String arg) {
-		return VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression(varName, arg);
-	}
-	
-	/**
-	 * Prompts the user to choose a working directory from the filesystem.
-	 */
-	protected void handleFileWorkingDirectoryButtonSelected() {
-		DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SAVE);
-		dialog.setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
-		dialog.setFilterPath(workDirectoryField.getText());
-		String text= dialog.open();
-		if (text != null) {
-			workDirectoryField.setText(text);
-		}
-	}
-	
-	/**
-	 * A variable entry button has been pressed for the given text
-	 * field. Prompt the user for a variable and enter the result
-	 * in the given field.
-	 */
-	private void handleVariablesButtonSelected(Text textField) {
-		String variable = getVariable();
-		if (variable != null) {
-			textField.append(variable);
-		}
-	}
-
-	/**
-	 * Prompts the user to choose and configure a variable and returns
-	 * the resulting string, suitable to be used as an attribute.
-	 */
-	private String getVariable() {
-		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-		dialog.open();
-		return dialog.getVariableExpression();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_MAIN);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-	
-	/*
-	 * Fix for Bug 60163 Accessibility: New Builder Dialog missing object info for textInput controls
-	 */
-	public void addControlAccessibleListener(Control control, String controlName) {
-		//strip mnemonic (&)
-		String[] strs = controlName.split("&"); //$NON-NLS-1$
-		StringBuffer stripped = new StringBuffer();
-		for (int i = 0; i < strs.length; i++) {
-			stripped.append(strs[i]);
-		}
-		control.getAccessible().addAccessibleListener(new ControlAccessibleListener(stripped.toString()));
-	}
-	
-	private class ControlAccessibleListener extends AccessibleAdapter {
-		private String controlName;
-		ControlAccessibleListener(String name) {
-			controlName = name;
-		}
-		public void getName(AccessibleEvent e) {
-			e.result = controlName;
-		}
-		
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
deleted file mode 100644
index fbbecb0..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
+++ /dev/null
@@ -1,303 +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
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243(
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.osgi.service.environment.Constants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Utilities for external tool launch configurations.
- * <p>
- * This class it not intended to be instantiated.
- * </p>
- */
-public class ExternalToolsUtil {
-
-	/**
-	 * Throws a core exception with an error status object built from
-	 * the given message, lower level exception, and error code.
-	 * 
-	 * @param message the status message
-	 * @param exception lower level exception associated with the
-	 *  error, or <code>null</code> if none
-	 * @param code error code
-	 */
-	protected static void abort(String message, Throwable exception, int code) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, code, message, exception));
-	}
-	
-	/**
-	 * Expands and returns the location attribute of the given launch
-	 * configuration. The location is
-	 * verified to point to an existing file, in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a file in the local file system  
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing file in the local file
-	 * system
-	 */
-	public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String) null);
-		if (location == null) {
-			abort(MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Location_not_specified_by_{0}_1"), new String[] { configuration.getName()}), null, 0); //$NON-NLS-1$
-		} else {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation == null || expandedLocation.length() == 0) {
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			} else {
-				File file = new File(expandedLocation);
-				if (file.isFile()) {
-					return new Path(expandedLocation);
-				} 
-				
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			}
-		}
-		// execution will not reach here
-		return null;
-	}
-	
-	/**
-	 * Returns a boolean specifying whether or not output should be captured for
-	 * the given configuration
-	 * 
-	 * @param configuration the configuration from which the value will be
-	 * extracted
-	 * @return boolean specifying whether or not output should be captured
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean getCaptureOutput(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, true);
-	}
-
-	/**
-	 * Expands and returns the working directory attribute of the given launch
-	 * configuration. Returns <code>null</code> if a working directory is not
-	 * specified. If specified, the working is verified to point to an existing
-	 * directory in the local file system.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an absolute path to a directory in the local file system, or
-	 * <code>null</code> if unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, if unable to resolve any variables, or if the
-	 * resolved location does not point to an existing directory in the local
-	 * file system
-	 */
-	public static IPath getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
-		String location = configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) null);
-		if (location != null) {
-			String expandedLocation = getStringVariableManager().performStringSubstitution(location);
-			if (expandedLocation.length() > 0) {
-				File path = new File(expandedLocation);
-				if (path.isDirectory()) {
-					return new Path(expandedLocation);
-				} 
-				String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidDirectory_{0}"), new Object[] { expandedLocation, configuration.getName()}); //$NON-NLS-1$
-				abort(msg, null, 0);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Expands and returns the arguments attribute of the given launch
-	 * configuration. Returns <code>null</code> if arguments are not specified.
-	 * 
-	 * @param configuration launch configuration
-	 * @return an array of resolved arguments, or <code>null</code> if
-	 * unspecified
-	 * @throws CoreException if unable to retrieve the associated launch
-	 * configuration attribute, or if unable to resolve any variables
-	 */
-	public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException {
-		String args = configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String) null);
-		if (args != null) {
-			String expanded = getStringVariableManager().performStringSubstitution(args);
-			return parseStringIntoList(expanded);
-		}
-		return null;
-	}
-
-	private static IStringVariableManager getStringVariableManager() {
-		return VariablesPlugin.getDefault().getStringVariableManager();
-	}
-	
-	/**
-	 * Returns whether the given launch configuration is enabled. This property
-	 * is intended only to apply to external tool builder configurations and
-	 * determines whether the project builder will launch the configuration
-	 * when it builds.
-	 *  
-	 * @param configuration the configuration for which the enabled state should
-	 * 		be determined.
-	 * @return whether the given configuration is enabled to be run when a build occurs.
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isBuilderEnabled(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, true);
-	}
-	
-	/**
-	 * Returns the collection of resources for the build scope as specified by the given launch configuration.
-	 * 
-	 * @param configuration launch configuration
-	 * @throws CoreException if an exception occurs while retrieving the resources
-	 */
-	public static IResource[] getResourcesForBuildScope(ILaunchConfiguration configuration) throws CoreException {
-		String scope = configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String) null);
-		if (scope == null) {
-			return null;
-		}
-	
-		return RefreshTab.getRefreshResources(scope);
-	}
-	
-	/**
-	 * Parses the argument text into an array of individual
-	 * strings using the space character as the delimiter.
-	 * An individual argument containing spaces must have a
-	 * double quote (") at the start and end. Two double 
-	 * quotes together is taken to mean an embedded double
-	 * quote in the argument text.
-	 * 
-	 * @param arguments the arguments as one string
-	 * @return the array of arguments
-	 */
-	public static String[] parseStringIntoList(String arguments) {
-		if (arguments == null || arguments.length() == 0) {
-			return new String[0];
-		}
-		ArgumentParser parser= new ArgumentParser(arguments);
-		String[] res= parser.parseArguments();
-		return res;		
-	}	
-	
-	private static class ArgumentParser {
-		private String fArgs;
-		private int fIndex= 0;
-		private int ch= -1;
-		
-		public ArgumentParser(String args) {
-			fArgs= args;
-		}
-		
-		public String[] parseArguments() {
-			List v= new ArrayList();
-			
-			ch= getNext();
-			while (ch > 0) {
-				if (Character.isWhitespace((char)ch)) {
-					ch= getNext();	
-				} else {
-					if (ch == '"') {
-						v.add(parseString());
-					} else {
-						v.add(parseToken());
-					}
-				}
-			}
-	
-			String[] result= new String[v.size()];
-			v.toArray(result);
-			return result;
-		}
-		
-		private int getNext() {
-			if (fIndex < fArgs.length())
-				return fArgs.charAt(fIndex++);
-			return -1;
-		}
-		
-		private String parseString() {
-			StringBuffer buf= new StringBuffer();
-			ch= getNext();
-			while (ch > 0 && ch != '"') {
-				if (ch == '\\') {
-					ch= getNext();
-					if (ch != '"') {           // Only escape double quotes
-						buf.append('\\');
-					} else {
-						if (Platform.getOS().equals(Constants.OS_WIN32)) {
-							// @see Bug 26870. Windows requires an extra escape for embedded strings
-							buf.append('\\');
-						}
-					}
-				}
-				if (ch > 0) {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-	
-			ch= getNext();
-			
-			return buf.toString();
-		}
-		
-		private String parseToken() {
-			StringBuffer buf= new StringBuffer();
-			
-			while (ch > 0 && !Character.isWhitespace((char)ch)) {
-				if (ch == '\\') {
-					ch= getNext();
-					if (Character.isWhitespace((char)ch)) {
-						// end of token, don't lose trailing backslash
-						buf.append('\\');
-						return buf.toString();
-					}
-					if (ch > 0) {
-						if (ch != '"') {           // Only escape double quotes
-							buf.append('\\');
-						} else {
-							if (Platform.getOS().equals(Constants.OS_WIN32)) {
-								// @see Bug 26870. Windows requires an extra escape for embedded strings
-								buf.append('\\');
-							}
-						}
-						buf.append((char)ch);
-						ch= getNext();
-					} else if (ch == -1) {     // Don't lose a trailing backslash
-						buf.append('\\');
-					}
-				} else if (ch == '"') {
-					buf.append(parseString());
-				} else {
-					buf.append((char)ch);
-					ch= getNext();
-				}
-			}
-			return buf.toString();
-		}
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
deleted file mode 100644
index f2f9314..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-public class IgnoreWhiteSpaceComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		int i1 = 0;
-		int i2 = 0;
-		int l1 = one.length();
-		int l2 = two.length();
-		char ch1 = ' ';
-		char ch2 = ' ';
-		while (i1 < l1 && i2 < l2) {
-			while (i1 < l1 && Character.isWhitespace(ch1 = one.charAt(i1))) {
-				i1++;
-			}
-			while (i2 < l2 && Character.isWhitespace(ch2 = two.charAt(i2))) {
-				i2++;
-			}
-			if (i1 == l1 && i2 == l2) {
-				return 0;
-			}
-			if (ch1 != ch2) {
-				return -1;
-			}			
-			i1++;
-			i2++;
-		}
-		return 0;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
deleted file mode 100644
index f125787..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Comparator for refresh scope launch configuration attribute
- * <code>ATTR_REFRESH_SCOPE</code>.
- */
-public class WorkingSetComparator implements Comparator {
-
-	/* (non-Javadoc)
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		String one= (String)o1;
-		String two= (String)o2;
-		if (one == null || two == null) {
-			if (one == two) {
-				return 0;
-			} 
-			return -1;
-		}
-		if (one.startsWith("${working_set:") && two.startsWith("${working_set:")) {		  //$NON-NLS-1$//$NON-NLS-2$
-			IWorkingSet workingSet1 = RefreshTab.getWorkingSet(one);
-			IWorkingSet workingSet2 = RefreshTab.getWorkingSet(two);
-			if (workingSet1 == null || workingSet2 == null) {
-				if (workingSet1 == workingSet2) {
-					return 0;
-				} 
-				return -1;
-			}
-			if (workingSet1.equals(workingSet2)) {
-				return 0;
-			}
-			return -1;
-		}
-		return one.compareTo(two);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
deleted file mode 100644
index 276445a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * This action delegate is responsible for producing the
- * Run > External Tools sub menu contents, which includes
- * an items to run last tool, favorite tools, and show the
- * external tools view.
- */
-public class ExternalToolMenuDelegate extends AbstractLaunchToolbarAction {
-	
-	/**
-	 * Creates the action delegate
-	 */
-	public ExternalToolMenuDelegate() {
-		super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
-	}
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
deleted file mode 100644
index 2eda9c5..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
+++ /dev/null
@@ -1,282 +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.externaltools.internal.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Utility methods for working with external tool project builders.
- */
-public class BuilderUtils {
-
-	public static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-
-	/**
-	 * Constant used to find a builder using the 3.0-interim format
-	 */
-	public static final String BUILDER_FOLDER_NAME= ".externalToolBuilders"; //$NON-NLS-1$
-	/**
-	 * Constant used to represent the current project in the 3.0-final format.
-	 */
-	public static final String PROJECT_TAG= "<project>"; //$NON-NLS-1$
-	
-	public static final String VERSION_1_0= "1.0"; //$NON-NLS-1$
-	public static final String VERSION_2_1= "2.1"; //$NON-NLS-1$
-	// The format shipped up to and including Eclipse 3.0 RC1
-	public static final String VERSION_3_0_interim= "3.0.interim"; //$NON-NLS-1$
-	// The format shipped in Eclipse 3.0 final
-	public static final String VERSION_3_0_final= "3.0"; //$NON-NLS-1$
-	
-	// Extension point constants.
-	private static final String TAG_CONFIGURATION_MAP= "configurationMap"; //$NON-NLS-1$
-	private static final String TAG_SOURCE_TYPE= "sourceType"; //$NON-NLS-1$
-	private static final String TAG_BUILDER_TYPE= "builderType"; //$NON-NLS-1$
-
-	/**
-	 * Returns a launch configuration from the given ICommand arguments. If the
-	 * given arguments are from an old-style external tool, an unsaved working
-	 * copy will be created from the arguments and returned.
-	 * 
-	 * @param commandArgs the builder ICommand arguments
-	 * @return a launch configuration, a launch configuration working copy, or
-	 * <code>null</code> if not possible.
-	 */
-	public static ILaunchConfiguration configFromBuildCommandArgs(IProject project, Map commandArgs, String[] version) {
-		String configHandle = (String) commandArgs.get(LAUNCH_CONFIG_HANDLE);
-		if (configHandle == null) {
-			// Probably an old-style (Eclipse 1.0 or 2.0) external tool. Try to migrate.
-			version[0]= VERSION_1_0;
-			return ExternalToolMigration.configFromArgumentMap(commandArgs);
-		}
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfiguration configuration= null;
-		try {
-			// First, treat the configHandle as a memento. This is the format
-			// used in Eclipse 2.1.
-			configuration = manager.getLaunchConfiguration(configHandle);
-		} catch (CoreException e) {
-		}
-		if (configuration != null) {
-			version[0]= VERSION_2_1;
-		} else if (configHandle.startsWith(PROJECT_TAG)) {
-			version[0]= VERSION_3_0_final;
-			IPath path= new Path(configHandle);
-			IFile file= project.getFile(path.removeFirstSegments(1));
-			if (file.exists()) {
-				configuration= manager.getLaunchConfiguration(file);
-			} 
-		} else {
-			// If the memento failed, try treating the handle as a file name.
-			// This is the format used in 3.0 RC1.
-			version[0]= VERSION_3_0_interim;
-			IPath path= new Path(BUILDER_FOLDER_NAME).append(configHandle);
-			IFile file= project.getFile(path);
-			if (file.exists()) {
-				version[0]= VERSION_3_0_interim;
-				configuration= manager.getLaunchConfiguration(file);
-			}
-		}
-		return configuration;
-	}
-
-	/**
-	 * Returns an <code>ICommand</code> from the given launch configuration.
-	 * 
-	 * @param project the project the ICommand is relevant to
-	 * @param config, the launch configuration to create the command from
-	 * @return the new command. <code>null</code> can be returned if problems occur during
-	 * the translation.
-	 */
-	public static ICommand commandFromLaunchConfig(IProject project, ILaunchConfiguration config) {
-		ICommand newCommand = null;
-		try {
-			newCommand = project.getDescription().newCommand();
-			newCommand = toBuildCommand(project, config, newCommand);
-		} catch (CoreException exception) {
-			Shell shell= ExternalToolsPlugin.getActiveWorkbenchShell();
-			if (shell != null) {
-				MessageDialog.openError(shell, ExternalToolsModelMessages.getString("BuilderUtils.5"), ExternalToolsModelMessages.getString("BuilderUtils.6")); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return null;
-		}
-		return newCommand;
-	}
-
-	/**
-	 * Returns whether the given configuration is an "unmigrated" builder.
-	 * Unmigrated builders are external tools that are stored in an old format
-	 * but have not been migrated by the user. Old format builders are always
-	 * translated into launch config working copies in memory, but they're not
-	 * considered "migrated" until the config has been saved and the project spec
-	 * updated.
-	 * @param config the config to examine
-	 * @return whether the given config represents an unmigrated builder
-	 */
-	public static boolean isUnmigratedConfig(ILaunchConfiguration config) {
-		return config.isWorkingCopy() && ((ILaunchConfigurationWorkingCopy) config).getOriginal() == null;
-	}
-
-	/**
-	 * Converts the given config to a build command which is stored in the
-	 * given command.
-	 *
-	 * @return the configured build command
-	 */
-	public static ICommand toBuildCommand(IProject project, ILaunchConfiguration config, ICommand command) throws CoreException {
-		Map args= null;
-		if (isUnmigratedConfig(config)) {
-			// This config represents an old external tool builder that hasn't
-			// been edited. Try to find the old ICommand and reuse the arguments.
-			// The goal here is to not change the storage format of old, unedited builders.
-			ICommand[] commands= project.getDescription().getBuildSpec();
-			for (int i = 0; i < commands.length; i++) {
-				ICommand projectCommand = commands[i];
-				String name= ExternalToolMigration.getNameFromCommandArgs(projectCommand.getArguments());
-				if (name != null && name.equals(config.getName())) {
-					args= projectCommand.getArguments();
-					break;
-				}
-			}
-		} else {
-			if (config instanceof ILaunchConfigurationWorkingCopy) {
-				ILaunchConfigurationWorkingCopy workingCopy= (ILaunchConfigurationWorkingCopy) config;
-				if (workingCopy.getOriginal() != null) {
-					config= workingCopy.getOriginal();
-				}
-			}
-			args= new HashMap();
-			// Launch configuration builders are stored with a project-relative path
-			StringBuffer buffer= new StringBuffer(PROJECT_TAG);
-			// Append the project-relative path (workspace path minus first segment)
-			buffer.append('/').append(config.getFile().getFullPath().removeFirstSegments(1));
-			args.put(LAUNCH_CONFIG_HANDLE, buffer.toString());
-		}
-		command.setBuilderName(ExternalToolBuilder.ID);
-		command.setArguments(args);
-		return command;
-	}
-	
-	/**
-	 * Returns the type of launch configuration that should be created when
-	 * duplicating the given configuration as a project builder. Queries to see
-	 * if an extension has been specified to explicitly declare the mapping.
-	 */
-	public static ILaunchConfigurationType getConfigurationDuplicationType(ILaunchConfiguration config) throws CoreException {
-		IExtensionPoint ep= Platform.getExtensionRegistry().getExtensionPoint(IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS); 
-		IConfigurationElement[] elements = ep.getConfigurationElements();
-		String sourceType= config.getType().getIdentifier();
-		String builderType= null;
-		for (int i= 0; i < elements.length; i++) {
-			IConfigurationElement element= elements[i];
-			if (element.getName().equals(TAG_CONFIGURATION_MAP) && sourceType.equals(element.getAttribute(TAG_SOURCE_TYPE))) {
-				builderType= element.getAttribute(TAG_BUILDER_TYPE);
-				break;
-			}
-		}
-		if (builderType != null) {
-			ILaunchConfigurationType type= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(builderType);
-			if (type != null) {
-				return type;
-			}
-		}
-		return config.getType();
-	}
-
-	/**
-	 * Returns the folder where project builders should be stored or
-	 * <code>null</code> if the folder could not be created
-	 */
-	public static IFolder getBuilderFolder(IProject project, boolean create) {
-		IFolder folder = project.getFolder(BUILDER_FOLDER_NAME);
-		if (!folder.exists() && create) {
-			try {
-				folder.create(true, true, new NullProgressMonitor());
-			} catch (CoreException e) {
-				return null;
-			}
-		}
-		return folder;
-	}
-
-	/**
-	 * Returns a duplicate of the given configuration. The new configuration
-	 * will be of the same type as the given configuration or of the duplication
-	 * type registered for the given configuration via the extension point
-	 * IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS.
-	 */
-	public static ILaunchConfiguration duplicateConfiguration(IProject project, ILaunchConfiguration config) throws CoreException {
-		Map attributes= null;
-		attributes= config.getAttributes();
-		String newName= new StringBuffer(config.getName()).append(ExternalToolsModelMessages.getString("BuilderUtils.7")).toString(); //$NON-NLS-1$
-		newName= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(newName);
-		ILaunchConfigurationType newType= getConfigurationDuplicationType(config);
-		ILaunchConfigurationWorkingCopy newWorkingCopy= newType.newInstance(getBuilderFolder(project, true), newName);
-		newWorkingCopy.setAttributes(attributes);
-		return newWorkingCopy.doSave();
-	}
-
-	/**
-	 * Migrates the launch configuration working copy, which is based on an old-
-	 * style external tool builder, to a new, saved launch configuration. The
-	 * returned launch configuration will contain the same attributes as the
-	 * given working copy with the exception of the configuration name, which
-	 * may be changed during the migration. The name of the configuration will
-	 * only be changed if the current name is not a valid name for a saved
-	 * config.
-	 * 
-	 * @param workingCopy the launch configuration containing attributes from an
-	 * old-style project builder.
-	 * @return ILaunchConfiguration a new, saved launch configuration whose
-	 * attributes match those of the given working copy as well as possible
-	 * @throws CoreException if an exception occurs while attempting to save the
-	 * new launch configuration
-	 */
-	public static ILaunchConfiguration migrateBuilderConfiguration(IProject project, ILaunchConfigurationWorkingCopy workingCopy) throws CoreException {
-		workingCopy.setContainer(getBuilderFolder(project, true));
-		// Before saving, make sure the name is valid
-		String name= workingCopy.getName();
-		name.replace('/', '.');
-		if (name.charAt(0) == ('.')) {
-			name = name.substring(1);
-		}
-		IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
-		if (!status.isOK()) {
-			name = "ExternalTool"; //$NON-NLS-1$
-		}
-		name = DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-		workingCopy.rename(name);
-		return workingCopy.doSave();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
deleted file mode 100644
index 6236d2c..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-import org.osgi.framework.Bundle;
-
-/**
- * This project builder implementation will run an external tool or tools during the
- * build process. 
- * <p>
- * Note that there is only ever one instance of ExternalToolBuilder per project,
- * and the external tool to run is specified in the builder's arguments.
- * </p>
- */
-public final class ExternalToolBuilder extends IncrementalProjectBuilder {
-	public static final String ID = "org.eclipse.ui.externaltools.ExternalToolBuilder"; //$NON-NLS-1$;
-
-	private static final String BUILD_TYPE_SEPARATOR = ","; //$NON-NLS-1$
-	private static final int[] DEFAULT_BUILD_TYPES= new int[] {
-									IncrementalProjectBuilder.INCREMENTAL_BUILD,
-									IncrementalProjectBuilder.FULL_BUILD};
-
-	private static String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-	
-	private static IProject buildProject= null;
-	
-	private List projectsWithinScope;
-	
-	private boolean buildKindCompatible(int kind, ILaunchConfiguration config) throws CoreException {
-		int[] buildKinds = buildTypesToArray(config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, "")); //$NON-NLS-1$
-		for (int j = 0; j < buildKinds.length; j++) {
-			if (kind == buildKinds[j]) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.events.InternalBuilder#build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {		
-		if (ExternalToolsPlugin.getDefault().getBundle().getState() != Bundle.ACTIVE) {
-			return null;
-		}
-		//need to build all external tools from one builder (see bug 39713)
-		//if not a full build
-		ICommand[] commands = getProject().getDescription().getBuildSpec();
-		if (kind != FULL_BUILD) {
-			projectsWithinScope= new ArrayList();
-		}
-		for (int i = 0; i < commands.length; i++) {
-			if (ID.equals(commands[i].getBuilderName())){
-				ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(getProject(), commands[i].getArguments(), new String[1]);
-				if (config != null && buildKindCompatible(kind, config) && configEnabled(config)) {
-					if (kind == FULL_BUILD) {
-						launchBuild(kind, config, monitor);
-					} else {
-						doBuildBasedOnScope(kind, config, monitor);
-					}
-				}
-			}
-		}
-		return getProjectsWithinScope();
-	}
-
-	/**
-	 * Returns whether the given builder config is enabled or not.
-	 * 
-	 * @param config the config to examine
-	 * @return whether the config is enabled
-	 */
-	private boolean configEnabled(ILaunchConfiguration config) {
-		try {
-			return ExternalToolsUtil.isBuilderEnabled(config);
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return true;
-	}
-
-	private IProject[] getProjectsWithinScope() {
-		if (projectsWithinScope == null || projectsWithinScope.isEmpty()) {
-			projectsWithinScope = null;
-			return null;
-		}
-		return (IProject[])projectsWithinScope.toArray(new IProject[projectsWithinScope.size()]);
-	}
-
-	private void doBuildBasedOnScope(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		boolean buildForChange = true;
-		IResource[] resources = ExternalToolsUtil.getResourcesForBuildScope(config);
-		if (resources != null && resources.length > 0) {
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				projectsWithinScope.add(resource.getProject());
-			}
-			buildForChange = buildScopeIndicatesBuild(resources);
-		}
-
-		if (buildForChange) {
-			launchBuild(kind, config, monitor);
-		}
-	}
-	
-	private void launchBuild(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
-		monitor.subTask(MessageFormat.format(ExternalToolsModelMessages.getString("ExternalToolBuilder.Running_{0}..._1"), new String[] { config.getName()})); //$NON-NLS-1$
-		buildStarted(kind);
-		// The default value for "launch in background" is true in debug core. If
-		// the user doesn't go through the UI, the new attribute won't be set. This means
-		// that existing Ant builders will try to run in the background (and likely conflict with
-		// each other) without migration.
-		config= ExternalToolMigration.migrateRunInBackground(config);
-		config.launch(ILaunchManager.RUN_MODE, monitor);
-		buildEnded();
-	}
-
-	/**
-	 * Returns the build type being performed if the
-	 * external tool is being run as a project builder.
-	 * 
-	 * @return one of the <code>IExternalToolConstants.BUILD_TYPE_*</code> constants.
-	 */
-	public static String getBuildType() {
-		return buildType;
-	}
-	
-	/**
-	 * Returns the project that is being built and has triggered the current external
-	 * tool builder. <code>null</code> is returned if no build is currently occurring.
-	 * 
-	 * @return project being built or <code>null</code>.
-	 */
-	public static IProject getBuildProject() {
-		return buildProject;
-	}
-	
-	/**
-	 * Stores the currently active build kind and build project when a build begins
-	 * @param buildKind
-	 */
-	private void buildStarted(int buildKind) {
-		switch (buildKind) {
-			case IncrementalProjectBuilder.INCREMENTAL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_INCREMENTAL;
-				break;
-			case IncrementalProjectBuilder.FULL_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_FULL;
-				break;
-			case IncrementalProjectBuilder.AUTO_BUILD :
-				buildType = IExternalToolConstants.BUILD_TYPE_AUTO;
-				break;
-			default :
-				buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-				break;
-		}
-		buildProject= getProject();
-	}
-	
-	/**
-	 * Clears the current build kind and build project when a build finishes.
-	 */
-	private void buildEnded() {
-		buildType= IExternalToolConstants.BUILD_TYPE_NONE;
-		buildProject= null;
-	}
-	
-	private boolean buildScopeIndicatesBuild(IResource[] resources) {
-		for (int i = 0; i < resources.length; i++) {
-			IResourceDelta delta = getDelta(resources[i].getProject());
-			if (delta == null) {
-				//project just added to the workspace..no previous build tree
-				return true;
-			} 
-			IPath path= resources[i].getProjectRelativePath();
-			IResourceDelta change= delta.findMember(path);
-			if (change != null) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Converts the build types string into an array of
-	 * build kinds.
-	 *
-	 * @param buildTypes the string of built types to convert
-	 * @return the array of build kinds.
-	 */
-	public static int[] buildTypesToArray(String buildTypes) {
-		if (buildTypes == null || buildTypes.length() == 0) {
-			return DEFAULT_BUILD_TYPES;
-		}
-		
-		int count = 0;
-		boolean incremental = false;
-		boolean full = false;
-		boolean auto = false;
-
-		StringTokenizer tokenizer = new StringTokenizer(buildTypes, BUILD_TYPE_SEPARATOR);
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			if (IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(token)) {
-				if (!incremental) {
-					incremental = true;
-					count++;
-				}
-			} else if (IExternalToolConstants.BUILD_TYPE_FULL.equals(token)) {
-				if (!full) {
-					full = true;
-					count++;
-				}
-			} else if (IExternalToolConstants.BUILD_TYPE_AUTO.equals(token)) {
-				if (!auto) {
-					auto = true;
-					count++;
-				}
-			}
-		}
-
-		int[] results = new int[count];
-		count = 0;
-		if (incremental) {
-			results[count] = IncrementalProjectBuilder.INCREMENTAL_BUILD;
-			count++;
-		}
-		if (full) {
-			results[count] = IncrementalProjectBuilder.FULL_BUILD;
-			count++;
-		}
-		if (auto) {
-			results[count] = IncrementalProjectBuilder.AUTO_BUILD;
-			count++;
-		}
-
-		return results;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
deleted file mode 100644
index 5ba5968..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.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.ui.externaltools.internal.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The images provided by the external tools plugin.
- */
-public class ExternalToolsImages {
-
-	/** 
-	 * The image registry containing <code>Image</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	
-	/**
-	 * The registry for composite images
-	 */
-	private static ImageDescriptorRegistry imageDescriptorRegistry;
-	
-	/**
-	 * A table of all the <code>ImageDescriptor</code>s.
-	 */
-	private static Map imageDescriptors;
-
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL= null;
-
-	static {
-		String pathSuffix = "icons/full/"; //$NON-NLS-1$	
-		ICON_BASE_URL= ExternalToolsPlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {		
-		// Objects
-		declareRegistryImage(IExternalToolConstants.IMG_TAB_MAIN, OBJECT + "main_tab.gif"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
-		try {
-			desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
-		} catch (MalformedURLException me) {
-		}
-		imageRegistry.put(key, desc);
-		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(ExternalToolsPlugin.getStandardDisplay());
-		imageDescriptors = new HashMap(30);
-		declareImages();
-		return imageRegistry;
-	}
-
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the <code>ImageDescriptor<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		if (imageDescriptors == null) {
-			initializeImageRegistry();
-		}
-		return (ImageDescriptor)imageDescriptors.get(key);
-	}
-	
-	private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-			
-		return new URL(ICON_BASE_URL, iconPath);
-	}
-	
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions
-	 * are retrieved from the *lcl16 folders.
-	 */
-	public static void setLocalImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "lcl16", iconName); //$NON-NLS-1$
-	}
-	
-	private static void setImageDescriptors(IAction action, String type, String relPath) {
-		
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setDisabledImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-
-		action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$
-	}
-	
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
-		
-		StringBuffer buffer= new StringBuffer(prefix);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(ICON_BASE_URL, buffer.toString());
-	}
-	
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
-	
-	/** 
-	 * Returns the image for the given composite descriptor. 
-	 */
-	public static Image getImage(CompositeImageDescriptor imageDescriptor) {
-		if (imageDescriptorRegistry == null) {
-			imageDescriptorRegistry = new ImageDescriptorRegistry();	
-		}
-		return imageDescriptorRegistry.get(imageDescriptor);
-	}
-	
-	public static void disposeImageDescriptorRegistry() {
-		if (imageDescriptorRegistry != null) {
-			imageDescriptorRegistry.dispose(); 
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
deleted file mode 100644
index 75bd41e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsModelMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.model.ExternalToolsModelMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsModelMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
deleted file mode 100644
index 89ead54..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-ExternalToolBuilder.Running_{0}..._1=Running {0}...
-BuilderUtils.5=Command Error
-BuilderUtils.6=An error occurred while saving the project's build commands
-BuilderUtils.7=\ [Builder]
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
deleted file mode 100644
index e9e0311..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ /dev/null
@@ -1,176 +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.externaltools.internal.model;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * External tools plug-in class
- */
-public final class ExternalToolsPlugin extends AbstractUIPlugin {
-	/**
-	 * Status representing no problems encountered during operation.
-	 */
-	public static final IStatus OK_STATUS = new Status(IStatus.OK, IExternalToolConstants.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-
-	private static ExternalToolsPlugin plugin;
-	
-	private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-
-	/**
-	 * Create an instance of the External Tools plug-in.
-	 */
-	public ExternalToolsPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the default instance of the receiver.
-	 * This represents the runtime plugin.
-	 */
-	public static ExternalToolsPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns a new <code>IStatus</code> for this plug-in
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		if (message == null) {
-			message= EMPTY_STRING; 
-		}		
-		return new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception);
-	}
-
-	/**
-	 * Returns a new <code>CoreException</code> for this plug-in
-	 */
-	public static CoreException newError(String message, Throwable exception) {
-		return new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception));
-	}
-
-	/**
-	 * Writes the message to the plug-in's log
-	 * 
-	 * @param message the text to write to the log
-	 */
-	public void log(String message, Throwable exception) {
-		IStatus status = newErrorStatus(message, exception);
-		getLog().log(status);
-	}
-	
-	public void log(Throwable exception) {
-		//this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		getLog().log(newErrorStatus("Internal error logged from External Tools UI: ", exception)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the ImageDescriptor for the icon with the given path
-	 * 
-	 * @return the ImageDescriptor object
-	 */
-	public ImageDescriptor getImageDescriptor(String path) {
-		try {
-			Bundle bundle= getDefault().getBundle();
-			URL installURL = bundle.getEntry("/"); //$NON-NLS-1$
-			URL url = new URL(installURL, path);
-			return ImageDescriptor.createFromURL(url);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * Method declared in AbstractUIPlugin.
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore prefs) {
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, true);
-		prefs.setDefault(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, true);
-	}
-
-	/**
-	 * Returns the active workbench window or <code>null</code> if none
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-	
-	/**
-	 * Returns the active workbench page or <code>null</code> if none.
-	 */
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getActivePage();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the active workbench shell or <code>null</code> if none.
-	 */
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null) {
-			return window.getShell();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
-	 */
-	protected ImageRegistry createImageRegistry() {
-		return ExternalToolsImages.initializeImageRegistry();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			ExternalToolsImages.disposeImageDescriptorRegistry();
-		} finally {
-			super.stop(context);
-		}
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
deleted file mode 100644
index d737d1e..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-/**
- * Defines the constants available for client use.
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- */
-public interface IExternalToolConstants {
-	/**
-	 * Plugin identifier for external tools (value <code>org.eclipse.ui.externaltools</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ui.externaltools"; //$NON-NLS-1$;
-
-	// ------- Extensions Points -------
-	/**
-	 * Extension point to declare the launch configuration type that should be
-	 * created when duplicating an existing configuration as a project builder.
-	 */
-	public static final String EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS = "configurationDuplicationMaps"; //$NON-NLS-1$
-	// ------- Refresh Variables -------
-	/**
-	 * Variable that expands to the workspace root object (value <code>workspace</code>).
-	 */
-	public static final String VAR_WORKSPACE = "workspace"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the project resource (value <code>project</code>).
-	 */
-	public static final String VAR_PROJECT = "project"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the container resource (value <code>container</code>).
-	 */
-	public static final String VAR_CONTAINER = "container"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to a resource (value <code>resource</code>).
-	 */
-	public static final String VAR_RESOURCE = "resource"; //$NON-NLS-1$
-	/**
-	 * Variable that expands to the working set object (value <code>working_set</code>).
-	 */
-	public static final String VAR_WORKING_SET = "working_set"; //$NON-NLS-1$
-	// ------- Tool Types -------
-	/**
-	 * External tool type for programs such as executables, batch files, 
-	 * shell scripts, etc (value <code>programType</code>).
-	 */
-	public static final String TOOL_TYPE_PROGRAM = "programType"; //$NON-NLS-1$;
-
-	// ------- Build Types -------
-	/**
-	 * Build type indicating an incremental project build request for
-	 * the external tool running as a builder (value <code>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_INCREMENTAL = "incremental"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating a full project build request for
-	 * the external tool running as a builder (value <code>full</code>).
-	 */
-	public static final String BUILD_TYPE_FULL = "full"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an automatic project build request for
-	 * the external tool running as a builder (value <code>incremental</code>).
-	 */
-	public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
-
-	/**
-	 * Build type indicating an no project build request for
-	 * the external tool running as a builder (value <code>none</code>).
-	 */
-	public static final String BUILD_TYPE_NONE = "none"; //$NON-NLS-1$
-
-	// ------- Images -------
-
-	/**
-	 * Main tab image.
-	 */
-	public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
-	
-	// ------- Launch configuration types --------
-	/**
-	 * Program launch configuration type identifier.
-	 */
-	public static final String ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"; //$NON-NLS-1$
-	
-	/**
-	 * Program builder launch configuration type identifier. Program project
-	 * builders are of this type.
-	 */
-	public static final String ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"; //$NON-NLS-1$	
-	
-	// ------- Launch configuration category --------
-	/**
-	 * Identifier for external tools launch configuration category. Launch
-	 * configuration types for external tools that appear in the external tools
-	 * launch configuration dialog should belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration builders category.
-	 * Launch configuration types that can be added as project builders should
-	 * belong to this category.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools.builder"; //$NON-NLS-1$
-
-	// ------- Launch configuration groups --------
-	/**
-	 * Identifier for external tools launch configuration group. The external
-	 * tools launch configuration group corresponds to the external tools
-	 * category in run mode.
-	 */
-	public static final String ID_EXTERNAL_TOOLS_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup"; //$NON-NLS-1$
-	/**
-	 * Identifier for external tools launch configuration group
-	 */
-	public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup.builder"; //$NON-NLS-1$
-
-	// ------- Common External Tool Launch Configuration Attributes -------
-
-	/**
-	 * Boolean attribute indicating if external tool output should be captured.
-	 * Default value is <code>false</code>.
-	 */
-	public static final String ATTR_CAPTURE_OUTPUT = PLUGIN_ID + ".ATTR_CAPTURE_OUTPUT"; //$NON-NLS-1$
-	/**
-	 * String attribute identifying the location of an external. Default value
-	 * is <code>null</code>. Encoding is tool specific.
-	 */
-	public static final String ATTR_LOCATION = PLUGIN_ID + ".ATTR_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * Boolean attribute indicating if the user should be prompted for
-	 * arguments before running a tool. Default value is <code>false</code>.
-	 * THIS ATTRIBUTE IS NOT USED.
-	 */
-	public static final String ATTR_PROMPT_FOR_ARGUMENTS = PLUGIN_ID + ".ATTR_PROMPT_FOR_ARGUMENTS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying the scope of resources that should trigger an 
-	 * external tool to run. Default value is <code>null</code>
-	 * indicating that the builder will be triggered for all changes.
-	 */
-	public static final String ATTR_BUILD_SCOPE = PLUGIN_ID + ".ATTR_BUILD_SCOPE"; //$NON-NLS-1$
-		
-	
-	/**
-	 * String attribute containing an array of build kinds for which an
-	 * external tool builder should be run.
-	 */
-	public static final String ATTR_RUN_BUILD_KINDS = PLUGIN_ID + ".ATTR_RUN_BUILD_KINDS"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean attribute indicating if the console should be shown on external
-	 * tool output. Default value is <code>false</code>.
-	 */
-	public static final String ATTR_SHOW_CONSOLE = PLUGIN_ID + ".ATTR_SHOW_CONSOLE"; //$NON-NLS-1$
-
-	/**
-	 * String attribute containing the arguments that should be passed to the
-	 * tool. Default value is <code>null</code>, and encoding is tool specific.
-	 */
-	public static final String ATTR_TOOL_ARGUMENTS = PLUGIN_ID + ".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$
-
-	/**
-	 * String attribute identifying the working directory of an external tool.
-	 * Default value is <code>null</code>, which indicates a default working
-	 * directory, which is tool specific.
-	 */
-	public static final String ATTR_WORKING_DIRECTORY = PLUGIN_ID + ".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute identifying whether an external tool builder configuration
-	 * is enabled. The default value is <code>true</code>, which indicates
-	 * that the configuration will be executed as appropriate by the builder.
-	 */
-	public static final String ATTR_BUILDER_ENABLED = PLUGIN_ID + ".ATTR_BUILDER_ENABLED"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int ERR_INTERNAL_ERROR = 150;
-
-	/**
-	 * String attribute identifying a non-external tool builder launch configuration that is disabled
-	 * The value is the name of the disabled builder.
-	 */
-	public static final String ATTR_DISABLED_BUILDER = PLUGIN_ID + ".ATTR_DISABLED_BUILDER";		 //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
deleted file mode 100644
index 409bcac..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Help context ids for the external tools.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- */
-public interface IExternalToolsHelpContextIds {
-	public static final String PREFIX = "org.eclipse.ui.externaltools."; //$NON-NLS-1$
-	
-	// Preference Pages
-	public static final String EXTERNAL_TOOLS_PREFERENCE_PAGE = PREFIX + "preference_page_context";  //$NON-NLS-1$
-		
-	// Property Pages
-	public static final String EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE = PREFIX + "builder_property_page_context"; //$NON-NLS-1$
-	
-	//Dialogs
-	public static final String MESSAGE_WITH_TOGGLE_DIALOG = PREFIX + "message_with_toggle_dialog_context"; //$NON-NLS-1$
-	public static final String FILE_SELECTION_DIALOG = PREFIX + "file_selection_dialog_context"; //$NON-NLS-1$
-	
-	//Launch configuration dialog tabs
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB = PREFIX + "builders_tab_context"; //$NON-NLS-1$
-	public static final String EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB = PREFIX + "program_main_tab_context"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
deleted file mode 100644
index 977c272..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-/**
- * Constants used to identify user preferences.
- */
-public interface IPreferenceConstants {
-	
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before an external tool project builder is migrated to the new builder format.
-	 * This is used before an old-style (Eclipse 1.0 or 2.0) builder is migrated to
-	 * the new format (launch configurations).
-	 */
-	public static final String PROMPT_FOR_TOOL_MIGRATION = "externaltools.builders.promptForMigration"; //$NON-NLS-1$
-	/**
-	 * Boolean preference key which indicates whether or not the user should be prompted
-	 * before a project is migrated tot he new builder handle format.
-	 * This is used before an old-style (Eclipse 2.1) project handle is migrated
-	 * from the old format (launch config handles) to the new format (path to the launch).
-	 */
-	public static final String PROMPT_FOR_PROJECT_MIGRATION = "externaltools.builders.promptForProjectMigration"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
deleted file mode 100644
index 3e20c1d..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.model;
-
- 
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>.
- */
-public class ImageDescriptorRegistry {
-
-	private HashMap fRegistry= new HashMap(10);
-	private Display fDisplay;
-	
-	/**
-	 * Creates a new image descriptor registry for the current or default display,
-	 * respectively.
-	 */
-	public ImageDescriptorRegistry() {
-		this(ExternalToolsPlugin.getStandardDisplay());
-	}
-	
-	/**
-	 * Creates a new image descriptor registry for the given display. All images
-	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param display the display the images managed by this registry are allocated for 
-	 */
-	public ImageDescriptorRegistry(Display display) {
-		fDisplay= display;
-		Assert.isNotNull(fDisplay);
-		hookDisplay();
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which the registry manages an image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public Image get(ImageDescriptor descriptor) {
-		if (descriptor == null)
-			descriptor= ImageDescriptor.getMissingImageDescriptor();
-			
-		Image result= (Image)fRegistry.get(descriptor);
-		if (result != null)
-			return result;
-	
-		Assert.isTrue(fDisplay == ExternalToolsPlugin.getStandardDisplay(), ExternalToolsModelMessages.getString("ImageDescriptorRegistry.Allocating_image_for_wrong_display_1")); //$NON-NLS-1$
-		result= descriptor.createImage();
-		if (result != null)
-			fRegistry.put(descriptor, result);
-		return result;
-	}
-
-	/**
-	 * Disposes all images managed by this registry.
-	 */	
-	public void dispose() {
-		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fRegistry.clear();
-	}
-	
-	private void hookDisplay() {
-		fDisplay.disposeExec(new Runnable() {
-			public void run() {
-				dispose();
-			}	
-		});
-	}
-}
-
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
deleted file mode 100644
index 4a4b2ea..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java
+++ /dev/null
@@ -1,393 +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.externaltools.internal.model;
- 
-import java.util.Vector;
-
-/**
- * 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 text the String object to search in 
-	 * @param start the starting index of the search range, inclusive
-	 * @param end the ending index of the search range, exclusive
-	 * @return an 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 text 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 text a String object that contains the substring to match 
-	 * @param start marks the starting position (inclusive) of the substring
-	 * @param end 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;
-			} 
-			++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 text a string which contains no wildcard
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end 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 text a simple regular expression that may only contain '?'(s)
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a simple regular expression that may contains '?'
-	 * @param caseIgnored whether 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 text a String to match
-	 * @param start int that indicates the starting index of match, inclusive
-	 * @param end int that indicates the ending index of match, exclusive
-	 * @param p a simple regular expression that may contain '?'
-	 * @param ignoreCase 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 text the string to match
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a string that has no wildcard
-	 * @param ignoreCase 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;
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
deleted file mode 100644
index 86aaafb..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.registry;
-
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages;
-
-/**
- * Responsible reading an old external tool format and creating
- * and migrating it to create a new external tool.
- */
-public final class ExternalToolMigration {
-	/**
-	 * Structure to represent a variable definition within a
-	 * source string.
-	 */
-	public static final class VariableDefinition {
-		/**
-		 * Index in the source text where the variable started
-		 * or <code>-1</code> if no valid variable start tag 
-		 * identifier found.
-		 */
-		public int start = -1;
-		
-		/**
-		 * Index in the source text of the character following
-		 * the end of the variable or <code>-1</code> if no 
-		 * valid variable end tag found.
-		 */
-		public int end = -1;
-		
-		/**
-		 * The variable's name found in the source text, or
-		 * <code>null</code> if no valid variable found.
-		 */
-		public String name = null;
-		
-		/**
-		 * The variable's argument found in the source text, or
-		 * <code>null</code> if no valid variable found or if
-		 * the variable did not specify an argument
-		 */
-		public String argument = null;
-		
-		/**
-		 * Create an initialized variable definition.
-		 */
-		private VariableDefinition() {
-			super();
-		}
-	}
-	
-	/**
-	 * Variable tag indentifiers
-	 */
-	private static final String VAR_TAG_START = "${"; //$NON-NLS-1$
-	private static final String VAR_TAG_END = "}"; //$NON-NLS-1$
-	private static final String VAR_TAG_SEP = ":"; //$NON-NLS-1$	
-	
-	/**
-	 * External tool type for Ant build files (value <code>antBuildType</code>).
-	 */
-	public static final String TOOL_TYPE_ANT_BUILD = "antBuildType"; //$NON-NLS-1$;
-	/**
-	 * Ant builder launch configuration type identifier. Ant project builders
-	 * are of this type.
-	 */
-	public static final String ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntBuilderLaunchConfigurationType"; //$NON-NLS-1$
-		
-	public static final String RUN_TARGETS_ATTRIBUTE = TOOL_TYPE_ANT_BUILD + ".runTargets"; //$NON-NLS-1$;
-
-	/**
-	* String attribute indicating the Ant targets to execute. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 * NOTE: This value is copied here from org.eclipse.ant.ui.internal.IAntLaunchConfigurationConstants.
-	 * 		Ant no longer resides in External Tools and this plug-in. This value is kept here only
-	 * 		for migration.
-	 */
-	public static final String ATTR_ANT_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
-	
-	/*
-	 * 2.0 External Tool Tags
-	 */
-	public static final String TAG_TOOL_TYPE = "!{tool_type}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_NAME = "!{tool_name}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_LOCATION = "!{tool_loc}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_ARGUMENTS = "!{tool_args}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_DIRECTORY = "!{tool_dir}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_REFRESH = "!{tool_refresh}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_SHOW_LOG = "!{tool_show_log}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BUILD_TYPES = "!{tool_build_types}"; //$NON-NLS-1$
-	public static final String TAG_TOOL_BLOCK = "!{tool_block}"; //$NON-NLS-1$
-
-	// Known kind of tools
-	private static final String TOOL_TYPE_ANT = "org.eclipse.ui.externaltools.type.ant"; //$NON-NLS-1$
-	private static final String TOOL_TYPE_PROGRAM = "org.eclipse.ui.externaltools.type.program"; //$NON-NLS-1$
-
-	/*
-	 * 2.1 External Tool Keys
-	 */
-	public static final String TAG_TYPE = "type"; //$NON-NLS-1$
-	public static final String TAG_NAME = "name"; //$NON-NLS-1$
-	public static final String TAG_LOCATION = "location"; //$NON-NLS-1$
-	public static final String TAG_WORK_DIR = "workDirectory"; //$NON-NLS-1$
-	public static final String TAG_CAPTURE_OUTPUT = "captureOutput"; //$NON-NLS-1$
-	public static final String TAG_SHOW_CONSOLE = "showConsole"; //$NON-NLS-1$
-	public static final String TAG_RUN_BKGRND = "runInBackground"; //$NON-NLS-1$
-	public static final String TAG_PROMPT_ARGS = "promptForArguments"; //$NON-NLS-1$
-	public static final String TAG_ARGS = "arguments"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_SCOPE = "refreshScope"; //$NON-NLS-1$
-	public static final String TAG_REFRESH_RECURSIVE = "refreshRecursive"; //$NON-NLS-1$
-	public static final String TAG_RUN_BUILD_KINDS = "runForBuildKinds"; //$NON-NLS-1$
-	public static final String TAG_EXTRA_ATTR = "extraAttribute"; //$NON-NLS-1$
-	public static final String TAG_VERSION = "version"; //$NON-NLS-1$
-
-	private static final String EXTRA_ATTR_SEPARATOR = "="; //$NON-NLS-1$
-
-	private static final String VERSION_21 = "2.1"; //$NON-NLS-1$;
-
-	private static final String TRUE = "true"; //$NON-NLS-1$
-	private static final String FALSE = "false"; //$NON-NLS-1$
-
-	/**
-	 * Allows no instances.
-	 */
-	private ExternalToolMigration() {
-		super();
-	}
-
-	/**
-	 * Returns a  launch configuration working copy from the argument map or
-	 * <code>null</code> if the given map cannot be interpreted as a 2.0 or 2.1
-	 * branch external tool. The returned working copy will be unsaved and its
-	 * location will be set to the metadata area.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFromArgumentMap(Map args) {
-		String version = (String) args.get(TAG_VERSION);
-		if (VERSION_21.equals(version)) {
-			return configFrom21ArgumentMap(args);
-		}
-		return configFrom20ArgumentMap(args);
-	}
-
-	public static ILaunchConfigurationWorkingCopy configFrom21ArgumentMap(Map commandArgs) {
-		String name = (String) commandArgs.get(TAG_NAME);
-		String type = (String) commandArgs.get(TAG_TYPE);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-		
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String) commandArgs.get(TAG_LOCATION));
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) commandArgs.get(TAG_WORK_DIR));
-		config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals(commandArgs.get(TAG_CAPTURE_OUTPUT)));
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(commandArgs.get(TAG_SHOW_CONSOLE)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, TRUE.equals(commandArgs.get(TAG_RUN_BKGRND)));
-		config.setAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, TRUE.equals(commandArgs.get(TAG_PROMPT_ARGS)));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, (String) commandArgs.get(TAG_REFRESH_SCOPE));
-		config.setAttribute(RefreshTab.ATTR_REFRESH_RECURSIVE, TRUE.equals(commandArgs.get(TAG_REFRESH_RECURSIVE)));
-
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, (String) commandArgs.get(TAG_RUN_BUILD_KINDS));
-		
-		String args = (String) commandArgs.get(TAG_ARGS);
-		if (args != null) {
-			config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, args);
-		}
-
-		String extraAttributes = (String) commandArgs.get(TAG_EXTRA_ATTR);
-		if (extraAttributes != null) {
-			StringTokenizer tokenizer = new StringTokenizer(extraAttributes, EXTRA_ATTR_SEPARATOR);
-			while (tokenizer.hasMoreTokens()) {
-				String key = tokenizer.nextToken();
-				if (!tokenizer.hasMoreTokens())
-					break;
-				String value = tokenizer.nextToken();
-				if (key.equals(RUN_TARGETS_ATTRIBUTE)) {
-					// 2.1 implementation only defined 1 "extra attribute"
-					config.setAttribute(ATTR_ANT_TARGETS, value);
-				}
-			}
-		}
-		return config;
-	}
-
-	/**
-	 * Creates an external tool from the map.
-	 */
-	public static ILaunchConfigurationWorkingCopy configFrom20ArgumentMap(Map args) {
-		// Update the type...
-		String type = (String) args.get(TAG_TOOL_TYPE);
-		if (TOOL_TYPE_ANT.equals(type)) {
-			type = TOOL_TYPE_ANT_BUILD;
-		} else if (TOOL_TYPE_PROGRAM.equals(type)){
-			type = IExternalToolConstants.TOOL_TYPE_PROGRAM;
-		} else {
-			return null;
-		}
-
-		String name = (String) args.get(TAG_TOOL_NAME);
-		
-		ILaunchConfigurationWorkingCopy config = newConfig(type, name);
-		if (config == null) {
-			return null;
-		}
-
-		// Update the location...
-		String location = (String) args.get(TAG_TOOL_LOCATION);
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
-
-		// Update the refresh scope...
-		String refresh = (String) args.get(TAG_TOOL_REFRESH);
-		if (refresh != null) {
-			VariableDefinition varDef = extractVariableDefinition(refresh, 0);
-			if ("none".equals(varDef.name)) { //$NON-NLS-1$
-				refresh = null;
-			}
-			config.setAttribute(RefreshTab.ATTR_REFRESH_SCOPE, refresh);
-		}
-
-		// Update the arguments
-		String arguments = (String) args.get(TAG_TOOL_ARGUMENTS);
-		if (type.equals(TOOL_TYPE_ANT_BUILD)) {
-			String targetNames = null;
-			if (arguments != null) {
-				int start = 0;
-				ArrayList targets = new ArrayList();
-				StringBuffer buffer = new StringBuffer();
-				VariableDefinition varDef = extractVariableDefinition(arguments, start);
-				while (varDef.end != -1) {
-					if ("ant_target".equals(varDef.name) && varDef.argument != null) { //$NON-NLS-1$
-						targets.add(varDef.argument);
-						buffer.append(arguments.substring(start, varDef.start));
-					} else {
-						buffer.append(arguments.substring(start, varDef.end));
-					}
-					start = varDef.end;
-					varDef = extractVariableDefinition(arguments, start);
-				}
-				buffer.append(arguments.substring(start, arguments.length()));
-				arguments = buffer.toString();
-	
-				buffer.setLength(0);
-				for (int i = 0; i < targets.size(); i++) {
-					String target = (String) targets.get(i);
-					if (target != null && target.length() > 0) {
-						buffer.append(target);
-						buffer.append(","); //$NON-NLS-1$
-					}
-				}
-				targetNames = buffer.toString();
-			}
-			if (targetNames != null && targetNames.length() > 0) {
-				config.setAttribute(ATTR_ANT_TARGETS, targetNames);
-			}
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-
-		// Collect the rest of the information
-		config.setAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, TRUE.equals(args.get(TAG_TOOL_SHOW_LOG)));
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, FALSE.equals(args.get(TAG_TOOL_BLOCK)));
-		String buildKinds= (String) args.get(TAG_TOOL_BUILD_TYPES);
-		if (buildKinds != null) {
-			buildKinds= buildKinds.replace(';', ','); // Replace the old separator with the new
-		}
-		config.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buildKinds);
-		config.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) args.get(TAG_TOOL_DIRECTORY));
-		return config;
-	}
-
-	/**
-	 * Returns a new working copy with the given external tool name and external
-	 * tool type or <code>null</code> if no config could be created.
-	 */
-	private static ILaunchConfigurationWorkingCopy newConfig(String type, String name) {
-		if (type == null || name == null) {
-			return null;
-		}
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType configType;
-		if (TOOL_TYPE_ANT_BUILD.equals(type)) {
-			configType = manager.getLaunchConfigurationType(ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else if (IExternalToolConstants.TOOL_TYPE_PROGRAM.equals(type)) {
-			configType = manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE);
-		} else {
-			return null;
-		}
-		try {
-			if (configType != null) {
-				return configType.newInstance(null, name);
-			}
-		} catch (CoreException e) {
-			ExternalToolsPlugin.getDefault().log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the tool name extracted from the given command argument map.
-	 * Extraction is attempted using 2.0 and 2.1 external tool formats.
-	 */
-	public static String getNameFromCommandArgs(Map commandArgs) {
-		String name= (String) commandArgs.get(TAG_NAME);
-		if (name == null) {
-			name= (String) commandArgs.get(TAG_TOOL_NAME);
-		}
-		return name;
-	}
-	
-	/**
-	 * Migrate the old RUN_IN_BACKGROUND launch config attribute to the new
-	 * LAUNCH_IN_BACKGROUND attribute provided by the debug ui plugin.
-	 * 
-	 * @param config the config to migrate
-	 * @return the migrated config
-	 */
-	public static ILaunchConfiguration migrateRunInBackground(ILaunchConfiguration config) {
-		String noValueFlag= "NoValue"; //$NON-NLS-1$
-		String attr= null;
-		try {
-			attr = config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, noValueFlag);
-		} catch (CoreException e) {
-			// Exception will occur if the attribute is already set because the attribute is actually a boolean.
-			// No migration necessary.
-			return config;
-		}
-		if (noValueFlag.equals(attr)) {
-			//the old constant
-			String ATTR_RUN_IN_BACKGROUND= IExternalToolConstants.PLUGIN_ID + ".ATTR_RUN_IN_BACKGROUND"; //$NON-NLS-1$
-			boolean runInBackground= false;
-			try {
-				runInBackground = config.getAttribute(ATTR_RUN_IN_BACKGROUND, runInBackground);
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.getString("ExternalToolMigration.37"), e); //$NON-NLS-1$
-			}
-			try {
-				ILaunchConfigurationWorkingCopy workingCopy= config.getWorkingCopy();
-				workingCopy.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, runInBackground);
-				config= workingCopy.doSave();
-			} catch (CoreException e) {
-				ExternalToolsPlugin.getDefault().log(ExternalToolsUIMessages.getString("ExternalToolMigration.38"), e); //$NON-NLS-1$
-			}
-		}
-		return config;
-	}
-	
-	/**
-	 * Extracts a variable name and argument from the given string.
-	 * 
-	 * @param text the source text to parse for a variable tag
-	 * @param start the index in the string to start the search
-	 * @return the variable definition
-	 */
-	public static VariableDefinition extractVariableDefinition(String text, int start) {
-		VariableDefinition varDef = new VariableDefinition();
-		
-		varDef.start = text.indexOf(VAR_TAG_START, start);
-		if (varDef.start < 0){
-			return varDef;
-		}
-		start = varDef.start + VAR_TAG_START.length();
-		
-		int end = text.indexOf(VAR_TAG_END, start);
-		if (end < 0) {
-			return varDef;
-		}
-		varDef.end = end + VAR_TAG_END.length();
-		if (end == start) {
-			return varDef;
-		}
-	
-		int mid = text.indexOf(VAR_TAG_SEP, start);
-		if (mid < 0 || mid > end) {
-			varDef.name = text.substring(start, end);
-		} else {
-			if (mid > start) {
-				varDef.name = text.substring(start, mid);
-			}
-			mid = mid + VAR_TAG_SEP.length();
-			if (mid < end) {
-				varDef.argument = text.substring(mid, end);
-			}
-		}
-		
-		return varDef;
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
deleted file mode 100644
index 40be6be..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.ui;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage.ErrorConfig;
-
-
-class BuilderLabelProvider extends LabelProvider {
-		private static final String IMG_BUILDER = "icons/full/obj16/builder.gif"; //$NON-NLS-1$;
-		private static final String IMG_INVALID_BUILD_TOOL = "icons/full/obj16/invalid_build_tool.gif"; //$NON-NLS-1$
-		IDebugModelPresentation debugModelPresentation= DebugUITools.newDebugModelPresentation();
-
-		private Image builderImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_BUILDER).createImage();
-		private Image invalidBuildToolImage = ExternalToolsPlugin.getDefault().getImageDescriptor(IMG_INVALID_BUILD_TOOL).createImage();
-		
-		public String getText(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandText((ICommand) element);
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelText(element);
-			} else if (element instanceof ErrorConfig) {
-				return ExternalToolsUIMessages.getString("BuilderPropertyPage.invalidBuildTool"); //$NON-NLS-1$
-			}
-			return super.getText(element);
-		}
-		
-		public Image getImage(Object element) {
-			if (element instanceof ICommand) {
-				return getCommandImage();
-			} else if (element instanceof ILaunchConfiguration || element instanceof ILaunchConfigurationType) {
-				return getDebugModelImage(element);
-			} else if (element instanceof ErrorConfig) {
-				return invalidBuildToolImage;
-			}
-			return super.getImage(element);
-		}
-		
-		public String getCommandText(ICommand command) {
-			String builderID = command.getBuilderName();
-			return getBuilderName(builderID);
-		}
-		
-		private String getBuilderName(String builderID) {
-			// Get the human-readable name of the builder
-			IExtension extension = Platform.getExtensionRegistry().getExtension(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_BUILDERS, builderID);
-			String builderName;
-			if (extension != null) {
-				builderName = extension.getLabel();
-			} else {
-				builderName = MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.missingBuilder"), new Object[] { builderID }); //$NON-NLS-1$
-			}
-			return builderName;
-		}
-		
-		/**
-		 * Returns the image for build commands.
-		 * 
-		 * @return the build command image
-		 */
-		public Image getCommandImage() {
-			return builderImage;
-		}
-		
-		/**
-		 * Returns a text label for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return a text label from a debug model presentation
-		 */
-		public String getDebugModelText(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return getBuilderName(disabledBuilderName);
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getText(element);
-		}
-		
-		/**
-		 * Returns an image for the given object from a debug
-		 * model presentation.
-		 * @param element the element
-		 * @return an image from a debug model presentation
-		 */
-		public Image getDebugModelImage(Object element) {
-			if (element instanceof ILaunchConfiguration) {
-				try {
-					String disabledBuilderName= ((ILaunchConfiguration) element).getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null) {
-						//really a disabled builder wrapped as a launch configuration
-						return builderImage;
-					}
-				} catch (CoreException e) {
-				}
-			}
-			return debugModelPresentation.getImage(element);
-		}
-			/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-		 */
-		public void dispose() {
-			builderImage.dispose();
-			invalidBuildToolImage.dispose();
-		}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
deleted file mode 100644
index 09b9c70..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
+++ /dev/null
@@ -1,1115 +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.externaltools.internal.ui;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.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.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.IgnoreWhiteSpaceComparator;
-import org.eclipse.ui.externaltools.internal.model.BuilderUtils;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Property page to add external tools in between builders.
- */
-public final class BuilderPropertyPage extends PropertyPage implements ICheckStateListener {
-
-	//locally mark a command's enabled state so it can be processed correctly on performOK
-	private static final String COMMAND_ENABLED= "CommandEnabled"; //$NON-NLS-1$
-
-	private Button upButton, downButton, newButton, importButton, editButton, removeButton;
-	
-	private boolean userHasMadeChanges= false;
-	
-	private List configsToBeDeleted= null;
-	
-	private CheckboxTableViewer viewer= null;
-	
-	private ILabelProvider labelProvider= new BuilderLabelProvider();
-	
-	/**
-	 * Error configs are objects representing entries pointing to
-	 * invalid launch configurations
-	 */
-	public class ErrorConfig {
-		private ICommand command;
-		public ErrorConfig(ICommand command) {
-			this.command= command;
-		}
-		public ICommand getCommand() {
-			return command;
-		}
-	}
-	
-	/**
-	 * Collection of configurations created while the page is open.
-	 * Stored here so they can be deleted if the page is cancelled.
-	 */
-	private List newConfigList= new ArrayList();
-	
-	private SelectionListener buttonListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			handleButtonPressed((Button) e.widget);
-		}
-	};
-	
-	/**
-	 * Launch configuration listener which is responsible for updating items in
-	 * the tree when the user renames configurations in the dialog.
-	 * 
-	 * This is necessary because when we tell the configuration dialog to open
-	 * on a launch config and the user renames that config, the old config (the
-	 * one in the tree) is made obsolete and a new config is created. This
-	 * listener hears when new configurations are created this way and replaces
-	 * the old configuration with the new.
-	 */
-	private ILaunchConfigurationListener configurationListener= new ILaunchConfigurationListener() {
-		/**
-		 * A launch configuration has been added. If this config has been
-		 * movedFrom a configuration in the tree, replace the old config with
-		 * the new.
-		 */
-		public void launchConfigurationAdded(final ILaunchConfiguration configuration) {
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			final ILaunchConfiguration oldConfig= manager.getMovedFrom(configuration);
-			if (oldConfig == null) {
-				return;
-			}
-			
-			Display.getDefault().asyncExec(new Runnable() {	
-				public void run() {
-					TableItem[] items= viewer.getTable().getItems();
-					for (int i = 0; i < items.length; i++) {
-						TableItem item = items[i];
-						Object data= item.getData();
-						if (data == oldConfig) {
-							// Found the movedFrom config in the tree. Replace it with the new config 
-							item.setData(configuration);
-							viewer.update(configuration, null);
-							break;
-						}
-					}
-					//Also replace the movedFrom config in the list of newly created configs
-					if (newConfigList.remove(oldConfig)) {
-						newConfigList.add(configuration);
-					}
-				}
-			});
-		}
-		public void launchConfigurationChanged(ILaunchConfiguration configuration) {
-		}
-		public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
-		}
-	};
-
-	/**
-	 * Creates an initialized property page
-	 */
-	public BuilderPropertyPage() {
-		super();
-		noDefaultAndApplyButton();
-	}
-
-	/**
-	 * Add the project's build to the table viewer.
-	 */
-	private void addBuildersToTable() {
-		IProject project = getInputProject();
-		if (project == null) {
-			return;
-		}
-		//add build spec entries to the table
-		ICommand[] commands= null;
-		try {
-			commands = project.getDescription().getBuildSpec();
-		} catch (CoreException e) {
-			handleException(e);
-		}
-	
-		boolean projectNeedsMigration= false;
-		for (int i = 0; i < commands.length; i++) {
-			String[] version= new String[] {""}; //$NON-NLS-1$
-			ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(project, commands[i].getArguments(), version);
-			if (BuilderUtils.VERSION_2_1.equals(version[0])) { //$NON-NLS-1$
-				// Storing the .project file of a project with 2.1 configs, will
-				// edit the file in a way that isn't backwards compatible.
-				projectNeedsMigration= true;
-			}
-			Object element= null;
-			if (config != null) {
-				if (!config.isWorkingCopy() && !config.exists()) {
-					IStatus status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.Exists"), new String[]{config.getLocation().toOSString()}), null); 	 //$NON-NLS-1$
-					ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-									MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.External_Tool_Builder_{0}_Not_Added_2"), new String[]{config.getName()}),  //$NON-NLS-1$
-									status);
-					userHasMadeChanges= true;
-				} else {
-					element= config;
-				}
-			} else {
-				String builderID = commands[i].getBuilderName();
-				if (builderID.equals(ExternalToolBuilder.ID) && commands[i].getArguments().get(BuilderUtils.LAUNCH_CONFIG_HANDLE) != null) {
-					// An invalid external tool entry.
-					element= new ErrorConfig(commands[i]);
-				} else {
-					element= commands[i];
-				}
-			}
-			if (element != null) {
-				viewer.add(element);
-				viewer.setChecked(element, isEnabled(element));
-			}
-		}
-		if (projectNeedsMigration) {
-			IPreferenceStore store= ExternalToolsPlugin.getDefault().getPreferenceStore();
-			boolean prompt= store.getBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION);
-			boolean proceed= true;
-			if (prompt) {
-				MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.0"), ExternalToolsUIMessages.getString("BuilderPropertyPage.1"), ExternalToolsUIMessages.getString("BuilderPropertyPage.2"), false, null, null); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				proceed= dialog.getReturnCode() == IDialogConstants.YES_ID;
-				store.setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, !dialog.getToggleState());
-			}
-			if (!proceed) {
-				// Open the page read-only
-				viewer.getTable().setEnabled(false);
-				downButton.setEnabled(false);
-				editButton.setEnabled(false);
-				importButton.setEnabled(false);
-				newButton.setEnabled(false);
-				removeButton.setEnabled(false);
-			}
-		}
-	}
-
-	/**
-	 * Creates and returns a button with the given label, id, and enablement.
-	 */
-	private Button createButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.PUSH);
-		GridData data = new GridData();
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		button.setLayoutData(data);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setEnabled(false);
-		button.addSelectionListener(buttonListener);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
-	protected Control createContents(Composite parent) {
-		
-		WorkbenchHelp.setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_BUILDER_PROPERTY_PAGE);
-		
-		Font font = parent.getFont();
-
-		Composite topLevel = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		topLevel.setLayout(layout);
-		topLevel.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label description = new Label(topLevel, SWT.WRAP);
-		description.setText(ExternalToolsUIMessages.getString("BuilderPropertyPage.description")); //$NON-NLS-1$
-		description.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		description.setFont(font);
-
-		Composite tableAndButtons = new Composite(topLevel, SWT.NONE);
-		tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH));
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		tableAndButtons.setLayout(layout);
-
-		// table of builders and tools
-		viewer= CheckboxTableViewer.newCheckList(tableAndButtons, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
-		viewer.setLabelProvider(labelProvider);
-		viewer.addCheckStateListener(this);
-		Table builderTable= viewer.getTable();
-		builderTable.setLayoutData(new GridData(GridData.FILL_BOTH));
-		builderTable.setFont(font);
-		builderTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleTableSelectionChanged();
-			}
-		});
-		
-		builderTable.addListener(SWT.MouseDoubleClick, new Listener() {
-			public void handleEvent(Event event) {
-				handleEditButtonPressed();
-			}
-		});
-		
-		//button area
-		Composite buttonArea = new Composite(tableAndButtons, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonArea.setLayout(layout);
-		buttonArea.setFont(font);
-		buttonArea.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		newButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.newButton")); //$NON-NLS-1$
-		importButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.&Import..._3")); //$NON-NLS-1$
-		editButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.editButton")); //$NON-NLS-1$
-		removeButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.removeButton")); //$NON-NLS-1$
-		new Label(buttonArea, SWT.LEFT);
-		upButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.upButton")); //$NON-NLS-1$
-		downButton = createButton(buttonArea, ExternalToolsUIMessages.getString("BuilderPropertyPage.downButton")); //$NON-NLS-1$
-
-		newButton.setEnabled(true);
-		importButton.setEnabled(true);
-
-		//populate widget contents	
-		addBuildersToTable();
-
-		return topLevel;
-	}
-	
-	/**
-	 * Turns autobuilding on or off in the workspace.
-	 */
-	private void setAutobuild(boolean newState) throws CoreException {
-		IWorkspace workspace= ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription wsDescription= workspace.getDescription();
-		boolean oldState= wsDescription.isAutoBuilding();
-		if (oldState != newState) {
-			wsDescription.setAutoBuilding(newState);
-			workspace.setDescription(wsDescription);
-		}
-	}
-
-	/**
-	 * Returns the project that is the input for this property page,
-	 * or <code>null</code>.
-	 */
-	private IProject getInputProject() {
-		IAdaptable element = getElement();
-		if (element instanceof IProject) {
-			return (IProject) element;
-		}
-		Object resource = element.getAdapter(IResource.class);
-		if (resource instanceof IProject) {
-			return (IProject) resource;
-		}
-		return null;
-	}
-
-	/**
-	 * One of the buttons has been pressed, act accordingly.
-	 */
-	private void handleButtonPressed(Button button) {
-		if (button == newButton) {
-			handleNewButtonPressed();
-		} else if (button == importButton) {
-			handleImportButtonPressed();
-		} else if (button == editButton) {
-			handleEditButtonPressed();
-		} else if (button == removeButton) {
-			handleRemoveButtonPressed();
-		} else if (button == upButton) {
-			moveSelectionUp();
-		} else if (button == downButton) {
-			moveSelectionDown();
-		}
-		handleTableSelectionChanged();
-		viewer.getTable().setFocus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
-	 */
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		Object element= event.getElement();
-		if (element instanceof ILaunchConfiguration) {
-			enableLaunchConfiguration((ILaunchConfiguration) element, event.getChecked());
-		} else if (element instanceof ICommand) {
-			enableCommand((ICommand)element, event.getChecked());
-		}
-	}
-
-	private void enableLaunchConfiguration(ILaunchConfiguration configuration, boolean enable) {
-		ILaunchConfigurationWorkingCopy workingCopy= null;
-		try {
-			if (configuration instanceof ILaunchConfigurationWorkingCopy) {
-				workingCopy = (ILaunchConfigurationWorkingCopy) configuration;
-			} else {
-				// Replace the config with a working copy
-				TableItem[] items= viewer.getTable().getItems();
-				for (int i = 0; i < items.length; i++) {
-					TableItem item = items[i];
-					if (item.getData() == configuration) {
-						workingCopy = configuration.getWorkingCopy();
-						item.setData(workingCopy);
-					}
-				}
-			}
-			if (workingCopy != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, enable);
-			}
-		} catch (CoreException e) {
-			return;
-		}
-		userHasMadeChanges= true;
-	}
-	
-	private void enableCommand(ICommand command, boolean enable) {
-		Map args= command.getArguments();
-		if (args == null) {
-			args= new HashMap(1);
-		}
-		args.put(COMMAND_ENABLED, Boolean.valueOf(enable));
-		command.setArguments(args);
-		userHasMadeChanges= true;
-	}
-
-	/**
-	 * The user has pressed the import button. Prompt them to select a
-	 * configuration to import from the workspace.
-	 */	
-	private void handleImportButtonPressed() {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		List toolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY);
-		List configurations= new ArrayList();
-		Iterator iter= toolTypes.iterator();
-		while (iter.hasNext()) {
-			try {
-				ILaunchConfiguration[] configs= manager.getLaunchConfigurations((ILaunchConfigurationType) iter.next());
-				for (int i = 0; i < configs.length; i++) {
-					configurations.add(configs[i]);	
-				}
-			} catch (CoreException e) {
-			}
-		}
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), new BuilderLabelProvider());
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.4")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.5")); //$NON-NLS-1$
-		dialog.setElements(configurations.toArray());
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		Object results[]= dialog.getResult();
-		if (results.length == 0) { //OK pressed with nothing selected
-			return;
-		}
-		ILaunchConfiguration config= (ILaunchConfiguration) results[0];
-		ILaunchConfiguration newConfig= null;
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-			newConfig= BuilderUtils.duplicateConfiguration(getInputProject(), config);
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		if (newConfig != null) {
-			userHasMadeChanges= true;
-			viewer.add(newConfig);
-			viewer.setChecked(newConfig, isEnabled(newConfig));
-			newConfigList.add(newConfig);
-		}
-	}
-	
-	/**
-	 * The user has pressed the remove button. Delete the selected builder.
-	 */
-	private void handleRemoveButtonPressed() {
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		if (selection != null) {
-			int numSelected= selection.size();
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList(numSelected);
-			}
-			userHasMadeChanges= true;
-			Iterator iterator= selection.iterator();
-			while (iterator.hasNext()) {
-				Object item= iterator.next();
-				if (item instanceof ILaunchConfiguration) {
-					configsToBeDeleted.add(item);
-					viewer.remove(item);
-				} else if (item instanceof ErrorConfig) {
-					viewer.remove(item);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * The user has pressed the new button. Create a new configuration and open
-	 * the launch configuration edit dialog on the new config.
-	 */
-	private void handleNewButtonPressed() {
-		ILaunchConfigurationType type = promptForConfigurationType();
-		if (type == null) {
-			return;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(ExternalToolsUIMessages.getString("BuilderPropertyPage.New_Builder_7")); //$NON-NLS-1$
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-			
-			StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
-			buffer.append(',');
-			buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
-			buffer.append(',');
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-			workingCopy.setAttribute(ExternalToolsMainTab.FIRST_EDIT, true);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			//needs to be added here in case the user hits apply in the edit dialog
-			//then we can correctly update the list with the new config.
-			newConfigList.add(config);
-			int code= editConfiguration(config);
-			if (code == Window.CANCEL) {
-				// If the user cancelled, delete the newly created config
-				newConfigList.remove(config);
-				config.delete();
-			} else {
-				userHasMadeChanges= true;
-				//retrieve the last "new" config
-				//may have been changed by the user pressing apply in the edit dialog
-				config= (ILaunchConfiguration)newConfigList.get(newConfigList.size() - 1);
-				viewer.add(config);
-				viewer.setChecked(config, isEnabled(config));
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Prompts the user to edit the given launch configuration. Returns the
-	 * return code from opening the launch configuration dialog.
-	 */
-	private int editConfiguration(ILaunchConfiguration config) {
-		ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-		manager.addLaunchConfigurationListener(configurationListener);
-		int code= DebugUITools.openLaunchConfigurationPropertiesDialog(getShell(), config, IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP);
-		manager.removeLaunchConfigurationListener(configurationListener);
-		return code;
-	}
-	
-	/**
-	 * Prompts the user to choose a launch configuration type to create and
-	 * returns the type the user selected or <code>null</code> if the user
-	 * cancelled.
-	 * 
-	 * @return the configuration type selected by the user or <code>null</code>
-	 * if the user cancelled.
-	 */
-	private ILaunchConfigurationType promptForConfigurationType() {
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new BuilderLabelProvider());
-		dialog.setElements(externalToolTypes.toArray());
-		dialog.setMultipleSelection(false);
-		dialog.setTitle(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_configuration_type_8")); //$NON-NLS-1$
-		dialog.setMessage(ExternalToolsUIMessages.getString("BuilderPropertyPage.Choose_an_external_tool_type_to_create_9")); //$NON-NLS-1$
-		dialog.open();
-		Object result[] = dialog.getResult();
-		if (result == null || result.length == 0) {
-			return null;
-		}
-		return (ILaunchConfigurationType) result[0];
-	}
-	
-	/**
-	 * Returns the launch configuration types of the given category
-	 */
-	private List getConfigurationTypes(String category) {
-		ILaunchConfigurationType types[] = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
-		List externalToolTypes = new ArrayList();
-		for (int i = 0; i < types.length; i++) {
-			ILaunchConfigurationType configurationType = types[i];
-			if (category.equals(configurationType.getCategory())) {
-				externalToolTypes.add(configurationType);
-			}
-		}
-		return externalToolTypes;
-	}
-	
-	/**
-	 * The user has pressed the edit button. Open the launch configuration edit
-	 * dialog on the selection after migrating the tool if necessary.
-	 */
-	private void handleEditButtonPressed() {
-		TableItem selection= viewer.getTable().getSelection()[0];
-		if (selection != null) {
-			Object data = selection.getData();
-			if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				if (BuilderUtils.isUnmigratedConfig(config)) {
-					if (!shouldProceedWithMigration()) {
-						return;
-					}
-					try {
-						config= BuilderUtils.migrateBuilderConfiguration(getInputProject(), (ILaunchConfigurationWorkingCopy) config);
-					} catch (CoreException e) {
-						handleException(e);
-						return;
-					}
-					// Replace the working copy in the table with the migrated configuration
-					selection.setData(config);
-				}
-				userHasMadeChanges= true;
-				boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-				try {
-					setAutobuild(false);
-					editConfiguration(config);
-				} catch (CoreException e) {
-					handleException(e);
-				} finally {
-					try {
-						setAutobuild(wasAutobuilding);
-					} catch (CoreException e) {
-						handleException(e);
-					}
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Prompts the user to proceed with the migration of a project builder from
-	 * the old format to the new, launch configuration-based, format and returns
-	 * whether or not the user wishes to proceed with the migration.
-	 * 
-	 * @return boolean whether or not the user wishes to proceed with migration
-	 */
-	private boolean shouldProceedWithMigration() {
-		if (!ExternalToolsPlugin.getDefault().getPreferenceStore().getBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION)) {
-			// User has asked not to be prompted
-			return true;
-		}
-		// Warn the user that editing an old config will cause storage migration.
-		MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(getShell(), 
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Migrate_project_builder_10"), //$NON-NLS-1$
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Not_Support"), //$NON-NLS-1$
-			ExternalToolsUIMessages.getString("BuilderPropertyPage.Prompt"), //$NON-NLS-1$
-			false,
-			ExternalToolsPlugin.getDefault().getPreferenceStore(), 
-			IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION);
-		return dialog.getReturnCode() == IDialogConstants.YES_ID;
-	}
-
-	/**
-	 * Handles unexpected internal exceptions
-	 */
-	private void handleException(Exception e) {
-		IStatus status;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			status = new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, ExternalToolsUIMessages.getString("BuilderPropertyPage.statusMessage"), e); //$NON-NLS-1$
-		}
-		ErrorDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.errorTitle"), //$NON-NLS-1$
-				ExternalToolsUIMessages.getString("BuilderPropertyPage.errorMessage"), //$NON-NLS-1$
-				status);
-	}
-
-	/**
-	 * The user has selected a different builder in table.
-	 * Update button enablement.
-	 */
-	private void handleTableSelectionChanged() {
-		newButton.setEnabled(true);
-		Table builderTable= viewer.getTable();
-		TableItem[] items = builderTable.getSelection();
-		boolean validSelection= items != null && items.length > 0;
-		boolean enableEdit= validSelection;
-		boolean enableRemove= validSelection;
-		boolean enableUp= validSelection;
-		boolean enableDown= validSelection;
-		if (validSelection) {
-			if (items.length > 1) {
-				enableEdit= false;
-			}
-			int indices[]= builderTable.getSelectionIndices();
-			int max = builderTable.getItemCount();
-			enableUp= indices[0] != 0;
-			enableDown= indices[indices.length - 1] < max - 1;
-			for (int i = 0; i < items.length; i++) {
-				TableItem item = items[i];
-				Object data= item.getData();
-				if (data instanceof ILaunchConfiguration) {
-					ILaunchConfiguration config= (ILaunchConfiguration)data;
-					String builderName= null;
-					try {
-						builderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					} catch (CoreException e) {
-					}
-					if (builderName != null) {
-						//do not allow "wrapped" builders to be removed or edited
-						enableEdit= false;
-						enableRemove= false;
-					}
-				} else {
-					enableEdit= false;
-					
-					if (data instanceof ErrorConfig) {
-						continue;
-					}
-					enableRemove= false;
-					break;
-				}
-			}
-		}
-		editButton.setEnabled(enableEdit);
-		removeButton.setEnabled(enableRemove);
-		upButton.setEnabled(enableUp);
-		downButton.setEnabled(enableDown);
-	}
-	
-	/**
-	 * Returns whether the given element (command or launch config)
-	 * is enabled.
-	 * 
-	 * @param element the element
-	 * @return whether the given element is enabled
-	 */
-	private boolean isEnabled(Object element) {
-		if (element instanceof ICommand) {
-			Boolean enabled= (Boolean)((ICommand) element).getArguments().get(COMMAND_ENABLED);
-			if (enabled != null) {
-				return enabled.booleanValue();
-			}
-		} else if (element instanceof ILaunchConfiguration) {
-			try {
-				return ExternalToolsUtil.isBuilderEnabled((ILaunchConfiguration) element);
-			} catch (CoreException e) {
-			}
-		} else if (element instanceof ErrorConfig) {
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Moves an entry in the builder table to the given index.
-	 */
-	private void move(TableItem item, int index) {
-		userHasMadeChanges= true;
-		Object data = item.getData();
-		item.dispose();
-		viewer.insert(data, index);
-		viewer.setChecked(data, isEnabled(data));
-	}
-
-	/**
-	 * Move the current selection in the build list down.
-	 */
-	private void moveSelectionDown() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		if (indices.length < 1) {
-			return;
-		}
-		int newSelection[]= new int[indices.length];
-		int max= builderTable.getItemCount() - 1;
-		for (int i = indices.length - 1; i >= 0; i--) {
-			int index= indices[i];
-			if (index < max) {
-				move (builderTable.getItem(index), index + 1);
-				newSelection[i]= index + 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/**
-	 * Move the current selection in the build list up.
-	 */
-	private void moveSelectionUp() {
-		Table builderTable= viewer.getTable();
-		int indices[]= builderTable.getSelectionIndices();
-		int newSelection[]= new int[indices.length];
-		for (int i = 0; i < indices.length; i++) {
-			int index= indices[i];
-			if (index > 0) {
-				move (builderTable.getItem(index), index - 1);
-				newSelection[i]= index - 1;
-			}
-		}
-		builderTable.setSelection(newSelection);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (!userHasMadeChanges) {
-			return super.performOk();
-		}
-		userHasMadeChanges= false;
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		final Object[] itemData= new Object[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			itemData[i]= builderTable.getItem(i).getData();
-		}
-		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-				doPerformOk(monitor, itemData);
-				if (monitor.isCanceled()) {
-					throw new InterruptedException();
-				}
-			}
-		};
-		
-		IProgressService service= PlatformUI.getWorkbench().getProgressService();
-		try {
-			service.busyCursorWhile(runnable);
-		} catch (InvocationTargetException e) {
-			return false;
-		} catch (InterruptedException e) {
-			return false;		
-		}
-		return super.performOk();
-	}
-	
-	private void doPerformOk(IProgressMonitor monitor, Object[] itemData) {
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		IProject project = getInputProject();
-		//get all the build commands
-		int numCommands = itemData.length;
-		monitor.beginTask(ExternalToolsUIMessages.getString("BuilderPropertyPage.3"), numCommands + 1); //$NON-NLS-1$
-		ICommand[] commands = new ICommand[numCommands];
-		for (int i = 0; i < numCommands; i++) {
-			Object data = itemData[i];
-			if (data instanceof ICommand) {
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				Boolean enabled= (Boolean)args.get(COMMAND_ENABLED);
-				if (enabled != null && enabled.equals(Boolean.FALSE)) {
-					ILaunchConfiguration config= disableCommand(command);
-					if (config != null) {
-						data= BuilderUtils.commandFromLaunchConfig(project,config);
-					}
-				} else {
-					args.remove(COMMAND_ENABLED);
-					command.setArguments(args);
-				}
-			} else if (data instanceof ILaunchConfiguration) {
-				ILaunchConfiguration config= (ILaunchConfiguration) data;
-				String disabledBuilderName;
-				try {
-					disabledBuilderName = config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-					if (disabledBuilderName != null && ExternalToolsUtil.isBuilderEnabled(config)) {
-						commands[i]= translateBackToCommand(config, project);
-						continue;
-					}
-				} catch (CoreException e1) {
-				}
-				
-				if (!BuilderUtils.isUnmigratedConfig(config) && (config instanceof ILaunchConfigurationWorkingCopy)) {
-					ILaunchConfigurationWorkingCopy workingCopy= ((ILaunchConfigurationWorkingCopy) config);
-					// Save any changes to the config (such as enable/disable)
-					if (workingCopy.isDirty()) {
-						try {
-							workingCopy.doSave();
-						} catch (CoreException e) {
-							MessageDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.39"), MessageFormat.format(ExternalToolsUIMessages.getString("BuilderPropertyPage.40"), new String[] {workingCopy.getName()})); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-					}
-				}
-				data= BuilderUtils.commandFromLaunchConfig(project, config);
-			} else if (data instanceof ErrorConfig) {
-				data= ((ErrorConfig) data).getCommand();
-			}
-			if (data != null) {
-				commands[i] = (ICommand) data;
-			}
-			monitor.worked(1);
-		}
-		
-		if (checkCommandsForChange(commands)) {
-			//set the build spec
-			try {
-				IProjectDescription desc = project.getDescription();
-				desc.setBuildSpec(commands);
-				project.setDescription(desc, IResource.FORCE, monitor);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		
-		if (configsToBeDeleted != null) {
-			deleteConfigurations();
-		}
-		monitor.done();
-	}
-	
-	/**
-	 * A non-external tool builder builder was disabled.
-	 * It has been re-enabled. Translate the disabled external tool builder launch configuration
-	 * wrapper back into the full fledged builder command.
-	 */
-	private ICommand translateBackToCommand(ILaunchConfiguration config, IProject project) {
-		try {
-			ICommand newCommand = project.getDescription().newCommand();
-			String builderName= config.getAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, (String)null);
-			Map args= config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, new HashMap(0));
-			
-			newCommand.setBuilderName(builderName);
-			newCommand.setArguments(args);
-			if (configsToBeDeleted == null) {
-				configsToBeDeleted= new ArrayList();
-			}
-			configsToBeDeleted.add(config);
-			return newCommand;
-		} catch (CoreException exception) {
-			MessageDialog.openError(getShell(), ExternalToolsUIMessages.getString("BuilderPropertyPage.13"), ExternalToolsUIMessages.getString("BuilderPropertyPage.error")); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-	}
-	
-	/**
-	 * Disables a builder by wrappering the builder command as a disabled external tool builder.
-	 * The details of the command is persisted in the launch configuration.
-	 */
-	private ILaunchConfiguration disableCommand(ICommand command) {
-		Map arguments= command.getArguments();
-		if (arguments != null) {
-			arguments.remove(COMMAND_ENABLED);
-		}
-		List externalToolTypes= getConfigurationTypes(IExternalToolConstants.ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY);
-		if (externalToolTypes.size() == 0) {
-			return null;
-		}
-		ILaunchConfigurationType type= (ILaunchConfigurationType)externalToolTypes.get(0);
-		if (type == null) {
-			return null;
-		}
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			String builderName = command.getBuilderName();
-			String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(builderName);
-			workingCopy = type.newInstance(BuilderUtils.getBuilderFolder(getInputProject(), true), name);		
-					
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_DISABLED_BUILDER, builderName);
-			if (arguments != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-			}
-			workingCopy.setAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, false);
-			ILaunchConfiguration config = null;
-			setAutobuild(false);
-			config = workingCopy.doSave();
-			return config;
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		return null;
-	}
-
-	private void deleteConfigurations() {
-		boolean wasAutobuilding= ResourcesPlugin.getWorkspace().getDescription().isAutoBuilding();
-		try {
-			setAutobuild(false);
-		
-			Iterator itr= configsToBeDeleted.iterator();
-			while (itr.hasNext()) {
-				ILaunchConfiguration element = (ILaunchConfiguration) itr.next();
-				element.delete();
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		} finally {
-			try {
-				setAutobuild(wasAutobuilding);
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-	}
-	
-	/**
-	 * Returns whether any of the commands have changed.
-	 */
-	private boolean checkCommandsForChange(ICommand[] newCommands) {
-		try {
-			ICommand[] oldCommands = getInputProject().getDescription().getBuildSpec();
-			if (oldCommands.length != newCommands.length) {
-				return true;
-			}
-			IgnoreWhiteSpaceComparator comparator= new IgnoreWhiteSpaceComparator();
-			for (int i = 0; i < oldCommands.length; i++) {
-				ICommand oldCommand = oldCommands[i];
-				ICommand newCommand= newCommands[i];
-				String oldName= oldCommand.getBuilderName();
-				String newName= newCommand.getBuilderName();
-				if (oldName == null && newName != null) {
-					return true;
-				}
-				
-				if(oldName != null && !oldName.equals(newName)) {
-					return true;
-				}
-				Map oldArgs= oldCommand.getArguments();
-				Map newArgs= newCommand.getArguments();
-				if (oldArgs == null && newArgs != null) {
-					return true;
-				}
-				if (oldArgs == null && newArgs == null) {
-					continue;
-				}
-				if(oldArgs.size() != newArgs.size()) {
-					return true;
-				}
-				Iterator keySet= oldArgs.keySet().iterator();
-				while (keySet.hasNext()) {
-					Object key = keySet.next();
-					Object oldArg= oldArgs.get(key);
-					Object newArg= newArgs.get(key);
-					if (oldArg instanceof String && newArg instanceof String) {
-						if (comparator.compare(oldArg, newArg) != 0) {
-							return true;
-						}
-					} else if (!oldArg.equals(newArg)){
-						return true;
-					}
-				}
-			}
-		} catch (CoreException ce) {
-			return true;
-		}
-		return false;	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		Iterator iter= newConfigList.iterator();
-		while (iter.hasNext()) {
-			try {
-				((ILaunchConfiguration) iter.next()).delete();
-			} catch (CoreException e) {
-				handleException(e);
-			}
-		}
-		try {
-			IFolder builderFolder= BuilderUtils.getBuilderFolder(getInputProject(), false);
-			if (builderFolder != null && builderFolder.exists() && builderFolder.members().length == 0) {
-				// All files in the builder folder were newly created. Clean up
-				builderFolder.delete(true, false, null);
-			}
-		} catch (CoreException e) {
-			handleException(e);
-		}
-		
-		//remove the local marking of the enabled state of the commands
-		Table builderTable= viewer.getTable();
-		int numCommands = builderTable.getItemCount();
-		for (int i = 0; i < numCommands; i++) {
-			Object data = builderTable.getItem(i).getData();
-			if (data instanceof ICommand) {
-				ICommand command= (ICommand)data;
-				Map args= command.getArguments();
-				args.remove(COMMAND_ENABLED);
-				command.setArguments(args);
-			}
-		}
-		return super.performCancel();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
deleted file mode 100644
index a13cba1..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.ui;
-
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.IPreferenceConstants;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-/**
- * Preference page that allows the user to customize external tools
- */
-public class ExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private Button promptForToolMigrationButton;
-	private Button promptForProjectMigrationButton;
-	
-	public ExternalToolsPreferencePage() {
-		setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore());
-		setDescription(ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.External_tool_project_builders_migration_2")); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		WorkbenchHelp.setHelp(parent, IExternalToolsHelpContextIds.EXTERNAL_TOOLS_PREFERENCE_PAGE);
-		//The main composite
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		composite.setLayout(layout);
-		composite.setFont(parent.getFont());
-				
-		promptForToolMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.Prompt_before_migrating_3"), IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION); //$NON-NLS-1$
-		promptForProjectMigrationButton= createCheckButton(composite, ExternalToolsUIMessages.getString("ExternalToolsPreferencePage.1"), IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION); //$NON-NLS-1$
-		
-		applyDialogFont(composite);
-		
-		return composite;
-	}
-	
-	/**
-	 * Returns a new check button with the given label for the given preference.
-	 */
-	private Button createCheckButton(Composite parent, String label, String preferenceKey) {
-		Button button= new Button(parent, SWT.CHECK | SWT.LEFT);
-		button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		button.setFont(parent.getFont());
-		button.setText(label);
-		button.setSelection(getPreferenceStore().getBoolean(preferenceKey));
-		return button;
-	}
-	
-	/**
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, promptForToolMigrationButton.getSelection());
-		getPreferenceStore().setValue(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, promptForProjectMigrationButton.getSelection());
-		return super.performOk();
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION));
-		promptForToolMigrationButton.setSelection(getPreferenceStore().getDefaultBoolean(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION));
-		super.performDefaults();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
deleted file mode 100644
index 576ea36..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public final class ExternalToolsUIMessages {
-	private static final String BUNDLE_NAME= "org.eclipse.ui.externaltools.internal.ui.ExternalToolsUIMessages"; //$NON-NLS-1$
-	
-	private static final ResourceBundle RESOURCE_BUNDLE =
-			ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsUIMessages(){
-		// prevent instantiation of class
-	}
-	
-	/**
-	 * Returns the message with the given key in
-	 * the resource bundle. If there isn't any value under
-	 * the given key, the key is returned.
-	 *
-	 * @param key the message name
-	 * @return the message
-	 */	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}	
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
deleted file mode 100644
index 40d32b4..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.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
-###############################################################################
-
-BuilderPropertyPage.description = Configure the builders for the &project:
-BuilderPropertyPage.newButton = &New...
-BuilderPropertyPage.editButton = &Edit...
-BuilderPropertyPage.removeButton = &Remove
-BuilderPropertyPage.upButton = &Up
-BuilderPropertyPage.downButton = &Down
-BuilderPropertyPage.statusMessage = Internal error
-BuilderPropertyPage.errorTitle = External Tool Builder Problem
-BuilderPropertyPage.errorMessage = Internal error
-BuilderPropertyPage.invalidBuildTool = Invalid External Tool Builder
-BuilderPropertyPage.missingBuilder = Missing builder ({0})
-BuilderPropertyPage.Exists=Builder launch configuration {0} no longer exists
-BuilderPropertyPage.External_Tool_Builder_{0}_Not_Added_2=External Tool Builder {0} Not Added
-BuilderPropertyPage.&Import..._3=&Import...
-BuilderPropertyPage.New_Builder_7=New_Builder
-BuilderPropertyPage.Choose_configuration_type_8=Choose configuration type
-BuilderPropertyPage.Choose_an_external_tool_type_to_create_9=&Choose an external tool type to create:
-BuilderPropertyPage.Migrate_project_builder_10=Migrate project builder
-BuilderPropertyPage.Not_Support=This project builder is stored in a format that is no longer supported. If you wish to edit this builder, it will first be migrated to a new format. If you proceed, this project builder will not be understood by installations using the old format.\n\nProceed with migration?
-BuilderPropertyPage.Prompt=&Do not prompt before migrating project builders
-BuilderPropertyPage.error=An error occurred while saving the project\'s build commands
-BuilderPropertyPage.0=Project Migration
-BuilderPropertyPage.2=&Do not prompt before migrating projects
-BuilderPropertyPage.1=This project stores its builders in a format that is no longer supported. If any changes are made, the project will be migrated to the new format which will not be understood by installations using the old format.\n\nProceed? (Selecting "No" will open the page read-only)
-BuilderPropertyPage.4=Import launch configuration
-BuilderPropertyPage.5=&Choose a launch configuration from the workspace to import.\nThis will create a copy of the selected configuration.
-BuilderPropertyPage.13=Command error
-BuilderPropertyPage.39=Error Saving Builder
-BuilderPropertyPage.3=Updating builders...
-BuilderPropertyPage.40=An exception occurred while attempting to save builder {0}
-
-FileSelectionDialog.Choose_Location_1=Choose Location
-FileSelectionDialog.Ok_2=Ok
-FileSelectionDialog.Cancel_3=Cancel
-
-ExternalToolsPreferencePage.External_tool_project_builders_migration_2=External tool project builders stored in an old format will be migrated to a new format when edited. Projects which store builders using an old format will be migrated whenever a change is made. Once migrated, project builders will not be understood by installations using these older formats.
-ExternalToolsPreferencePage.Prompt_before_migrating_3=&Confirm before migrating external tool project builders for edit
-ExternalToolsPreferencePage.1=C&onfirm before migrating projects to the new format
-
-ExternalToolMigration.37=An exception occurred accessing external tool\'s \"run in background\" attribute
-ExternalToolMigration.38=An exception occurred attempting to migrate external tool\'s \"run in background\" attribute
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
deleted file mode 100644
index b01d5d9..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.model.StringMatcher;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Dialog for selecting a file in the workspace. Derived from
- * org.eclipse.ui.dialogs.ResourceSelectionDialog
- */
-public class FileSelectionDialog extends MessageDialog {
-	// the root element to populate the viewer with
-	private IAdaptable root;
-
-	// the visual selection widget group
-	private TreeAndListGroup selectionGroup;
-	// constants
-	private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT = 300;
-	/**
-	 * The file(s) selected by the user.
-	 */
-	private IStructuredSelection result = null;
-	/**
-	 * String matcher used to filter content
-	 */
-	private StringMatcher stringMatcher = null;
-
-	private boolean allowMultiselection= false;
-	/**
-	 * Creates a resource selection dialog rooted at the given element.
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param rootElement
-	 *            the root element to populate this dialog with
-	 * @param message
-	 *            the message to be displayed at the top of this dialog, or
-	 *            <code>null</code> to display a default message
-	 */
-	public FileSelectionDialog(Shell parentShell, IAdaptable rootElement, String message) {
-		super(parentShell, ExternalToolsUIMessages.getString("FileSelectionDialog.Choose_Location_1"), null, message, MessageDialog.NONE, new String[] { ExternalToolsUIMessages.getString("FileSelectionDialog.Ok_2"), ExternalToolsUIMessages.getString("FileSelectionDialog.Cancel_3")}, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		root = rootElement;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	
-	/**
-	 * Limits the files displayed in this dialog to files matching the given
-	 * pattern. The string can be a filename or a regular expression containing
-	 * '*' for any series of characters or '?' for any single character.
-	 * 
-	 * @param pattern
-	 *            a pattern used to filter the displayed files or <code>null</code>
-	 *            to display all files. If a pattern is supplied, only files
-	 *            whose names match the given pattern will be available for
-	 *            selection.
-	 * @param ignoreCase
-	 *            if true, case is ignored. If the pattern argument is <code>null</code>,
-	 *            this argument is ignored.
-	 */
-	public void setFileFilter(String pattern, boolean ignoreCase) {
-		if (pattern != null) {
-			stringMatcher = new StringMatcher(pattern, ignoreCase, false);
-		} else {
-			stringMatcher = null;
-		}
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		WorkbenchHelp.setHelp(
-			shell,
-			IExternalToolsHelpContextIds.FILE_SELECTION_DIALOG);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		initializeDialog();
-	}
-	
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite = (Composite) super.createDialogArea(parent);
-
-		//create the input element, which has the root resource
-		//as its only child
-		selectionGroup =
-			new TreeAndListGroup(
-				composite,
-				root,
-				getResourceProvider(
-					IResource.FOLDER | IResource.PROJECT | IResource.ROOT),
-				new WorkbenchLabelProvider(),
-				getResourceProvider(IResource.FILE),
-				new WorkbenchLabelProvider(),
-				SWT.NONE,
-				// since this page has no other significantly-sized
-				// widgets we need to hardcode the combined widget's
-				// size, otherwise it will open too small
-				SIZING_SELECTION_WIDGET_WIDTH, SIZING_SELECTION_WIDGET_HEIGHT,
-				allowMultiselection);
-		
-		composite.addControlListener(new ControlListener() {
-			public void controlMoved(ControlEvent e) {
-			}
-			public void controlResized(ControlEvent e) {
-				//Also try and reset the size of the columns as appropriate
-				TableColumn[] columns =
-					selectionGroup.getListTable().getColumns();
-				for (int i = 0; i < columns.length; i++) {
-					columns[i].pack();
-				}
-			}
-		});
-
-		return composite;
-	}
-	/**
-	 * Returns a content provider for <code>IResource</code> s that returns
-	 * only children of the given resource type.
-	 */
-	private ITreeContentProvider getResourceProvider(final int resourceType) {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof IContainer) {
-					IResource[] members = null;
-					try {
-						members = ((IContainer) o).members();
-						List accessibleMembers = new ArrayList(members.length);
-						for (int i = 0; i < members.length; i++) {
-							IResource resource = members[i];
-							if (resource.isAccessible()) {
-								accessibleMembers.add(resource);
-							}
-						}
-						members =
-							(IResource[]) accessibleMembers.toArray(
-								new IResource[accessibleMembers.size()]);
-					} catch (CoreException e) {
-						//just return an empty set of children
-						return new Object[0];
-					}
-
-					//filter out the desired resource types
-					ArrayList results = new ArrayList();
-					for (int i = 0; i < members.length; i++) {
-						//And the test bits with the resource types to see if
-						// they are what we want
-						if ((members[i].getType() & resourceType) > 0) {
-							if (members[i].getType() == IResource.FILE
-								&& stringMatcher != null
-								&& !stringMatcher.match(members[i].getName())) {
-								continue;
-							}
-							results.add(members[i]);
-						}
-					}
-					return results.toArray();
-				}
-				
-				return new Object[0];
-			}
-		};
-	}
-	/**
-	 * Initializes this dialog's controls.
-	 */
-	private void initializeDialog() {
-		selectionGroup
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				getOkButton().setEnabled(
-					!selectionGroup.getListTableSelection().isEmpty());
-			}
-		});
-		selectionGroup.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				buttonPressed(IDialogConstants.OK_ID);
-			}
-		});
-
-		getOkButton().setEnabled(false);
-	}
-
-	/**
-	 * Returns this dialog's OK button.
-	 */
-	protected Button getOkButton() {
-		return getButton(0);
-	}
-	/**
-	 * Returns the file the user chose or <code>null</code> if none.
-	 */
-	public IStructuredSelection getResult() {
-		return result;
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			result= selectionGroup.getListTableSelection();
-		}
-		super.buttonPressed(buttonId);
-	}
-	/**
-	 * Sets whether this dialog will allow multi-selection.
-	 * Must be called before <code>open</code>
-	 * @param allowMultiselection whether to allow multi-selection in the dialog
-	 */
-	public void setAllowMultiselection(boolean allowMultiselection) {
-		this.allowMultiselection= allowMultiselection;
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
deleted file mode 100644
index 48f387a..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * This class was derived from org.eclipse.ui.internal.misc.CheckboxTreeAndListGroup
- *
- */
-public class TreeAndListGroup implements ISelectionChangedListener {
-	private Object root;
-	private Object currentTreeSelection;
-	private List selectionChangedListeners = new ArrayList();
-	private List doubleClickListeners= new ArrayList();
-
-	private ITreeContentProvider treeContentProvider;
-	private IStructuredContentProvider listContentProvider;
-	private ILabelProvider treeLabelProvider;
-	private ILabelProvider listLabelProvider;
-
-	// widgets
-	private TreeViewer treeViewer;
-	private TableViewer listViewer;
-	private boolean allowMultiselection= false;
-
-	/**
-	 *	Create an instance of this class.  Use this constructor if you wish to specify
-	 *	the width and/or height of the combined widget (to only hardcode one of the
-	 *	sizing dimensions, specify the other dimension's value as -1)
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param style int
-	 *  @param rootObject java.lang.Object
-	 *	@param width int
-	 *	@param height int
-	 *  @param allowMultiselection Whether to allow multi-selection in the list viewer.
-	 */
-	public TreeAndListGroup(Composite parent, Object rootObject, ITreeContentProvider treeContentProvider, ILabelProvider treeLabelProvider, IStructuredContentProvider listContentProvider, ILabelProvider listLabelProvider, int style, int width, int height, boolean allowMultiselection) {
-
-		root = rootObject;
-		this.treeContentProvider = treeContentProvider;
-		this.listContentProvider = listContentProvider;
-		this.treeLabelProvider = treeLabelProvider;
-		this.listLabelProvider = listLabelProvider;
-		this.allowMultiselection= allowMultiselection;
-		createContents(parent, width, height, style);
-	}
-	/**
-	 * This method must be called just before this window becomes visible.
-	 */
-	public void aboutToOpen() {
-		currentTreeSelection = null;
-
-		//select the first element in the list
-		Object[] elements = treeContentProvider.getElements(root);
-		Object primary = elements.length > 0 ? elements[0] : null;
-		if (primary != null) {
-			treeViewer.setSelection(new StructuredSelection(primary));
-		}
-		treeViewer.getControl().setFocus();
-	}
-	/**
-	 *	Add the passed listener to collection of clients
-	 *	that listen for changes to list viewer selection state
-	 *
-	 *	@param listener ISelectionChangedListener
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
-	
-	/**
-	 * Add the given listener to the collection of clients that listen to
-	 * double-click events in the list viewer
-	 * 
-	 * @param listener IDoubleClickListener
-	 */
-	public void addDoubleClickListener(IDoubleClickListener listener) {
-		doubleClickListeners.add(listener);
-	}
-
-	/**
-	 * Notify all selection listeners that a selection has occurred in the list
-	 * viewer
-	 */
-	protected void notifySelectionListeners(SelectionChangedEvent event) {
-		Iterator iter = selectionChangedListeners.iterator();
-		while (iter.hasNext()) {
-			 ((ISelectionChangedListener) iter.next()).selectionChanged(event);
-		}
-	}
-	
-	/**
-	 * Notify all double click listeners that a double click event has occurred
-	 * in the list viewer
-	 */
-	protected void notifyDoubleClickListeners(DoubleClickEvent event) {
-		Iterator iter= doubleClickListeners.iterator();
-		while (iter.hasNext()) {
-			((IDoubleClickListener) iter.next()).doubleClick(event);
-		}
-	}
-
-	/**
-	 *	Lay out and initialize self's visual components.
-	 *
-	 *	@param parent org.eclipse.swt.widgets.Composite
-	 *	@param width int
-	 *	@param height int
-	 */
-	protected void createContents(Composite parent, int width, int height, int style) {
-		// group pane
-		Composite composite = new Composite(parent, style);
-		composite.setFont(parent.getFont());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createTreeViewer(composite, width / 2, height);
-		createListViewer(composite, width / 2, height);
-
-		initialize();
-	}
-	/**
-	 *	Create this group's list viewer.
-	 */
-	protected void createListViewer(Composite parent, int width, int height) {
-		int style;
-		if (allowMultiselection) {
-			style= SWT.MULTI;
-		} else {
-			style= SWT.SINGLE;
-		}
-		listViewer = new TableViewer(parent, SWT.BORDER | style);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(parent.getFont());
-		listViewer.setContentProvider(listContentProvider);
-		listViewer.setLabelProvider(listLabelProvider);
-		listViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				notifySelectionListeners(event);
-			}
-		});
-		listViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty()) {
-					notifyDoubleClickListeners(event);
-				}
-			}
-		});
-	}
-	/**
-	 *	Create this group's tree viewer.
-	 */
-	protected void createTreeViewer(Composite parent, int width, int height) {
-		Tree tree = new Tree(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = width;
-		data.heightHint = height;
-		tree.setLayoutData(data);
-		tree.setFont(parent.getFont());
-
-		treeViewer = new TreeViewer(tree);
-		treeViewer.setContentProvider(treeContentProvider);
-		treeViewer.setLabelProvider(treeLabelProvider);
-		treeViewer.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		treeViewer.addSelectionChangedListener(this);
-	}
-	
-	public Table getListTable() {
-		return listViewer.getTable();
-	}
-	
-	public IStructuredSelection getListTableSelection() {
-		ISelection selection=  this.listViewer.getSelection();
-		if (selection instanceof IStructuredSelection) {
-			return (IStructuredSelection)selection;
-		} 
-		return StructuredSelection.EMPTY;
-	}
-	
-	protected void initialListItem(Object element) {
-		Object parent = treeContentProvider.getParent(element);
-		selectAndRevealFolder(parent);
-	}
-	
-	public void selectAndRevealFolder(Object treeElement) {
-		treeViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		treeViewer.setSelection(selection);
-	}
-	
-	public void selectAndRevealFile(Object treeElement) {
-		listViewer.reveal(treeElement);
-		IStructuredSelection selection = new StructuredSelection(treeElement);
-		listViewer.setSelection(selection);
-	}
-
-	/**
-	 *	Initialize this group's viewers after they have been laid out.
-	 */
-	protected void initialize() {
-		treeViewer.setInput(root);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-		Object selectedElement = selection.getFirstElement();
-		if (selectedElement == null) {
-			currentTreeSelection = null;
-			listViewer.setInput(currentTreeSelection);
-			return;
-		}
-
-		// ie.- if not an item deselection
-		if (selectedElement != currentTreeSelection) {
-			listViewer.setInput(selectedElement);
-		}
-
-		currentTreeSelection = selectedElement;
-	}
-	/**
-	 *	Set the list viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setListProviders(IStructuredContentProvider contentProvider, ILabelProvider labelProvider) {
-		listViewer.setContentProvider(contentProvider);
-		listViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's list viewer
-	 */
-	public void setListSorter(ViewerSorter sorter) {
-		listViewer.setSorter(sorter);
-	}
-	/**
-	 * Set the root of the widget to be new Root. Regenerate all of the tables and lists from this
-	 * value.
-	 * @param newRoot
-	 */
-	public void setRoot(Object newRoot) {
-		this.root = newRoot;
-		initialize();
-	}
-
-	/**
-	 *	Set the tree viewer's providers to those passed
-	 *
-	 *	@param contentProvider ITreeContentProvider
-	 *	@param labelProvider ILabelProvider
-	 */
-	public void setTreeProviders(ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
-		treeViewer.setContentProvider(contentProvider);
-		treeViewer.setLabelProvider(labelProvider);
-	}
-	/**
-	 *	Set the sorter that is to be applied to self's tree viewer
-	 */
-	public void setTreeSorter(ViewerSorter sorter) {
-		treeViewer.setSorter(sorter);
-	}
-
-	/**
-	 * Set the focus on to the list widget.
-	 */
-	public void setFocus() {
-
-		this.treeViewer.getTree().setFocus();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
deleted file mode 100644
index ac6fee7..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-
-public class BuildProjectResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.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= ExternalToolBuilder.getBuildProject();
-		if (argument != null && resource != null) {
-			resource = ((IProject)resource).findMember(new Path(argument));
-		}
-		if (resource != null && resource.exists()) {
-			return resource.getLocation().toOSString();
-		}
-		abort(MessageFormat.format(VariableMessages.getString("BuildProjectResolver.3"), new String[]{getReferenceExpression(variable, argument)}), null);	 //$NON-NLS-1$
-		return null;
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 *  
-	 * @param message exception message
-	 * @param exception underlying exception or <code>null</code> 
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable exception) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, message, exception));
-	}
-	
-	/**
-	 * Returns an expression used to reference the given variable and optional argument.
-	 * For example, <code>${var_name:arg}</code>.
-	 * 
-	 * @param variable referenced variable
-	 * @param argument referenced argument or <code>null</code>
-	 * @return vraiable reference expression
-	 */
-	protected String getReferenceExpression(IDynamicVariable variable, String argument) {
-		StringBuffer reference = new StringBuffer();
-		reference.append("${"); //$NON-NLS-1$
-		reference.append(variable.getName());
-		if (argument != null) {
-			reference.append(":"); //$NON-NLS-1$
-			reference.append(argument);
-		}
-		reference.append("}"); //$NON-NLS-1$
-		return reference.toString();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
deleted file mode 100644
index 8418aa5..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.variables;
-
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-
-
-public class BuildTypeResolver implements IDynamicVariableResolver {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
-	 */
-	public String resolveValue(IDynamicVariable variable, String argument) {
-			return ExternalToolBuilder.getBuildType();
-	}
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
deleted file mode 100644
index bdc20f6..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
+++ /dev/null
@@ -1,31 +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.externaltools.internal.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariableMessages {
-	
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.variables.VariableMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	
-	private VariableMessages() {
-	}
-	
-	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.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
deleted file mode 100644
index 5d9477d..0000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-
-BuildProjectResolver.3=Variable references non-existent resource : {0}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
deleted file mode 100644
index 2b19d3b..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-
-/**
- * Refreshes resources as specified by a launch configuration, when 
- * an associated process terminates.
- */
-public class BackgroundResourceRefresher implements IDebugEventSetListener  {
-
-	private ILaunchConfiguration fConfiguration;
-	private IProcess fProcess;
-	
-	public BackgroundResourceRefresher(ILaunchConfiguration configuration, IProcess process) {
-		fConfiguration = configuration;
-		fProcess = process;
-	}
-	
-	/**
-	 * If the process has already terminated, resource refreshing is done
-	 * immediately in the current thread. Otherwise, refreshing is done when the
-	 * process terminates.
-	 */
-	public void startBackgroundRefresh() {
-		synchronized (fProcess) {
-			if (fProcess.isTerminated()) {
-				refresh();
-			} else {
-				DebugPlugin.getDefault().addDebugEventListener(this);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public void handleDebugEvents(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent event = events[i];
-			if (event.getSource() == fProcess && event.getKind() == DebugEvent.TERMINATE) {
-				DebugPlugin.getDefault().removeDebugEventListener(this);
-				refresh();
-				break;
-			}
-		}
-	}
-	
-	/**
-	 * Submits a job to do the refresh
-	 */
-	protected void refresh() {
-		Job job= new Job(ExternalToolsProgramMessages.getString("BackgroundResourceRefresher.0")) { //$NON-NLS-1$
-			public IStatus run(IProgressMonitor monitor) {
-				try {
-					RefreshTab.refreshResources(fConfiguration, monitor);
-				} catch (CoreException e) {
-					ExternalToolsPlugin.getDefault().log(e);
-					return e.getStatus();
-				}	
-				return Status.OK_STATUS;
-			}
-		};
-		job.schedule();
-	}
-}
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
deleted file mode 100644
index ae2e9cc..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsProgramMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.program.launchConfigurations.ExternalToolsProgramMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private ExternalToolsProgramMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
deleted file mode 100644
index 0e39f03..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-BackgroundResourceRefresher.0=Refreshing resources...
-
-ProgramLaunchDelegate.Workbench_Closing_1=Workbench Closing
-ProgramLaunchDelegate.The_workbench_is_exiting=The workbench is exiting and a program launched from an external tool appears to still be running. These programs will be terminated when the workbench exits. It is recommended that you exit any external programs launched from the workbench before you proceed.\n\nClick OK to continue exiting the workbench.
-ProgramLaunchDelegate.3=Running {0}...
-ProgramLaunchDelegate.4=An IProcess could not be created for the launch
-
-ProgramMainTab.Select=&Select a program:
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
deleted file mode 100644
index 88012dd..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsBuilderTab;
-
-public class ProgramBuilderTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new ExternalToolsBuilderTab(),
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
deleted file mode 100644
index 5651139..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243)
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Launch delegate for a program.
- */
-public class ProgramLaunchDelegate implements ILaunchConfigurationDelegate {
-
-	private static IWindowListener windowListener;
-
-	/**
-	 * A window listener that warns the user about any running programs when
-	 * the workbench closes. Programs are killed when the VM exits.
-	 */
-	private class ProgramLaunchWindowListener implements IWindowListener {
-		public void windowActivated(IWorkbenchWindow window) {
-		}
-		public void windowDeactivated(IWorkbenchWindow window) {
-		}
-		public void windowClosed(IWorkbenchWindow window) {
-			IWorkbenchWindow windows[]= PlatformUI.getWorkbench().getWorkbenchWindows();
-			if (windows.length > 1) {
-				// There are more windows still open.
-				return;
-			}
-			ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType programType= manager.getLaunchConfigurationType(IExternalToolConstants.ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE);
-			if (programType == null) {
-				return;
-			}
-			ILaunch launches[]= manager.getLaunches();
-			ILaunchConfigurationType configType;
-			ILaunchConfiguration config;
-			for (int i = 0; i < launches.length; i++) {
-				try {
-					config= launches[i].getLaunchConfiguration();
-					if (config == null) {
-						continue;
-					}
-					configType= config.getType();
-				} catch (CoreException e) {
-					continue;
-				}
-				if (configType.equals(programType)) {
-					if (!launches[i].isTerminated()) {
-						MessageDialog.openWarning(window.getShell(), ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.Workbench_Closing_1"), ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.The_workbench_is_exiting")); //$NON-NLS-1$ //$NON-NLS-2$
-						break;
-					}
-				}
-			}
-		}
-		public void windowOpened(IWorkbenchWindow window) {
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve location
-		IPath location = ExternalToolsUtil.getLocation(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}		
-		
-		// resolve working directory
-		IPath workingDirectory = ExternalToolsUtil.getWorkingDirectory(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		// resolve arguments
-		String[] arguments = ExternalToolsUtil.getArguments(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		int cmdLineLength = 1;
-		if (arguments != null) {
-			cmdLineLength += arguments.length;
-		}
-		String[] cmdLine = new String[cmdLineLength];
-		cmdLine[0] = location.toOSString();
-		if (arguments != null) {
-			System.arraycopy(arguments, 0, cmdLine, 1, arguments.length);
-		}
-		
-		File workingDir = null;
-		if (workingDirectory != null) {
-			workingDir = workingDirectory.toFile();
-		}
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		String[] envp = DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		if (windowListener == null) {
-			windowListener= new ProgramLaunchWindowListener();
-			PlatformUI.getWorkbench().addWindowListener(windowListener);
-		}
-		Process p = DebugPlugin.exec(cmdLine, workingDir, envp);
-		IProcess process = null;
-		
-		// add process type to process attributes
-		Map processAttributes = new HashMap();
-		String programName = location.lastSegment();
-		String extension = location.getFileExtension();
-		if (extension != null) {
-			programName = programName.substring(0, programName.length() - (extension.length() + 1));
-		}
-		programName = programName.toLowerCase();
-		processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName);
-		
-		if (p != null) {
-			monitor.beginTask(MessageFormat.format(ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.3"), new String[] {configuration.getName()}), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-			process = DebugPlugin.newProcess(launch, p, location.toOSString(), processAttributes);
-			if (process == null) {
-				p.destroy();
-				throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.ERR_INTERNAL_ERROR, ExternalToolsProgramMessages.getString("ProgramLaunchDelegate.4"), null)); //$NON-NLS-1$
-			}
-			
-		}
-		process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(cmdLine));
-		
-		if (CommonTab.isLaunchInBackground(configuration)) {
-			// refresh resources after process finishes
-			if (RefreshTab.getRefreshScope(configuration) != null) {
-				BackgroundResourceRefresher refresher = new BackgroundResourceRefresher(configuration, process);
-				refresher.startBackgroundRefresh();
-			}				
-		} else {
-			// wait for process to exit
-			while (!process.isTerminated()) {
-				try {
-					if (monitor.isCanceled()) {
-						process.terminate();
-						break;
-					}
-					Thread.sleep(50);
-				} catch (InterruptedException e) {
-				}
-			}
-			
-			// refresh resources
-			RefreshTab.refreshResources(configuration, monitor);
-		}
-	}
-	
-	private String generateCommandLine(String[] commandLine) {
-		if (commandLine.length < 1)
-			return ""; //$NON-NLS-1$
-		StringBuffer buf= new StringBuffer();
-		for (int i= 0; i < commandLine.length; i++) {
-			buf.append(' ');
-			char[] characters= commandLine[i].toCharArray();
-			StringBuffer command= new StringBuffer();
-			boolean containsSpace= false;
-			for (int j = 0; j < characters.length; j++) {
-				char character= characters[j];
-				if (character == '\"') {
-					command.append('\\');
-				} else if (character == ' ') {
-					containsSpace = true;
-				}
-				command.append(character);
-			}
-			if (containsSpace) {
-				buf.append('\"');
-				buf.append(command);
-				buf.append('\"');
-			} else {
-				buf.append(command);
-			}
-		}	
-		return buf.toString();
-	}	
-	
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
deleted file mode 100644
index 14db303..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.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.ui.externaltools.internal.program.launchConfigurations;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.externaltools.internal.ui.FileSelectionDialog;
-import org.eclipse.ui.help.WorkbenchHelp;
-
-public class ProgramMainTab extends ExternalToolsMainTab {
-
-	/**
-	 * Prompts the user for a program location within the workspace and sets the
-	 * location as a String containing the workspace_loc variable or
-	 * <code>null</code> if no location was obtained from the user.
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		FileSelectionDialog dialog;
-		dialog = new FileSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsProgramMessages.getString("ProgramMainTab.Select")); //$NON-NLS-1$
-		dialog.open();
-		IStructuredSelection result = dialog.getResult();
-		if (result == null) {
-			return;
-		}
-		Object file= result.getFirstElement();
-		if (file instanceof IFile) {
-			StringBuffer expression = new StringBuffer();
-			expression.append("${workspace_loc:"); //$NON-NLS-1$
-			expression.append(((IFile)file).getFullPath().toString());
-			expression.append("}"); //$NON-NLS-1$
-			locationField.setText(expression.toString());
-		}
-	}
-	
-	
-   	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_PROGRAM_MAIN_TAB);
-	}
-	
-}
diff --git a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java b/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
deleted file mode 100644
index 188678f..0000000
--- a/org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.program.launchConfigurations;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-
-public class ProgramTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
-			new ProgramMainTab(),
-			new RefreshTab(),
-			new EnvironmentTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-}
diff --git a/org.eclipse.ui.externaltools/about.html b/org.eclipse.ui.externaltools/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/org.eclipse.ui.externaltools/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>20th June, 2002</p>	
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License.  In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/build.properties b/org.eclipse.ui.externaltools/build.properties
deleted file mode 100644
index 6bd0c1e..0000000
--- a/org.eclipse.ui.externaltools/build.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.externaltools.jar = External Tools Base/,\
-				Program Tools Support/
-
-src.includes=about.html
-
-bin.includes = icons/,\
-		.options,\
-		plugin.properties,\
-		plugin.xml,\
-		about.html,\
-		*.jar,\
-				
-jars.compile.order=externaltools.jar
-jars.extra.classpath=../org.apache.ant/ant.jar
diff --git a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml b/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
deleted file mode 100644
index 99aa388..0000000
--- a/org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.externaltools Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export externaltools" default="export" basedir="..">
-
-	<!-- Set the timestamp and important properties -->
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../plugin-export" />
-		<property name="dest"  value="${destdir}/org.eclipse.ui.externaltools_3.0.0" />
-	</target>
-
-	<!-- Create the jar of .class files, and copy other important files to export dir -->
-	<target name="export" depends="init">
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-		<jar jarfile="${dest}/externaltools.jar">
-			<fileset dir="bin">
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip zipfile="${dest}/externaltoolssrc.zip">
-			<fileset dir="External Tools Base"/>
-			<fileset dir="Program Tools Support"/>
-		</zip>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-	
-</project>
diff --git a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
deleted file mode 100644
index 4122d9a..0000000
--- a/org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif b/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
deleted file mode 100644
index 903bbec..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif b/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
deleted file mode 100644
index cb55e33..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif b/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif b/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif b/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
deleted file mode 100644
index 0193dbe..0000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif b/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
deleted file mode 100644
index 38a9ab9..0000000
--- a/org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/plugin.properties b/org.eclipse.ui.externaltools/plugin.properties
deleted file mode 100644
index ba0bcac..0000000
--- a/org.eclipse.ui.externaltools/plugin.properties
+++ /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
-###############################################################################
-
-Plugin.name = External Tools
-Plugin.providerName = Eclipse.org
-
-build_type.description= Returns the type of build being performed - "incremental", "full", "auto", or "none".
-build_project.description= Returns the absolute file system path of the project currently being built, or the absolute file system path of the resource identified by an optional argument interpreted as a path relative to the project currently being built.
-
-ExtPoint.configurationDuplicationMaps = Launch Configuration Duplication Maps
-ExtPoint.toolTypes = External Tool Types
-ExtPoint.refreshVariables = Refresh Scope Variables
-ExternalToolsLaunchGroup.label = &External Tools
-Menu.run = &Run
-ActionSet.externalTools = External Tools
-Action.externalTools = &External Tools
-Action.externalToolsTip = Run Last Tool
-PropertyPage.main = Main
-PropertyPage.option = Options
-PropertyPage.refresh = Refresh Scope
-PropertyPage.antTargets = Targets
-PropertyPage.externalToolsBuilders = Builders
-
-Builder.externalTools = Integrated External Tool Builder
-View.externalToolView = External Tools
-PreferencePage.externalToolsPreferences = External Tools
-
-Program.externalTools = Program
-programLaunchConfigurationTabGroup.description=Create a configuration that will run a program.
-programBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run a program during builds.
-
-ActionDefinition.externalToolMenuDelegateToolbar.name=Run Last Launched External Tool
-ActionDefinition.externalToolMenuDelegateToolbar.description=Runs the last launched external Tool
\ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/plugin.xml b/org.eclipse.ui.externaltools/plugin.xml
deleted file mode 100644
index 2b19993..0000000
--- a/org.eclipse.ui.externaltools/plugin.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ui.externaltools"
-   name="%Plugin.name"
-   version="3.0.0"
-   provider-name="%Plugin.providerName"
-   class="org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin">
-
-   <runtime>
-      <library name="externaltools.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-<!-- For internal use only. Not to be extended. -->
-   <extension-point id="configurationDuplicationMaps" name="%ExtPoint.configurationDuplicationMaps"  schema="schema/configurationDuplicationMaps.exsd"/>
-
-<!-- UI extensions -->
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%ActionSet.externalTools"
-            visible="true"
-            id="org.eclipse.ui.externaltools.ExternalToolsSet">
-         <menu
-               label="%Menu.run"
-               path="additions"
-               id="org.eclipse.ui.run">
-            <separator
-                  name="ExternalToolsGroup">
-            </separator>
-         </menu>
-         <action
-               label="%Action.externalTools"
-               pulldown="true"
-               icon="icons/full/obj16/external_tools.gif"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               menubarPath="org.eclipse.ui.run/ExternalToolsGroup"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateMenu">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-               label="%Action.externalTools"
-               pulldown="true"
-               icon="icons/full/obj16/external_tools.gif"
-               tooltip="%Action.externalToolsTip"
-               class="org.eclipse.ui.externaltools.internal.menu.ExternalToolMenuDelegate"
-               toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"
-               id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ActionDefinition.externalToolMenuDelegateToolbar.name"
-            description="%ActionDefinition.externalToolMenuDelegateToolbar.description"
-            category="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar">
-      </command>
-      <keyBinding
-            string=""
-            scope="org.eclipse.ui.globalScope"
-            command="org.eclipse.ui.externaltools.ExternalToolMenuDelegateToolbar"
-            configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.externalToolsPreferences"
-            category="org.eclipse.debug.ui.DebugPreferencePage"
-            class="org.eclipse.ui.externaltools.internal.ui.ExternalToolsPreferencePage"
-            id="org.eclipse.ui.externaltools.ExternalToolsPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            name="%PropertyPage.externalToolsBuilders"
-            class="org.eclipse.ui.externaltools.internal.ui.BuilderPropertyPage"
-            id="org.eclipse.ui.externaltools.propertypages.BuilderPropertyPage">
-         <filter
-               name="open"
-               value="true">
-         </filter>
-      </page>
-   </extension>
-   <extension
-         id="ExternalToolBuilder"
-         name="%Builder.externalTools"
-         point="org.eclipse.core.resources.builders">
-      <builder>
-         <run
-               class="org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder">
-         </run>
-      </builder>
-   </extension>
-<!-- Launch Configuration Extensions -->
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-      </launchConfigurationType>
-      <launchConfigurationType
-            name="%Program.externalTools"
-            delegate="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramLaunchDelegate"
-            category="org.eclipse.ui.externaltools.builder"
-            modes="run"
-            id="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.ui.externaltools.configurationDuplicationMaps">
-      <configurationMap
-            sourceType="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            builderType="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-      </configurationMap>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            description="%programLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program">
-      </launchConfigurationTabGroup>
-      <launchConfigurationTabGroup
-            type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            description="%programBuilderLaunchConfigurationTabGroup.description"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.program_builder"
-            class="org.eclipse.ui.externaltools.internal.program.launchConfigurations.ProgramBuilderTabGroup"
-            id="org.eclipse.ui.externaltools.launchConfigurationTabGroup.program.builder">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program">
-      </launchConfigurationTypeImage>
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/external_tools.gif"
-            configTypeID="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"
-            id="org.eclipse.ui.externaltools.launchConfigurationTypeImage.program.builder">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchGroups">
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools"
-            image="icons/full/obj16/external_tools.gif"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup">
-      </launchGroup>
-      <launchGroup
-            label="%ExternalToolsLaunchGroup.label"
-            bannerImage="icons/full/wizban/ext_tools_wiz.gif"
-            category="org.eclipse.ui.externaltools.builder"
-            image="icons/full/obj16/external_tools.gif"
-            public="false"
-            mode="run"
-            id="org.eclipse.ui.externaltools.launchGroup.builder">
-      </launchGroup>
-   </extension>
-<!-- Dynamic (String Substitution) Variables -->	
-   <extension
-         point="org.eclipse.core.variables.dynamicVariables">
-      <variable
-            name="build_type"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildTypeResolver"
-            description="%build_type.description"
-            supportsArgument="false">
-      </variable>
-       <variable
-            name="build_project"
-            resolver="org.eclipse.ui.externaltools.internal.variables.BuildProjectResolver"
-            description="%build_project.description">
-      </variable>   
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationComparators">
-      <launchConfigurationComparator
-            attribute="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE"
-            class="org.eclipse.ui.externaltools.internal.launchConfigurations.WorkingSetComparator"
-            id="org.eclipse.ui.externaltools.workingSetComparator">
-      </launchConfigurationComparator>
-   </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd b/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
deleted file mode 100644
index e51ff2f..0000000
--- a/org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.externaltools">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.externaltools" id="configurationDuplicationMaps" name="Configuration Duplication Maps"/>
-      </appInfo>
-      <documentation>
-This is an internal extension point to declare the launch configuration type that
-should be created when duplicating an existing configuration as a project builder.
-
-Clients are not intended to use this extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="configurationMap" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-   
-   <element name="configurationMap">
-      <complexType>
-         <attribute name="sourceType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type for which this mapping is provided
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="builderType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  specifies the identifier of the launch configuration type which should be created when a configuration of type "sourceType" is imported to be a project builder
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-The following example specifies that when the user chooses to import a launch configuration
-of the type &quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;, a new launch
-configuration of the type&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;
-should be created.
-
-&lt;extension
-      point=&quot;org.eclipse.ui.externaltools.configurationDuplicationMaps&quot;&gt;
-   &lt;configurationMap
-         sourceType=&quot;org.eclipse.ui.externaltools.ProgramLaunchConfigurationType&quot;
-         builderType=&quot;org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType&quot;&gt;
-   &lt;/configurationMap&gt;
-&lt;/extension&gt;
-      </documentation>
-   </annotation>
-   
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-      
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         &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>